home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / WIN_NT / LMAPI.ZIP / H / LMCHDEV.H < prev    next >
Encoding:
C/C++ Source or Header  |  1993-04-07  |  5.1 KB  |  260 lines

  1. /*
  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. [Notes:]
  18.  
  19.     You must include NETCONS.H before this file, since this file depends
  20.     on values defined in NETCONS.H.
  21.  
  22. --*/
  23.  
  24. #ifndef _LMCHDEV_
  25. #define _LMCHDEV_
  26.  
  27. //
  28. // CharDev Class
  29. //
  30.  
  31. //
  32. // Function Prototypes - CharDev
  33. //
  34.  
  35. NET_API_STATUS NET_API_FUNCTION
  36. NetCharDevEnum (
  37.     IN  LPTSTR      servername,
  38.     IN  DWORD       level,
  39.     OUT LPBYTE      *bufptr,
  40.     IN  DWORD       prefmaxlen,
  41.     OUT LPDWORD     entriesread,
  42.     OUT LPDWORD     totalentries,
  43.     IN OUT LPDWORD  resume_handle
  44.     );
  45.  
  46. NET_API_STATUS NET_API_FUNCTION
  47. NetCharDevGetInfo (
  48.     IN  LPTSTR  servername,
  49.     IN  LPTSTR  devname,
  50.     IN  DWORD   level,
  51.     OUT LPBYTE  *bufptr
  52.     );
  53.  
  54. NET_API_STATUS NET_API_FUNCTION
  55. NetCharDevControl (
  56.     IN  LPTSTR  servername,
  57.     IN  LPTSTR  devname,
  58.     IN  DWORD   opcode
  59.     );
  60.  
  61. //
  62. // Data Structures - CharDev
  63. //
  64.  
  65. typedef struct _CHARDEV_INFO_0 {
  66.     LPTSTR  ch0_dev;
  67. } CHARDEV_INFO_0, *PCHARDEV_INFO_0, *LPCHARDEV_INFO_0;
  68.  
  69. typedef struct _CHARDEV_INFO_1 {
  70.     LPTSTR  ch1_dev;
  71.     DWORD   ch1_status;
  72.     LPTSTR  ch1_username;
  73.     DWORD   ch1_time;
  74. } CHARDEV_INFO_1, *PCHARDEV_INFO_1, *LPCHARDEV_INFO_1;
  75.  
  76.  
  77. //
  78. // CharDevQ Class
  79. //
  80.  
  81. //
  82. // Function Prototypes - CharDevQ
  83. //
  84.  
  85. NET_API_STATUS NET_API_FUNCTION
  86. NetCharDevQEnum (
  87.     IN  LPTSTR      servername,
  88.     IN  LPTSTR      username,
  89.     IN  DWORD       level,
  90.     OUT LPBYTE      *bufptr,
  91.     IN  DWORD       prefmaxlen,
  92.     OUT LPDWORD     entriesread,
  93.     OUT LPDWORD     totalentries,
  94.     IN OUT LPDWORD  resume_handle
  95.     );
  96.  
  97. NET_API_STATUS NET_API_FUNCTION
  98. NetCharDevQGetInfo (
  99.     IN  LPTSTR  servername,
  100.     IN  LPTSTR  queuename,
  101.     IN  LPTSTR  username,
  102.     IN  DWORD   level,
  103.     OUT LPBYTE  *bufptr
  104.     );
  105.  
  106. NET_API_STATUS NET_API_FUNCTION
  107. NetCharDevQSetInfo (
  108.     IN  LPTSTR  servername,
  109.     IN  LPTSTR  queuename,
  110.     IN  DWORD   level,
  111.     IN  LPBYTE  buf,
  112.     OUT LPDWORD parm_err
  113.     );
  114.  
  115. NET_API_STATUS NET_API_FUNCTION
  116. NetCharDevQPurge (
  117.     IN  LPTSTR  servername,
  118.     IN  LPTSTR  queuename
  119.     );
  120.  
  121. NET_API_STATUS NET_API_FUNCTION
  122. NetCharDevQPurgeSelf (
  123.     IN  LPTSTR  servername,
  124.     IN  LPTSTR  queuename,
  125.     IN  LPTSTR  computername
  126.     );
  127.  
  128. //
  129. // Data Structures - CharDevQ
  130. //
  131.  
  132. typedef struct _CHARDEVQ_INFO_0 {
  133.     LPTSTR  cq0_dev;
  134. } CHARDEVQ_INFO_0, *PCHARDEVQ_INFO_0, *LPCHARDEVQ_INFO_0;
  135.  
  136. typedef struct _CHARDEVQ_INFO_1 {
  137.     LPTSTR  cq1_dev;
  138.     DWORD   cq1_priority;
  139.     LPTSTR  cq1_devs;
  140.     DWORD   cq1_numusers;
  141.     DWORD   cq1_numahead;
  142. } CHARDEVQ_INFO_1, *PCHARDEVQ_INFO_1, *LPCHARDEVQ_INFO_1;
  143.  
  144. typedef struct _CHARDEVQ_INFO_1002 {
  145.     DWORD   cq1002_priority;
  146. } CHARDEVQ_INFO_1002, *PCHARDEVQ_INFO_1002, *LPCHARDEVQ_INFO_1002;
  147.  
  148. typedef struct _CHARDEVQ_INFO_1003 {
  149.     LPTSTR  cq1003_devs;
  150. } CHARDEVQ_INFO_1003, *PCHARDEVQ_INFO_1003, *LPCHARDEVQ_INFO_1003;
  151.  
  152.  
  153. //
  154. // Special Values and Constants
  155. //
  156.  
  157. //
  158. //      Bits for chardev_info_1 field ch1_status.
  159. //
  160.  
  161. #define CHARDEV_STAT_OPENED             0x02
  162. #define CHARDEV_STAT_ERROR              0x04
  163.  
  164. //
  165. //      Opcodes for NetCharDevControl
  166. //
  167.  
  168. #define CHARDEV_CLOSE                   0
  169.  
  170. //
  171. // Values for parm_err parameter.
  172. //
  173.  
  174. #define CHARDEVQ_DEV_PARMNUM        1
  175. #define CHARDEVQ_PRIORITY_PARMNUM   2
  176. #define CHARDEVQ_DEVS_PARMNUM       3
  177. #define CHARDEVQ_NUMUSERS_PARMNUM   4
  178. #define CHARDEVQ_NUMAHEAD_PARMNUM   5
  179.  
  180. //
  181. // Single-field infolevels for NetCharDevQSetInfo.
  182. //
  183.  
  184. #define CHARDEVQ_PRIORITY_INFOLEVEL     \
  185.             (PARMNUM_BASE_INFOLEVEL + CHARDEVQ_PRIORITY_PARMNUM)
  186. #define CHARDEVQ_DEVS_INFOLEVEL         \
  187.             (PARMNUM_BASE_INFOLEVEL + CHARDEVQ_DEVS_PARMNUM)
  188.  
  189. //
  190. //      Minimum, maximum, and recommended default for priority.
  191. //
  192.  
  193. #define CHARDEVQ_MAX_PRIORITY           1
  194. #define CHARDEVQ_MIN_PRIORITY           9
  195. #define CHARDEVQ_DEF_PRIORITY           5
  196.  
  197. //
  198. //      Value indicating no requests in the queue.
  199. //
  200.  
  201. #define CHARDEVQ_NO_REQUESTS            -1
  202.  
  203. #endif // _LMCHDEV_
  204.  
  205. //
  206. // Handle Class
  207. //
  208.  
  209. #ifndef _LMHANDLE_
  210. #define _LMHANDLE_
  211.  
  212. //
  213. // Function Prototypes
  214. //
  215.  
  216. NET_API_STATUS NET_API_FUNCTION
  217. NetHandleGetInfo (
  218.     IN  HANDLE  handle,
  219.     IN  DWORD   level,
  220.     OUT LPBYTE  *bufptr
  221.     );
  222.  
  223. NET_API_STATUS NET_API_FUNCTION
  224. NetHandleSetInfo (
  225.     IN  HANDLE  handle,
  226.     IN  DWORD   level,
  227.     IN  LPBYTE  buf,
  228.     IN  DWORD   parmnum,
  229.     OUT LPDWORD parmerr
  230.     );
  231.  
  232. //
  233. //  Data Structures
  234. //
  235.  
  236. typedef struct _HANDLE_INFO_1 {
  237.     DWORD   hdli1_chartime;
  238.     DWORD   hdli1_charcount;
  239. }HANDLE_INFO_1, *PHANDLE_INFO_1, *LPHANDLE_INFO_1;
  240.  
  241. //
  242. // Special Values and Constants
  243. //
  244.  
  245. //
  246. //      Handle Get Info Levels
  247. //
  248.  
  249. #define HANDLE_INFO_LEVEL_1                 1
  250.  
  251. //
  252. //      Handle Set Info parm numbers
  253. //
  254.  
  255. #define HANDLE_CHARTIME_PARMNUM     1
  256. #define HANDLE_CHARCOUNT_PARMNUM    2
  257.  
  258. #endif // _LMHANDLE_
  259. 
  260.