home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-1 / Inter.Net 55-1.iso / CBuilder / Setup / BCB / data.z / lmchdev.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-09  |  5.6 KB  |  288 lines

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