Annotation of XNU/bsd/hfs/hfscommon/headers/HFSInstrumentation.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
                      3:  *
                      4:  * @APPLE_LICENSE_HEADER_START@
                      5:  * 
                      6:  * The contents of this file constitute Original Code as defined in and
                      7:  * are subject to the Apple Public Source License Version 1.1 (the
                      8:  * "License").  You may not use this file except in compliance with the
                      9:  * License.  Please obtain a copy of the License at
                     10:  * http://www.apple.com/publicsource and read it before using this file.
                     11:  * 
                     12:  * This Original Code and all software distributed under the License are
                     13:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
                     14:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
                     15:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
                     16:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
                     17:  * License for the specific language governing rights and limitations
                     18:  * under the License.
                     19:  * 
                     20:  * @APPLE_LICENSE_HEADER_END@
                     21:  */
                     22: /*
                     23:        File:           HFSInstrumentation.h
                     24: 
                     25:        Contains:       xxx put contents here xxx
                     26: 
                     27:        Version:        xxx put version here xxx
                     28: 
                     29:        Copyright:      � 1997 by Apple Computer, Inc., all rights reserved.
                     30: 
                     31:        File Ownership:
                     32: 
                     33:                DRI:                            xxx put dri here xxx
                     34: 
                     35:                Other Contact:          xxx put other contact here xxx
                     36: 
                     37:                Technology:                     xxx put technology here xxx
                     38: 
                     39:        Writers:
                     40: 
                     41:                (DSH)   Deric Horn
                     42:                (djb)   Don Brady
                     43: 
                     44:        Change History (most recent first):
                     45: 
                     46:           <CS6>         10/1/97        djb             Add kGetCatalogIterator
                     47:           <CS5>          9/4/97        djb             Add kTraceRelString, kHeuristicHint.
                     48:           <CS4>         7/24/97        djb             Add summary traces for GetNode, RelNode, and BasicIO.
                     49:           <CS3>         7/21/97        djb             Redefine LogStartTime/LogEndTime macros.
                     50:           <CS2>         7/16/97        DSH             FilesInternal.i renamed FileMgrInternal.i to avoid name
                     51:                                                                        collision
                     52:           <CS1>          5/9/97        djb             first checked in
                     53: */
                     54: 
                     55: #include "../../hfs_macos_defs.h"
                     56: #include "FileMgrInternal.h"
                     57: 
                     58: 
                     59: //
                     60: // Instrumentation summary trace indicies
                     61: //
                     62: enum {
                     63:        // Unicode routines
                     64:        kTraceUnicodeToPString,
                     65:        kTracePStringToUnicode,
                     66:        kTraceUnicodeCompare,
                     67:        
                     68:        kTraceRelString,
                     69: 
                     70:        // B-tree routines
                     71:        kTraceOpenBTree,
                     72:        kTraceCloseBTree,
                     73:        kTraceFlushBTree,
                     74:        kTraceSearchBTree,
                     75:        kTraceGetBTreeRecord,
                     76:        kTraceInsertBTreeRecord,
                     77:        kTraceDeleteBTreeRecord,
                     78:        kTraceReplaceBTreeRecord,
                     79:        
                     80:        // Misc routines
                     81:        kTraceMapFileBlock,
                     82:        kTraceBlockAllocate,
                     83: 
                     84:        kTraceGetNode,
                     85:        kTraceReleaseNode,
                     86:        kTraceBasicIO,
                     87:        kTraceFSRead,
                     88:        kHeuristicHint,
                     89:        kGetCatalogIterator,
                     90: 
                     91:        
                     92:        kSummaryTraceRefs       // number of summary trace references
                     93: };
                     94: 
                     95: 
                     96: void STLogStartTime(UInt32 selector);
                     97: void STLogEndTime(UInt32 selector, OSErr error);
                     98: 
                     99: 
                    100: /*
                    101: MACRO
                    102:        LogStartTime(selector)
                    103: 
                    104: DESCRIPTION
                    105:        If summary traces are enabled then LogStartTime will record the starting time for
                    106:        the routine associated with the selector. Otherwise LogStartTime does nothing.
                    107: 
                    108: */
                    109: 
                    110: #if hasSummaryTraces
                    111: 
                    112: #define        LogStartTime(selector)                  STLogStartTime( (selector) )
                    113: 
                    114: #else
                    115: 
                    116: #define        LogStartTime(selector)                  ((void) 0)
                    117: 
                    118: #endif
                    119: 
                    120: 
                    121: 
                    122: /*
                    123: MACRO
                    124:        LogEndTime(selector, error)
                    125: 
                    126: DESCRIPTION
                    127:        If summary traces are enabled then InsLogEndTime will record the ending time for
                    128:        the routine associated with the selector. Otherwise LogEndTime does nothing.
                    129: 
                    130: */
                    131: 
                    132: #if hasSummaryTraces
                    133: 
                    134: #define LogEndTime(selector,error)             STLogEndTime( (selector), (error) )
                    135: 
                    136: #else
                    137: 
                    138: #define LogEndTime(selector,error)             ((void) 0)
                    139: 
                    140: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.