|
|
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.