Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

810 lines
23 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (C) 1993 Microsoft Corporation
  4. //
  5. // Module Name:
  6. //
  7. // nwapi32.h
  8. //
  9. // Abstract:
  10. //
  11. // This module contains the support for calls into CSNW.
  12. //
  13. // Author:
  14. //
  15. // Chris Sandys (a-chrisa) 09-Sep-1993
  16. //
  17. // Revision History:
  18. // Chuck Y Chan Feb 3, 1994 Make it NT like
  19. // Chuck Y Chan Feb 4, 1996 Merged in calls used by DSMN (from
  20. // nwcapi32.h)
  21. //
  22. //////////////////////////////////////////////////////////////////////////////
  23. #ifndef _NWAPI32_H_
  24. #define _NWAPI32_H_
  25. #ifdef __cplusplus
  26. extern "C" {
  27. #endif /* __cplusplus */
  28. //
  29. // Order of Funtions
  30. //
  31. // NWAddTrusteeToDirectory
  32. // NWAllocTemporaryDirectoryHandle
  33. // NWAllocPermanentDirectoryHandle
  34. // NWAttachToFileServer
  35. // NWCheckConsolePrivileges
  36. // NWDeallocateDirectoryHandle
  37. // NWDetachFromFileServer
  38. // NWGetFileServerVersionInfo
  39. // NWGetInternetAddress
  40. // NWGetObjectName
  41. // NWGetVolumeInfoWithHandle
  42. // NWGetVolumeInfoWithNumber
  43. // NWGetVolumeName
  44. // NWIsObjectInSet
  45. // NWLoginToFileServer
  46. // NWLogoutFromFileServer
  47. // NWReadPropertyValue
  48. // NWScanObject
  49. // NWScanProperty
  50. ///////////////////////////////////////////////////////////////////////////////
  51. // //
  52. // Manifests and structures //
  53. // //
  54. ///////////////////////////////////////////////////////////////////////////////
  55. //
  56. // Version Structure
  57. //
  58. #include <packon.h>
  59. typedef struct _VERSION_INFO {
  60. BYTE szName[48];
  61. BYTE Version;
  62. BYTE SubVersion;
  63. WORD ConnsSupported;
  64. WORD connsInUse;
  65. WORD maxVolumes;
  66. BYTE OSRev;
  67. BYTE SFTLevel;
  68. BYTE TTSLevel;
  69. WORD PeakConns;
  70. BYTE AcctVer;
  71. BYTE VAPVer;
  72. BYTE QueueVer;
  73. BYTE PrintVer;
  74. BYTE VirtualConsoleVer;
  75. BYTE SecurityResLevel;
  76. BYTE InternetworkBVer;
  77. BYTE Reserved[60];
  78. } VERSION_INFO;
  79. #include <packoff.h>
  80. //
  81. // DLL Defination
  82. //
  83. #define DLLEXPORT
  84. //
  85. // Misc type definitions
  86. //
  87. #define NWCCODE USHORT
  88. #define NWLOCAL_SCOPE USHORT
  89. #define NWCONN_HANDLE HANDLE
  90. #define NWFAR
  91. #define NWAPI WINAPI
  92. #define NWOBJ_TYPE USHORT
  93. #define NWOBJ_ID DWORD
  94. #define NWFLAGS UCHAR
  95. #define NWVOL_NUM UCHAR
  96. #define NWDIR_HANDLE UCHAR
  97. #define NWACCESS_RIGHTS BYTE
  98. #define NWCONN_NUM USHORT
  99. #define NWNET_ADDR UCHAR
  100. #define NWNUMBER WORD
  101. #define NWVOL_FLAGS WORD
  102. #define NWSEGMENT_NUM UCHAR
  103. #define NWSEGMENT_DATA BYTE
  104. #define NWRIGHTS_MASK WORD
  105. #define NWSEQUENCE BYTE
  106. #define NWINDEX_TYPE USHORT
  107. #define NWDATE_TIME DWORD
  108. #define NWDIR_TRUSTEE_RIGHTS WORD
  109. #define NWSEQUENCE BYTE
  110. typedef struct {
  111. NWOBJ_ID objectID;
  112. NWDIR_TRUSTEE_RIGHTS objectRights;
  113. } TRUSTEE_INFO;
  114. //
  115. // Object Types (already in HI-LO format)
  116. //
  117. #define OT_WILD 0xFFFF
  118. #define OT_UNKNOWN 0x0000
  119. #define OT_USER 0x0100
  120. #define OT_USER_GROUP 0x0200
  121. #define OT_PRINT_QUEUE 0x0300
  122. #define OT_FILE_SERVER 0x0400
  123. #define OT_JOB_SERVER 0x0500
  124. #define OT_GATEWAY 0x0600
  125. #define OT_PRINT_SERVER 0x0700
  126. #define OT_ARCHIVE_QUEUE 0x0800
  127. #define OT_ARCHIVE_SERVER 0x0900
  128. #define OT_JOB_QUEUE 0x0A00
  129. #define OT_ADMINISTRATION 0x0B00
  130. #define OT_NAS_SNA_GATEWAY 0x2100
  131. #define OT_REMOTE_BRIDGE_SERVER 0x2600
  132. #define OT_TCPIP_GATEWAY 0x2700
  133. #define OT_DIRSERVER 0x7802
  134. //
  135. // Bindery object property flag
  136. //
  137. #define BF_STATIC 0x00
  138. #define BF_DYNAMIC 0x01
  139. #define BF_ITEM 0x00
  140. #define BF_SET 0x02
  141. //
  142. // Bindery object security flag
  143. //
  144. #define BS_ANY_READ 0x00
  145. #define BS_LOGGED_READ 0x01
  146. #define BS_OBJECT_READ 0x02
  147. #define BS_SUPER_READ 0x03
  148. #define BS_BINDERY_READ 0x04
  149. #define BS_ANY_WRITE 0x00
  150. #define BS_LOGGED_WRITE 0x10
  151. #define BS_OBJECT_WRITE 0x20
  152. #define BS_SUPER_WRITE 0x30
  153. #define BS_BINDERY_WRITE 0x40
  154. //
  155. // Size Of Things
  156. //
  157. #define OBJ_NAME_SIZE 48 // ScanObject name size
  158. #define VOL_NAME_SIZE 16 // Get Volume Name Size
  159. #define NW_USER_SIZE 50
  160. #define NW_GROUP_SIZE 50
  161. #define NW_PROP_SIZE 50
  162. #define NW_DATA_SIZE 128
  163. #define NW_PROP_SET 0x02
  164. //
  165. // Return Codes
  166. //
  167. #define UNSUCCESSFUL -1
  168. #define SUCCESSFUL 0x0000
  169. #define REQUESTER_ERROR 0x8800
  170. #define ALREADY_ATTACHED 0x8800
  171. #define INVALID_CONNECTION 0x8801
  172. #define NO_CONSOLE_RIGHTS 0x89C6
  173. #define SERVER_OUT_OF_MEMORY 0x8996
  174. #define VOLUME_DOES_NOT_EXIST 0x8998
  175. #define BAD_DIRECTORY_HANDLE 0x899B
  176. #define INVALID_PATH 0x899C
  177. #define OBJECT_ALREADY_EXISTS 0x89EE
  178. #define NO_OBJECT_READ_PRIVILEGE 0x89FB
  179. #define NO_SUCH_PROPERTY 0x89FB
  180. #define UNKNOWN_FILE_SERVER 0x89FC
  181. #define NO_SUCH_OBJECT 0x89FC
  182. #define NO_FILES_FOUND_ERROR 0x89FF
  183. //
  184. // Swap MACROS
  185. //
  186. #define wSWAP(x) (USHORT)(((((USHORT)x)<<8)&0xFF00) | ((((USHORT)x)>>8)&0x00FF))
  187. #define dwSWAP(x) (DWORD)( ((((DWORD)x)<<24)&0xFF000000) | ((((DWORD)x)<<8)&0x00FF0000) | ((((DWORD)x)>>8)&0x0000FF00) | ((((DWORD)x)>>24)&0x000000FF) )
  188. #define DW_SIZE 4 // used for placing RAW bytes
  189. #define W_SIZE 2
  190. ///////////////////////////////////////////////////////////////////////////////
  191. // //
  192. // Original functions from Chris Sandys. Keep for compatibility. //
  193. // //
  194. ///////////////////////////////////////////////////////////////////////////////
  195. NWCCODE NWAPI DLLEXPORT
  196. NWAddTrusteeToDirectory(
  197. NWCONN_HANDLE hConn,
  198. NWDIR_HANDLE dirHandle,
  199. const char NWFAR *pszPath,
  200. NWOBJ_ID dwTrusteeID,
  201. NWACCESS_RIGHTS rightsMask
  202. );
  203. NWCCODE NWAPI DLLEXPORT
  204. NWAllocPermanentDirectoryHandle(
  205. NWCONN_HANDLE hConn,
  206. NWDIR_HANDLE dirHandle,
  207. char NWFAR *pszDirPath,
  208. NWDIR_HANDLE NWFAR *pbNewDirHandle,
  209. NWACCESS_RIGHTS NWFAR *pbRightsMask
  210. );
  211. NWCCODE NWAPI DLLEXPORT
  212. NWAllocTemporaryDirectoryHandle(
  213. NWCONN_HANDLE hConn,
  214. NWDIR_HANDLE dirHandle,
  215. char NWFAR *pszDirPath,
  216. NWDIR_HANDLE NWFAR *pbNewDirHandle,
  217. NWACCESS_RIGHTS NWFAR *pbRightsMask
  218. );
  219. NWCCODE NWAPI DLLEXPORT
  220. NWAttachToFileServer(
  221. const char NWFAR *pszServerName,
  222. NWLOCAL_SCOPE ScopeFlag,
  223. NWCONN_HANDLE NWFAR *phNewConn
  224. );
  225. NWCCODE NWAPI DLLEXPORT
  226. NWAttachToFileServerW(
  227. const WCHAR NWFAR *pszServerName,
  228. NWLOCAL_SCOPE ScopeFlag,
  229. NWCONN_HANDLE NWFAR *phNewConn
  230. );
  231. NWCCODE NWAPI DLLEXPORT
  232. NWCheckConsolePrivileges(
  233. NWCONN_HANDLE hConn
  234. );
  235. NWCCODE NWAPI DLLEXPORT
  236. NWDeallocateDirectoryHandle(
  237. NWCONN_HANDLE hConn,
  238. NWDIR_HANDLE dirHandle
  239. );
  240. NWCCODE NWAPI DLLEXPORT
  241. NWDetachFromFileServer(
  242. NWCONN_HANDLE hConn
  243. );
  244. NWCCODE NWAPI DLLEXPORT
  245. NWGetFileServerVersionInfo(
  246. NWCONN_HANDLE hConn,
  247. VERSION_INFO NWFAR *lpVerInfo
  248. );
  249. NWCCODE NWAPI DLLEXPORT
  250. NWGetInternetAddress(
  251. NWCONN_HANDLE hConn,
  252. NWCONN_NUM nConnNum,
  253. NWNET_ADDR NWFAR *pIntAddr
  254. );
  255. NWCCODE NWAPI DLLEXPORT
  256. NWGetObjectName(
  257. NWCONN_HANDLE hConn,
  258. NWOBJ_ID dwObjectID,
  259. char NWFAR *pszObjName,
  260. NWOBJ_TYPE NWFAR *pwObjType
  261. );
  262. NWCCODE NWAPI DLLEXPORT
  263. NWGetVolumeInfoWithHandle(
  264. NWCONN_HANDLE hConn,
  265. NWDIR_HANDLE nDirHand,
  266. char NWFAR *pszVolName,
  267. NWNUMBER NWFAR *pwTotalBlocks,
  268. NWNUMBER NWFAR *pwSectors,
  269. NWNUMBER NWFAR *pwAvailBlocks,
  270. NWNUMBER NWFAR *pwTotalDir,
  271. NWNUMBER NWFAR *pwAvailDir,
  272. NWVOL_FLAGS NWFAR *pfVolRemovable
  273. );
  274. NWCCODE NWAPI DLLEXPORT
  275. NWGetVolumeInfoWithNumber(
  276. NWCONN_HANDLE hConn,
  277. NWVOL_NUM nVolNum,
  278. char NWFAR *pszVolName,
  279. NWNUMBER NWFAR *pwTotalBlocks,
  280. NWNUMBER NWFAR *pwSectors,
  281. NWNUMBER NWFAR *pwAvailBlocks,
  282. NWNUMBER NWFAR *pwTotalDir,
  283. NWNUMBER NWFAR *pwAvailDir,
  284. NWVOL_FLAGS NWFAR *pfVolRemovable
  285. );
  286. NWCCODE NWAPI DLLEXPORT
  287. NWGetVolumeName(
  288. NWCONN_HANDLE hConn,
  289. NWVOL_NUM bVolNum,
  290. char NWFAR *pszVolName
  291. );
  292. NWCCODE NWAPI DLLEXPORT /* ??? */
  293. NWLoginToFileServer(
  294. NWCONN_HANDLE hConn,
  295. const char NWFAR *pszUserName,
  296. NWOBJ_TYPE wObType,
  297. const char NWFAR *pszPassword
  298. );
  299. NWCCODE NWAPI DLLEXPORT /* ??? */
  300. NWLogoutFromFileServer(
  301. NWCONN_HANDLE hConn
  302. );
  303. NWCCODE NWAPI DLLEXPORT /* ??? */
  304. NWReadPropertyValue(
  305. NWCONN_HANDLE hConn,
  306. const char NWFAR *pszObjName,
  307. NWOBJ_TYPE wObjType,
  308. char NWFAR *pszPropName,
  309. unsigned char ucSegment,
  310. char NWFAR *pValue,
  311. NWFLAGS NWFAR *pucMoreFlag,
  312. NWFLAGS NWFAR *pucPropFlag
  313. );
  314. NWCCODE NWAPI DLLEXPORT
  315. NWScanObject(
  316. NWCONN_HANDLE hConn,
  317. const char NWFAR *pszSearchName,
  318. NWOBJ_TYPE wObjSearchType,
  319. NWOBJ_ID NWFAR *pdwObjectID,
  320. char NWFAR *pszObjectName,
  321. NWOBJ_TYPE NWFAR *pwObjType,
  322. NWFLAGS NWFAR *pucHasProperties,
  323. NWFLAGS NWFAR *pucObjectFlags,
  324. NWFLAGS NWFAR *pucObjSecurity
  325. );
  326. NWCCODE NWAPI DLLEXPORT
  327. NWScanProperty(
  328. NWCONN_HANDLE hConn,
  329. const char NWFAR *pszObjectName,
  330. NWOBJ_TYPE wObjType,
  331. char NWFAR *pszSearchName,
  332. NWOBJ_ID NWFAR *pdwSequence,
  333. char NWFAR *pszPropName,
  334. NWFLAGS NWFAR *pucPropFlags,
  335. NWFLAGS NWFAR *pucPropSecurity,
  336. NWFLAGS NWFAR *pucHasValue,
  337. NWFLAGS NWFAR *pucMore
  338. );
  339. NWCCODE NWAPI DLLEXPORT
  340. NWIsObjectInSet(
  341. NWCONN_HANDLE hConn,
  342. const char NWFAR *lpszObjectName,
  343. NWOBJ_TYPE wObjType,
  344. const char NWFAR *lpszPropertyName,
  345. const char NWFAR *lpszMemberName,
  346. NWOBJ_TYPE wMemberType
  347. );
  348. NWCCODE NWAPI DLLEXPORT
  349. NWGetFileServerDateAndTime(
  350. NWCONN_HANDLE hConn,
  351. BYTE NWFAR *year,
  352. BYTE NWFAR *month,
  353. BYTE NWFAR *day,
  354. BYTE NWFAR *hour,
  355. BYTE NWFAR *minute,
  356. BYTE NWFAR *second,
  357. BYTE NWFAR *dayofweek
  358. );
  359. NWCCODE NWAPI DLLEXPORT
  360. NWCreateQueue(
  361. NWCONN_HANDLE hConn,
  362. NWDIR_HANDLE dirHandle,
  363. const char NWFAR *pszQueueName,
  364. NWOBJ_TYPE wQueueType,
  365. const char NWFAR *pszPathName,
  366. NWOBJ_ID NWFAR *pdwQueueId
  367. );
  368. NWCCODE NWAPI DLLEXPORT
  369. NWChangePropertySecurity(
  370. NWCONN_HANDLE hConn,
  371. const char NWFAR *pszObjName,
  372. NWOBJ_TYPE wObjType,
  373. const char NWFAR *pszPropertyName,
  374. NWFLAGS ucObjSecurity
  375. );
  376. NWCCODE NWAPI DLLEXPORT
  377. NWDestroyQueue(
  378. NWCONN_HANDLE hConn,
  379. NWOBJ_ID dwQueueId
  380. );
  381. ///////////////////////////////////////////////////////////////////////////////
  382. // //
  383. // Newer and more complete NWC functions. //
  384. // //
  385. // These functions return NetWare compatible error codes. Win32 error may //
  386. // be obtained by calling GetLastError(). //
  387. // //
  388. ///////////////////////////////////////////////////////////////////////////////
  389. NWCCODE
  390. NWCAddTrusteeToDirectory(
  391. NWCONN_HANDLE hConn,
  392. NWDIR_HANDLE dirHandle,
  393. const char *pszPath,
  394. NWOBJ_ID dwTrusteeID,
  395. NWACCESS_RIGHTS rightsMask
  396. );
  397. NWCCODE
  398. NWCAllocPermanentDirectoryHandle(
  399. NWCONN_HANDLE hConn,
  400. NWDIR_HANDLE dirHandle,
  401. char *pszDirPath,
  402. NWDIR_HANDLE *pbNewDirHandle,
  403. NWACCESS_RIGHTS *pbRightsMask
  404. );
  405. NWCCODE
  406. NWCAllocTemporaryDirectoryHandle(
  407. NWCONN_HANDLE hConn,
  408. NWDIR_HANDLE dirHandle,
  409. char *pszDirPath,
  410. NWDIR_HANDLE *pbNewDirHandle,
  411. NWACCESS_RIGHTS *pbRightsMask
  412. );
  413. NWCCODE
  414. NWCAttachToFileServer(
  415. const char *pszServerName,
  416. NWLOCAL_SCOPE ScopeFlag,
  417. NWCONN_HANDLE *phNewConn
  418. );
  419. NWCCODE
  420. NWCAttachToFileServerW(
  421. const WCHAR *pszServerName,
  422. NWLOCAL_SCOPE ScopeFlag,
  423. NWCONN_HANDLE *phNewConn
  424. );
  425. NWCCODE
  426. NWCCheckConsolePrivileges(
  427. NWCONN_HANDLE hConn
  428. );
  429. NWCCODE
  430. NWCDeallocateDirectoryHandle(
  431. NWCONN_HANDLE hConn,
  432. NWDIR_HANDLE dirHandle
  433. );
  434. NWCCODE
  435. NWCDetachFromFileServer(
  436. NWCONN_HANDLE hConn
  437. );
  438. NWCCODE
  439. NWCGetFileServerVersionInfo(
  440. NWCONN_HANDLE hConn,
  441. VERSION_INFO *lpVerInfo
  442. );
  443. NWCCODE
  444. NWCGetInternetAddress(
  445. NWCONN_HANDLE hConn,
  446. NWCONN_NUM nConnNum,
  447. NWNET_ADDR *pIntAddr
  448. );
  449. NWCCODE
  450. NWCGetObjectName(
  451. NWCONN_HANDLE hConn,
  452. NWOBJ_ID dwObjectID,
  453. char *pszObjName,
  454. NWOBJ_TYPE *pwObjType
  455. );
  456. NWCCODE
  457. NWCGetVolumeInfoWithHandle(
  458. NWCONN_HANDLE hConn,
  459. NWDIR_HANDLE nDirHand,
  460. char *pszVolName,
  461. NWNUMBER *pwTotalBlocks,
  462. NWNUMBER *pwSectors,
  463. NWNUMBER *pwAvailBlocks,
  464. NWNUMBER *pwTotalDir,
  465. NWNUMBER *pwAvailDir,
  466. NWVOL_FLAGS *pfVolRemovable
  467. );
  468. NWCCODE
  469. NWCGetVolumeInfoWithNumber(
  470. NWCONN_HANDLE hConn,
  471. NWVOL_NUM nVolNum,
  472. char *pszVolName,
  473. NWNUMBER *pwTotalBlocks,
  474. NWNUMBER *pwSectors,
  475. NWNUMBER *pwAvailBlocks,
  476. NWNUMBER *pwTotalDir,
  477. NWNUMBER *pwAvailDir,
  478. NWVOL_FLAGS *pfVolRemovable
  479. );
  480. NWCCODE
  481. NWCGetVolumeName(
  482. NWCONN_HANDLE hConn,
  483. NWVOL_NUM bVolNum,
  484. char *pszVolName
  485. );
  486. NWCCODE
  487. NWCLoginToFileServer(
  488. NWCONN_HANDLE hConn,
  489. const char *pszUserName,
  490. NWOBJ_TYPE wObType,
  491. const char *pszPassword
  492. );
  493. NWCCODE
  494. NWCLogoutFromFileServer(
  495. NWCONN_HANDLE hConn
  496. );
  497. NWCCODE
  498. NWCReadPropertyValue(
  499. NWCONN_HANDLE hConn,
  500. const char *pszObjName,
  501. NWOBJ_TYPE wObjType,
  502. char *pszPropName,
  503. unsigned char ucSegment,
  504. char *pValue,
  505. NWFLAGS *pucMoreFlag,
  506. NWFLAGS *pucPropFlag
  507. );
  508. NWCCODE
  509. NWCScanObject(
  510. NWCONN_HANDLE hConn,
  511. const char *pszSearchName,
  512. NWOBJ_TYPE wObjSearchType,
  513. NWOBJ_ID *pdwObjectID,
  514. char *pszObjectName,
  515. NWOBJ_TYPE *pwObjType,
  516. NWFLAGS *pucHasProperties,
  517. NWFLAGS *pucObjectFlags,
  518. NWFLAGS *pucObjSecurity
  519. );
  520. NWCCODE
  521. NWCScanProperty(
  522. NWCONN_HANDLE hConn,
  523. const char *pszObjectName,
  524. NWOBJ_TYPE wObjType,
  525. char *pszSearchName,
  526. NWOBJ_ID *pdwSequence,
  527. char *pszPropName,
  528. NWFLAGS *pucPropFlags,
  529. NWFLAGS *pucPropSecurity,
  530. NWFLAGS *pucHasValue,
  531. NWFLAGS *pucMore
  532. );
  533. NWCCODE
  534. NWCIsObjectInSet(
  535. NWCONN_HANDLE hConn,
  536. const char *lpszObjectName,
  537. NWOBJ_TYPE wObjType,
  538. const char *lpszPropertyName,
  539. const char *lpszMemberName,
  540. NWOBJ_TYPE wMemberType
  541. );
  542. NWCCODE
  543. NWCGetFileServerDateAndTime(
  544. NWCONN_HANDLE hConn,
  545. BYTE *year,
  546. BYTE *month,
  547. BYTE *day,
  548. BYTE *hour,
  549. BYTE *minute,
  550. BYTE *second,
  551. BYTE *dayofweek
  552. );
  553. NWCCODE
  554. NWCAddTrustee(
  555. NWCONN_HANDLE hConn,
  556. NWDIR_HANDLE dirHandle,
  557. const char *pszPath,
  558. NWOBJ_ID dwTrusteeID,
  559. NWRIGHTS_MASK rightsMask
  560. );
  561. NWCCODE
  562. NWCDeleteObject(
  563. NWCONN_HANDLE hConn,
  564. const char *pszObjectName,
  565. NWOBJ_TYPE wObjType
  566. );
  567. NWCCODE
  568. NWCCreateObject(
  569. NWCONN_HANDLE hConn,
  570. const char *pszObjectName,
  571. NWOBJ_TYPE wObjType,
  572. NWFLAGS ucObjectFlags,
  573. NWFLAGS ucObjSecurity
  574. );
  575. NWCCODE
  576. NWCCreateProperty(
  577. NWCONN_HANDLE hConn,
  578. const char *pszObjectName,
  579. NWOBJ_TYPE wObjType,
  580. const char *pszPropertyName,
  581. NWFLAGS ucObjectFlags,
  582. NWFLAGS ucObjSecurity
  583. );
  584. NWCCODE
  585. NWCDeleteProperty(
  586. NWCONN_HANDLE hConn,
  587. const char *pszObjectName,
  588. NWOBJ_TYPE wObjType,
  589. const char *pszPropertyName
  590. );
  591. NWCCODE
  592. NWCWritePropertyValue(
  593. NWCONN_HANDLE hConn,
  594. const char *pszObjectName,
  595. NWOBJ_TYPE wObjType,
  596. const char *pszPropertyName,
  597. NWSEGMENT_NUM segmentNumber,
  598. NWSEGMENT_DATA *segmentData,
  599. NWFLAGS moreSegments
  600. );
  601. NWCCODE
  602. NWCGetObjectID(
  603. NWCONN_HANDLE hConn,
  604. const char *pszObjectName,
  605. NWOBJ_TYPE wObjType,
  606. NWOBJ_ID *objectID
  607. );
  608. NWCCODE
  609. NWCRenameBinderyObject(
  610. NWCONN_HANDLE hConn,
  611. const char *pszObjectName,
  612. const char *pszNewObjectName,
  613. NWOBJ_TYPE wObjType
  614. );
  615. NWCCODE
  616. NWCAddObjectToSet(
  617. NWCONN_HANDLE hConn,
  618. const char *pszObjectName,
  619. NWOBJ_TYPE wObjType,
  620. const char *pszPropertyName,
  621. const char *pszMemberName,
  622. NWOBJ_TYPE memberType
  623. );
  624. NWCCODE
  625. NWCDeleteObjectFromSet(
  626. NWCONN_HANDLE hConn,
  627. const char *pszObjectName,
  628. NWOBJ_TYPE wObjType,
  629. const char *pszPropertyName,
  630. const char *pszMemberName,
  631. NWOBJ_TYPE memberType
  632. );
  633. NWCCODE
  634. NWCCreateDirectory(
  635. NWCONN_HANDLE hConn,
  636. NWDIR_HANDLE dirHandle,
  637. const char *pszPath,
  638. NWACCESS_RIGHTS accessMask
  639. );
  640. NWCCODE
  641. NWCScanForTrustees(
  642. NWCONN_HANDLE hConn,
  643. NWDIR_HANDLE dirHandle,
  644. char *pszsearchDirPath,
  645. NWSEQUENCE *pucsequenceNumber,
  646. BYTE *numberOfEntries,
  647. TRUSTEE_INFO *tl
  648. );
  649. NWCCODE
  650. NWCScanDirectoryForTrustees2(
  651. NWCONN_HANDLE hConn,
  652. NWDIR_HANDLE dirHandle,
  653. char *pszsearchDirPath,
  654. NWSEQUENCE *pucsequenceNumber,
  655. char *pszdirName,
  656. NWDATE_TIME *dirDateTime,
  657. NWOBJ_ID *ownerID,
  658. TRUSTEE_INFO *trusteeList
  659. );
  660. NWCCODE
  661. NWCGetBinderyAccessLevel(
  662. NWCONN_HANDLE hConn,
  663. NWFLAGS *accessLevel,
  664. NWOBJ_ID *objectID
  665. );
  666. NWCCODE
  667. NWCGetFileServerDescription(
  668. NWCONN_HANDLE hConn,
  669. char *pszCompany,
  670. char *pszVersion,
  671. char *pszRevision
  672. );
  673. NWCCODE
  674. NWCGetVolumeNumber(
  675. NWCONN_HANDLE hConn,
  676. char *pszVolume,
  677. NWVOL_NUM *VolumeNumber
  678. );
  679. NWCCODE
  680. NWCGetVolumeUsage(
  681. NWCONN_HANDLE hConn,
  682. NWVOL_NUM VolumeNumber,
  683. DWORD *TotalBlocks,
  684. DWORD *FreeBlocks,
  685. DWORD *PurgeableBlocks,
  686. DWORD *NotYetPurgeableBlocks,
  687. DWORD *TotalDirectoryEntries,
  688. DWORD *AvailableDirectoryEntries,
  689. BYTE *SectorsPerBlock
  690. );
  691. NWCCODE
  692. NWCCreateQueue(
  693. NWCONN_HANDLE hConn,
  694. NWDIR_HANDLE dirHandle,
  695. const char NWFAR *pszQueueName,
  696. NWOBJ_TYPE wQueueType,
  697. const char NWFAR *pszPathName,
  698. NWOBJ_ID NWFAR *pdwQueueId
  699. );
  700. NWCCODE
  701. NWCChangePropertySecurity(
  702. NWCONN_HANDLE hConn,
  703. const char NWFAR *pszObjName,
  704. NWOBJ_TYPE wObjType,
  705. const char NWFAR *pszPropertyName,
  706. NWFLAGS ucObjSecurity
  707. );
  708. NWCCODE
  709. NWCDestroyQueue(
  710. NWCONN_HANDLE hConn,
  711. NWOBJ_ID dwQueueId
  712. );
  713. #ifdef __cplusplus
  714. }
  715. #endif /* __cplusplus */
  716. #endif //_NWAPI32_H_
  717.