|
|
1.1 root 1: /*++
2:
3: Copyright (c) 1991 Microsoft Corporation
4:
5: Module Name:
6:
7: debugapi.h
8:
9: Abstract:
10:
11: STREAMS debugging declarations
12:
13: Author:
14:
15: Mike Massa (mikemas) March 7, 1992
16:
17: Revision History:
18:
19: Who When What
20: -------- -------- ----------------------------------------------
21: mikemas 03-07-92 created
22:
23: Notes:
24:
25: --*/
26:
27: #if DBG
28:
29:
30: #ifndef _DEBUGAPI_INCLUDED_
31: #define _DEBUGAPI_INCLUDED_
32:
33:
34: //
35: // Definitions for STREAMS buffer tracing facility
36: ///
37:
38: //
39: // STREAMS Message Type Map Structure
40: //
41: typedef struct _strm_msg_type_map {
42: unsigned char MsgType; // mp->b_datap->db_type
43: char *MsgTypeString; // human-readable msg type string
44: BOOLEAN HasSubType; // Does the message have a subtype?
45: } STRM_MSG_TYPE_MAP, *PSTRM_MSG_TYPE_MAP;
46:
47:
48: //
49: // STREAMS Message SubType Map Structure
50: //
51: typedef struct _strm_msg_subtype_map {
52: int MsgSubType; // mp->b_rptr by convention
53: char *MsgSubTypeString; // human-readable msg type string
54: } STRM_MSG_SUBTYPE_MAP, *PSTRM_MSG_SUBTYPE_MAP;
55:
56:
57: //
58: // Debug APIs
59: //
60: #define allocb(sz, pri) StrmAllocb(sz, pri, __LINE__, __FILE__)
61:
62: mblk_t *
63: StrmAllocb(
64: IN int sz,
65: IN unsigned int pri,
66: IN int line,
67: IN char *file
68: );
69:
70: #define copyb(mp) StrmCopyb(mp, __LINE__, __FILE__)
71:
72: mblk_t *
73: StrmCopyb(
74: IN mblk_t *bp,
75: IN int line,
76: IN char *file
77: );
78:
79: #define copymsg(mp) StrmCopymsg(mp, __LINE__, __FILE__)
80:
81: mblk_t *
82: StrmCopymsg(
83: IN mblk_t *bp,
84: IN int line,
85: IN char *file
86: );
87:
88: #define dupb(mp) StrmDupb(mp, __LINE__, __FILE__)
89:
90: mblk_t *
91: StrmDupb(
92: IN mblk_t *bp,
93: IN int line,
94: IN char *file
95: );
96:
97: #define dupmsg(mp) StrmDupmsg(mp, __LINE__, __FILE__)
98:
99: mblk_t *
100: StrmDupmsg(
101: IN mblk_t *bp,
102: IN int line,
103: IN char *file
104: );
105:
106: #define esballoc(base, sz, pri, fr_rtnp) StrmEsballoc(base, sz, pri, fr_rtnp, \
107: __LINE__, __FILE__)
108:
109: mblk_t *
110: StrmEsballoc(
111: IN unsigned char *base,
112: IN int sz,
113: IN int pri,
114: IN frtn_t *fr_rtnp,
115: IN int line,
116: IN char *file
117: );
118:
119:
120: #define freeb(mp) StrmFreeb(mp, __LINE__, __FILE__)
121:
122: void
123: StrmFreeb(
124: IN mblk_t *mp,
125: IN int line,
126: IN char *file
127: );
128:
129: #define freemsg(mp) StrmFreemsg(mp, __LINE__, __FILE__)
130:
131: void
132: StrmFreemsg(
133: IN mblk_t *mp,
134: IN int line,
135: IN char *file
136: );
137:
138:
139: VOID
140: StrmAcquireSpinLock(
141: IN PKSPIN_LOCK PSpinLock,
142: OUT PKIRQL POldIrql,
143: IN int Line,
144: IN char *File
145: );
146:
147: VOID
148: StrmReleaseSpinLock(
149: IN PKSPIN_LOCK PSpinLock,
150: IN KIRQL OldIrql,
151: IN int Line,
152: IN char *File
153: );
154:
155: VOID
156: StrmFlushMsgTraceTable(
157: VOID
158: );
159:
160: int
161: StrmInsertMsgTypeMapEntries(
162: IN PSTRM_MSG_TYPE_MAP MsgTypeMapArray,
163: IN unsigned long NumEntries
164: );
165:
166: int
167: StrmInsertMsgSubTypeMapEntries(
168: IN PSTRM_MSG_SUBTYPE_MAP MsgSubTypeMapArray,
169: IN unsigned long NumEntries
170: );
171:
172: VOID
173: StrmListOutstandingMsgBuffers(
174: VOID
175: );
176:
177:
178: #endif // _DEBUGAPI_INCLUDED_
179:
180:
181: #endif //DBG
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.