|
|
1.1 root 1: /*++ BUILD Version: 0001 // Increment this if a change has global effects
2:
3: Copyright (c) 1991-1993 Microsoft Corporation
4:
5: Module Name:
6:
7: lmchdev.h
8:
9: Abstract:
10:
11: This module defines the API function prototypes and data structures
12: for the following groups of NT API functions:
13: NetCharDev
14: NetCharDevQ
15: NetHandle
16:
17: Author:
18:
19: Dan Lafferty (danl) 11-Mar-1991
20:
21: [Environment:]
22:
23: User Mode - Win32
24:
25: [Notes:]
26:
27: You must include NETCONS.H before this file, since this file depends
28: on values defined in NETCONS.H.
29:
30: Revision History:
31:
32: 11-Mar-1991 Danl
33: Created from LM2.0 header files and NT-LAN API Spec.
34: 14-Apr-1991 w-shanku
35: Changed ParmNum constants to be more consistent with OS/2 parmnums.
36:
37: --*/
38:
39: #ifndef _LMCHDEV_
40: #define _LMCHDEV_
41:
42: #ifdef __cplusplus
43: extern "C" {
44: #endif
45:
46: //
47: // CharDev Class
48: //
49:
50: //
51: // Function Prototypes - CharDev
52: //
53:
54: NET_API_STATUS NET_API_FUNCTION
55: NetCharDevEnum (
56: IN LPTSTR servername,
57: IN DWORD level,
58: OUT LPBYTE *bufptr,
59: IN DWORD prefmaxlen,
60: OUT LPDWORD entriesread,
61: OUT LPDWORD totalentries,
62: IN OUT LPDWORD resume_handle
63: );
64:
65: NET_API_STATUS NET_API_FUNCTION
66: NetCharDevGetInfo (
67: IN LPTSTR servername,
68: IN LPTSTR devname,
69: IN DWORD level,
70: OUT LPBYTE *bufptr
71: );
72:
73: NET_API_STATUS NET_API_FUNCTION
74: NetCharDevControl (
75: IN LPTSTR servername,
76: IN LPTSTR devname,
77: IN DWORD opcode
78: );
79:
80: //
81: // Data Structures - CharDev
82: //
83:
84: typedef struct _CHARDEV_INFO_0 {
85: LPTSTR ch0_dev;
86: } CHARDEV_INFO_0, *PCHARDEV_INFO_0, *LPCHARDEV_INFO_0;
87:
88: typedef struct _CHARDEV_INFO_1 {
89: LPTSTR ch1_dev;
90: DWORD ch1_status;
91: LPTSTR ch1_username;
92: DWORD ch1_time;
93: } CHARDEV_INFO_1, *PCHARDEV_INFO_1, *LPCHARDEV_INFO_1;
94:
95:
96: //
97: // CharDevQ Class
98: //
99:
100: //
101: // Function Prototypes - CharDevQ
102: //
103:
104: NET_API_STATUS NET_API_FUNCTION
105: NetCharDevQEnum (
106: IN LPTSTR servername,
107: IN LPTSTR username,
108: IN DWORD level,
109: OUT LPBYTE *bufptr,
110: IN DWORD prefmaxlen,
111: OUT LPDWORD entriesread,
112: OUT LPDWORD totalentries,
113: IN OUT LPDWORD resume_handle
114: );
115:
116: NET_API_STATUS NET_API_FUNCTION
117: NetCharDevQGetInfo (
118: IN LPTSTR servername,
119: IN LPTSTR queuename,
120: IN LPTSTR username,
121: IN DWORD level,
122: OUT LPBYTE *bufptr
123: );
124:
125: NET_API_STATUS NET_API_FUNCTION
126: NetCharDevQSetInfo (
127: IN LPTSTR servername,
128: IN LPTSTR queuename,
129: IN DWORD level,
130: IN LPBYTE buf,
131: OUT LPDWORD parm_err
132: );
133:
134: NET_API_STATUS NET_API_FUNCTION
135: NetCharDevQPurge (
136: IN LPTSTR servername,
137: IN LPTSTR queuename
138: );
139:
140: NET_API_STATUS NET_API_FUNCTION
141: NetCharDevQPurgeSelf (
142: IN LPTSTR servername,
143: IN LPTSTR queuename,
144: IN LPTSTR computername
145: );
146:
147: //
148: // Data Structures - CharDevQ
149: //
150:
151: typedef struct _CHARDEVQ_INFO_0 {
152: LPTSTR cq0_dev;
153: } CHARDEVQ_INFO_0, *PCHARDEVQ_INFO_0, *LPCHARDEVQ_INFO_0;
154:
155: typedef struct _CHARDEVQ_INFO_1 {
156: LPTSTR cq1_dev;
157: DWORD cq1_priority;
158: LPTSTR cq1_devs;
159: DWORD cq1_numusers;
160: DWORD cq1_numahead;
161: } CHARDEVQ_INFO_1, *PCHARDEVQ_INFO_1, *LPCHARDEVQ_INFO_1;
162:
163: typedef struct _CHARDEVQ_INFO_1002 {
164: DWORD cq1002_priority;
165: } CHARDEVQ_INFO_1002, *PCHARDEVQ_INFO_1002, *LPCHARDEVQ_INFO_1002;
166:
167: typedef struct _CHARDEVQ_INFO_1003 {
168: LPTSTR cq1003_devs;
169: } CHARDEVQ_INFO_1003, *PCHARDEVQ_INFO_1003, *LPCHARDEVQ_INFO_1003;
170:
171:
172: //
173: // Special Values and Constants
174: //
175:
176: //
177: // Bits for chardev_info_1 field ch1_status.
178: //
179:
180: #define CHARDEV_STAT_OPENED 0x02
181: #define CHARDEV_STAT_ERROR 0x04
182:
183: //
184: // Opcodes for NetCharDevControl
185: //
186:
187: #define CHARDEV_CLOSE 0
188:
189: //
190: // Values for parm_err parameter.
191: //
192:
193: #define CHARDEVQ_DEV_PARMNUM 1
194: #define CHARDEVQ_PRIORITY_PARMNUM 2
195: #define CHARDEVQ_DEVS_PARMNUM 3
196: #define CHARDEVQ_NUMUSERS_PARMNUM 4
197: #define CHARDEVQ_NUMAHEAD_PARMNUM 5
198:
199: //
200: // Single-field infolevels for NetCharDevQSetInfo.
201: //
202:
203: #define CHARDEVQ_PRIORITY_INFOLEVEL \
204: (PARMNUM_BASE_INFOLEVEL + CHARDEVQ_PRIORITY_PARMNUM)
205: #define CHARDEVQ_DEVS_INFOLEVEL \
206: (PARMNUM_BASE_INFOLEVEL + CHARDEVQ_DEVS_PARMNUM)
207:
208: //
209: // Minimum, maximum, and recommended default for priority.
210: //
211:
212: #define CHARDEVQ_MAX_PRIORITY 1
213: #define CHARDEVQ_MIN_PRIORITY 9
214: #define CHARDEVQ_DEF_PRIORITY 5
215:
216: //
217: // Value indicating no requests in the queue.
218: //
219:
220: #define CHARDEVQ_NO_REQUESTS -1
221:
222: #endif // _LMCHDEV_
223:
224: //
225: // Handle Class
226: //
227:
228: #ifndef _LMHANDLE_
229: #define _LMHANDLE_
230:
231: //
232: // Function Prototypes
233: //
234:
235: NET_API_STATUS NET_API_FUNCTION
236: NetHandleGetInfo (
237: IN HANDLE handle,
238: IN DWORD level,
239: OUT LPBYTE *bufptr
240: );
241:
242: NET_API_STATUS NET_API_FUNCTION
243: NetHandleSetInfo (
244: IN HANDLE handle,
245: IN DWORD level,
246: IN LPBYTE buf,
247: IN DWORD parmnum,
248: OUT LPDWORD parmerr
249: );
250:
251: //
252: // Data Structures
253: //
254:
255: typedef struct _HANDLE_INFO_1 {
256: DWORD hdli1_chartime;
257: DWORD hdli1_charcount;
258: }HANDLE_INFO_1, *PHANDLE_INFO_1, *LPHANDLE_INFO_1;
259:
260: //
261: // Special Values and Constants
262: //
263:
264: //
265: // Handle Get Info Levels
266: //
267:
268: #define HANDLE_INFO_LEVEL_1 1
269:
270: //
271: // Handle Set Info parm numbers
272: //
273:
274: #define HANDLE_CHARTIME_PARMNUM 1
275: #define HANDLE_CHARCOUNT_PARMNUM 2
276:
277: #ifdef __cplusplus
278: }
279: #endif
280:
281: #endif // _LMHANDLE_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.