summaryrefslogtreecommitdiffstats
path: root/private/nw/inc/nwapi32.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/nw/inc/nwapi32.h')
-rw-r--r--private/nw/inc/nwapi32.h810
1 files changed, 810 insertions, 0 deletions
diff --git a/private/nw/inc/nwapi32.h b/private/nw/inc/nwapi32.h
new file mode 100644
index 000000000..d31dbfc81
--- /dev/null
+++ b/private/nw/inc/nwapi32.h
@@ -0,0 +1,810 @@
+//////////////////////////////////////////////////////////////////////////////
+//
+// Copyright (C) 1993 Microsoft Corporation
+//
+// Module Name:
+//
+// nwapi32.h
+//
+// Abstract:
+//
+// This module contains the support for calls into CSNW.
+//
+// Author:
+//
+// Chris Sandys (a-chrisa) 09-Sep-1993
+//
+// Revision History:
+// Chuck Y Chan Feb 3, 1994 Make it NT like
+// Chuck Y Chan Feb 4, 1996 Merged in calls used by DSMN (from
+// nwcapi32.h)
+//
+//////////////////////////////////////////////////////////////////////////////
+
+
+#ifndef _NWAPI32_H_
+#define _NWAPI32_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+
+//
+// Order of Funtions
+//
+// NWAddTrusteeToDirectory
+// NWAllocTemporaryDirectoryHandle
+// NWAllocPermanentDirectoryHandle
+// NWAttachToFileServer
+// NWCheckConsolePrivileges
+// NWDeallocateDirectoryHandle
+// NWDetachFromFileServer
+// NWGetFileServerVersionInfo
+// NWGetInternetAddress
+// NWGetObjectName
+// NWGetVolumeInfoWithHandle
+// NWGetVolumeInfoWithNumber
+// NWGetVolumeName
+// NWIsObjectInSet
+// NWLoginToFileServer
+// NWLogoutFromFileServer
+// NWReadPropertyValue
+// NWScanObject
+// NWScanProperty
+
+
+///////////////////////////////////////////////////////////////////////////////
+// //
+// Manifests and structures //
+// //
+///////////////////////////////////////////////////////////////////////////////
+
+//
+// Version Structure
+//
+#include <packon.h>
+
+typedef struct _VERSION_INFO {
+ BYTE szName[48];
+ BYTE Version;
+ BYTE SubVersion;
+ WORD ConnsSupported;
+ WORD connsInUse;
+ WORD maxVolumes;
+ BYTE OSRev;
+ BYTE SFTLevel;
+ BYTE TTSLevel;
+ WORD PeakConns;
+ BYTE AcctVer;
+ BYTE VAPVer;
+ BYTE QueueVer;
+ BYTE PrintVer;
+ BYTE VirtualConsoleVer;
+ BYTE SecurityResLevel;
+ BYTE InternetworkBVer;
+ BYTE Reserved[60];
+} VERSION_INFO;
+
+#include <packoff.h>
+
+//
+// DLL Defination
+//
+#define DLLEXPORT
+
+//
+// Misc type definitions
+//
+#define NWCCODE USHORT
+#define NWLOCAL_SCOPE USHORT
+#define NWCONN_HANDLE HANDLE
+#define NWFAR
+#define NWAPI WINAPI
+#define NWOBJ_TYPE USHORT
+#define NWOBJ_ID DWORD
+#define NWFLAGS UCHAR
+#define NWVOL_NUM UCHAR
+#define NWDIR_HANDLE UCHAR
+#define NWACCESS_RIGHTS BYTE
+#define NWCONN_NUM USHORT
+#define NWNET_ADDR UCHAR
+#define NWNUMBER WORD
+#define NWVOL_FLAGS WORD
+#define NWSEGMENT_NUM UCHAR
+#define NWSEGMENT_DATA BYTE
+#define NWRIGHTS_MASK WORD
+#define NWSEQUENCE BYTE
+#define NWINDEX_TYPE USHORT
+#define NWDATE_TIME DWORD
+#define NWDIR_TRUSTEE_RIGHTS WORD
+#define NWSEQUENCE BYTE
+
+typedef struct {
+ NWOBJ_ID objectID;
+ NWDIR_TRUSTEE_RIGHTS objectRights;
+} TRUSTEE_INFO;
+
+//
+// Object Types (already in HI-LO format)
+//
+#define OT_WILD 0xFFFF
+#define OT_UNKNOWN 0x0000
+#define OT_USER 0x0100
+#define OT_USER_GROUP 0x0200
+#define OT_PRINT_QUEUE 0x0300
+#define OT_FILE_SERVER 0x0400
+#define OT_JOB_SERVER 0x0500
+#define OT_GATEWAY 0x0600
+#define OT_PRINT_SERVER 0x0700
+#define OT_ARCHIVE_QUEUE 0x0800
+#define OT_ARCHIVE_SERVER 0x0900
+#define OT_JOB_QUEUE 0x0A00
+#define OT_ADMINISTRATION 0x0B00
+#define OT_NAS_SNA_GATEWAY 0x2100
+#define OT_REMOTE_BRIDGE_SERVER 0x2600
+#define OT_TCPIP_GATEWAY 0x2700
+#define OT_DIRSERVER 0x7802
+
+//
+// Bindery object property flag
+//
+#define BF_STATIC 0x00
+#define BF_DYNAMIC 0x01
+#define BF_ITEM 0x00
+#define BF_SET 0x02
+
+//
+// Bindery object security flag
+//
+#define BS_ANY_READ 0x00
+#define BS_LOGGED_READ 0x01
+#define BS_OBJECT_READ 0x02
+#define BS_SUPER_READ 0x03
+#define BS_BINDERY_READ 0x04
+#define BS_ANY_WRITE 0x00
+#define BS_LOGGED_WRITE 0x10
+#define BS_OBJECT_WRITE 0x20
+#define BS_SUPER_WRITE 0x30
+#define BS_BINDERY_WRITE 0x40
+
+//
+// Size Of Things
+//
+#define OBJ_NAME_SIZE 48 // ScanObject name size
+#define VOL_NAME_SIZE 16 // Get Volume Name Size
+#define NW_USER_SIZE 50
+#define NW_GROUP_SIZE 50
+#define NW_PROP_SIZE 50
+#define NW_DATA_SIZE 128
+#define NW_PROP_SET 0x02
+
+//
+// Return Codes
+//
+#define UNSUCCESSFUL -1
+#define SUCCESSFUL 0x0000
+#define REQUESTER_ERROR 0x8800
+
+#define ALREADY_ATTACHED 0x8800
+#define INVALID_CONNECTION 0x8801
+#define NO_CONSOLE_RIGHTS 0x89C6
+#define SERVER_OUT_OF_MEMORY 0x8996
+#define VOLUME_DOES_NOT_EXIST 0x8998
+#define BAD_DIRECTORY_HANDLE 0x899B
+#define INVALID_PATH 0x899C
+#define OBJECT_ALREADY_EXISTS 0x89EE
+#define NO_OBJECT_READ_PRIVILEGE 0x89FB
+#define NO_SUCH_PROPERTY 0x89FB
+#define UNKNOWN_FILE_SERVER 0x89FC
+#define NO_SUCH_OBJECT 0x89FC
+#define NO_FILES_FOUND_ERROR 0x89FF
+
+//
+// Swap MACROS
+//
+#define wSWAP(x) (USHORT)(((((USHORT)x)<<8)&0xFF00) | ((((USHORT)x)>>8)&0x00FF))
+#define dwSWAP(x) (DWORD)( ((((DWORD)x)<<24)&0xFF000000) | ((((DWORD)x)<<8)&0x00FF0000) | ((((DWORD)x)>>8)&0x0000FF00) | ((((DWORD)x)>>24)&0x000000FF) )
+
+#define DW_SIZE 4 // used for placing RAW bytes
+#define W_SIZE 2
+
+
+///////////////////////////////////////////////////////////////////////////////
+// //
+// Original functions from Chris Sandys. Keep for compatibility. //
+// //
+///////////////////////////////////////////////////////////////////////////////
+
+NWCCODE NWAPI DLLEXPORT
+NWAddTrusteeToDirectory(
+ NWCONN_HANDLE hConn,
+ NWDIR_HANDLE dirHandle,
+ const char NWFAR *pszPath,
+ NWOBJ_ID dwTrusteeID,
+ NWACCESS_RIGHTS rightsMask
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWAllocPermanentDirectoryHandle(
+ NWCONN_HANDLE hConn,
+ NWDIR_HANDLE dirHandle,
+ char NWFAR *pszDirPath,
+ NWDIR_HANDLE NWFAR *pbNewDirHandle,
+ NWACCESS_RIGHTS NWFAR *pbRightsMask
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWAllocTemporaryDirectoryHandle(
+ NWCONN_HANDLE hConn,
+ NWDIR_HANDLE dirHandle,
+ char NWFAR *pszDirPath,
+ NWDIR_HANDLE NWFAR *pbNewDirHandle,
+ NWACCESS_RIGHTS NWFAR *pbRightsMask
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWAttachToFileServer(
+ const char NWFAR *pszServerName,
+ NWLOCAL_SCOPE ScopeFlag,
+ NWCONN_HANDLE NWFAR *phNewConn
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWAttachToFileServerW(
+ const WCHAR NWFAR *pszServerName,
+ NWLOCAL_SCOPE ScopeFlag,
+ NWCONN_HANDLE NWFAR *phNewConn
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWCheckConsolePrivileges(
+ NWCONN_HANDLE hConn
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWDeallocateDirectoryHandle(
+ NWCONN_HANDLE hConn,
+ NWDIR_HANDLE dirHandle
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWDetachFromFileServer(
+ NWCONN_HANDLE hConn
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWGetFileServerVersionInfo(
+ NWCONN_HANDLE hConn,
+ VERSION_INFO NWFAR *lpVerInfo
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWGetInternetAddress(
+ NWCONN_HANDLE hConn,
+ NWCONN_NUM nConnNum,
+ NWNET_ADDR NWFAR *pIntAddr
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWGetObjectName(
+ NWCONN_HANDLE hConn,
+ NWOBJ_ID dwObjectID,
+ char NWFAR *pszObjName,
+ NWOBJ_TYPE NWFAR *pwObjType
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWGetVolumeInfoWithHandle(
+ NWCONN_HANDLE hConn,
+ NWDIR_HANDLE nDirHand,
+ char NWFAR *pszVolName,
+ NWNUMBER NWFAR *pwTotalBlocks,
+ NWNUMBER NWFAR *pwSectors,
+ NWNUMBER NWFAR *pwAvailBlocks,
+ NWNUMBER NWFAR *pwTotalDir,
+ NWNUMBER NWFAR *pwAvailDir,
+ NWVOL_FLAGS NWFAR *pfVolRemovable
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWGetVolumeInfoWithNumber(
+ NWCONN_HANDLE hConn,
+ NWVOL_NUM nVolNum,
+ char NWFAR *pszVolName,
+ NWNUMBER NWFAR *pwTotalBlocks,
+ NWNUMBER NWFAR *pwSectors,
+ NWNUMBER NWFAR *pwAvailBlocks,
+ NWNUMBER NWFAR *pwTotalDir,
+ NWNUMBER NWFAR *pwAvailDir,
+ NWVOL_FLAGS NWFAR *pfVolRemovable
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWGetVolumeName(
+ NWCONN_HANDLE hConn,
+ NWVOL_NUM bVolNum,
+ char NWFAR *pszVolName
+ );
+
+NWCCODE NWAPI DLLEXPORT /* ??? */
+NWLoginToFileServer(
+ NWCONN_HANDLE hConn,
+ const char NWFAR *pszUserName,
+ NWOBJ_TYPE wObType,
+ const char NWFAR *pszPassword
+ );
+
+NWCCODE NWAPI DLLEXPORT /* ??? */
+NWLogoutFromFileServer(
+ NWCONN_HANDLE hConn
+ );
+
+NWCCODE NWAPI DLLEXPORT /* ??? */
+NWReadPropertyValue(
+ NWCONN_HANDLE hConn,
+ const char NWFAR *pszObjName,
+ NWOBJ_TYPE wObjType,
+ char NWFAR *pszPropName,
+ unsigned char ucSegment,
+ char NWFAR *pValue,
+ NWFLAGS NWFAR *pucMoreFlag,
+ NWFLAGS NWFAR *pucPropFlag
+ );
+
+
+NWCCODE NWAPI DLLEXPORT
+NWScanObject(
+ NWCONN_HANDLE hConn,
+ const char NWFAR *pszSearchName,
+ NWOBJ_TYPE wObjSearchType,
+ NWOBJ_ID NWFAR *pdwObjectID,
+ char NWFAR *pszObjectName,
+ NWOBJ_TYPE NWFAR *pwObjType,
+ NWFLAGS NWFAR *pucHasProperties,
+ NWFLAGS NWFAR *pucObjectFlags,
+ NWFLAGS NWFAR *pucObjSecurity
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWScanProperty(
+ NWCONN_HANDLE hConn,
+ const char NWFAR *pszObjectName,
+ NWOBJ_TYPE wObjType,
+ char NWFAR *pszSearchName,
+ NWOBJ_ID NWFAR *pdwSequence,
+ char NWFAR *pszPropName,
+ NWFLAGS NWFAR *pucPropFlags,
+ NWFLAGS NWFAR *pucPropSecurity,
+ NWFLAGS NWFAR *pucHasValue,
+ NWFLAGS NWFAR *pucMore
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWIsObjectInSet(
+ NWCONN_HANDLE hConn,
+ const char NWFAR *lpszObjectName,
+ NWOBJ_TYPE wObjType,
+ const char NWFAR *lpszPropertyName,
+ const char NWFAR *lpszMemberName,
+ NWOBJ_TYPE wMemberType
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWGetFileServerDateAndTime(
+ NWCONN_HANDLE hConn,
+ BYTE NWFAR *year,
+ BYTE NWFAR *month,
+ BYTE NWFAR *day,
+ BYTE NWFAR *hour,
+ BYTE NWFAR *minute,
+ BYTE NWFAR *second,
+ BYTE NWFAR *dayofweek
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWCreateQueue(
+ NWCONN_HANDLE hConn,
+ NWDIR_HANDLE dirHandle,
+ const char NWFAR *pszQueueName,
+ NWOBJ_TYPE wQueueType,
+ const char NWFAR *pszPathName,
+ NWOBJ_ID NWFAR *pdwQueueId
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWChangePropertySecurity(
+ NWCONN_HANDLE hConn,
+ const char NWFAR *pszObjName,
+ NWOBJ_TYPE wObjType,
+ const char NWFAR *pszPropertyName,
+ NWFLAGS ucObjSecurity
+ );
+
+NWCCODE NWAPI DLLEXPORT
+NWDestroyQueue(
+ NWCONN_HANDLE hConn,
+ NWOBJ_ID dwQueueId
+ );
+
+///////////////////////////////////////////////////////////////////////////////
+// //
+// Newer and more complete NWC functions. //
+// //
+// These functions return NetWare compatible error codes. Win32 error may //
+// be obtained by calling GetLastError(). //
+// //
+///////////////////////////////////////////////////////////////////////////////
+
+
+NWCCODE
+NWCAddTrusteeToDirectory(
+ NWCONN_HANDLE hConn,
+ NWDIR_HANDLE dirHandle,
+ const char *pszPath,
+ NWOBJ_ID dwTrusteeID,
+ NWACCESS_RIGHTS rightsMask
+ );
+
+NWCCODE
+NWCAllocPermanentDirectoryHandle(
+ NWCONN_HANDLE hConn,
+ NWDIR_HANDLE dirHandle,
+ char *pszDirPath,
+ NWDIR_HANDLE *pbNewDirHandle,
+ NWACCESS_RIGHTS *pbRightsMask
+ );
+
+NWCCODE
+NWCAllocTemporaryDirectoryHandle(
+ NWCONN_HANDLE hConn,
+ NWDIR_HANDLE dirHandle,
+ char *pszDirPath,
+ NWDIR_HANDLE *pbNewDirHandle,
+ NWACCESS_RIGHTS *pbRightsMask
+ );
+
+NWCCODE
+NWCAttachToFileServer(
+ const char *pszServerName,
+ NWLOCAL_SCOPE ScopeFlag,
+ NWCONN_HANDLE *phNewConn
+ );
+
+NWCCODE
+NWCAttachToFileServerW(
+ const WCHAR *pszServerName,
+ NWLOCAL_SCOPE ScopeFlag,
+ NWCONN_HANDLE *phNewConn
+ );
+
+NWCCODE
+NWCCheckConsolePrivileges(
+ NWCONN_HANDLE hConn
+ );
+
+NWCCODE
+NWCDeallocateDirectoryHandle(
+ NWCONN_HANDLE hConn,
+ NWDIR_HANDLE dirHandle
+ );
+
+NWCCODE
+NWCDetachFromFileServer(
+ NWCONN_HANDLE hConn
+ );
+
+NWCCODE
+NWCGetFileServerVersionInfo(
+ NWCONN_HANDLE hConn,
+ VERSION_INFO *lpVerInfo
+ );
+
+NWCCODE
+NWCGetInternetAddress(
+ NWCONN_HANDLE hConn,
+ NWCONN_NUM nConnNum,
+ NWNET_ADDR *pIntAddr
+ );
+
+NWCCODE
+NWCGetObjectName(
+ NWCONN_HANDLE hConn,
+ NWOBJ_ID dwObjectID,
+ char *pszObjName,
+ NWOBJ_TYPE *pwObjType
+ );
+
+NWCCODE
+NWCGetVolumeInfoWithHandle(
+ NWCONN_HANDLE hConn,
+ NWDIR_HANDLE nDirHand,
+ char *pszVolName,
+ NWNUMBER *pwTotalBlocks,
+ NWNUMBER *pwSectors,
+ NWNUMBER *pwAvailBlocks,
+ NWNUMBER *pwTotalDir,
+ NWNUMBER *pwAvailDir,
+ NWVOL_FLAGS *pfVolRemovable
+ );
+
+NWCCODE
+NWCGetVolumeInfoWithNumber(
+ NWCONN_HANDLE hConn,
+ NWVOL_NUM nVolNum,
+ char *pszVolName,
+ NWNUMBER *pwTotalBlocks,
+ NWNUMBER *pwSectors,
+ NWNUMBER *pwAvailBlocks,
+ NWNUMBER *pwTotalDir,
+ NWNUMBER *pwAvailDir,
+ NWVOL_FLAGS *pfVolRemovable
+ );
+
+NWCCODE
+NWCGetVolumeName(
+ NWCONN_HANDLE hConn,
+ NWVOL_NUM bVolNum,
+ char *pszVolName
+ );
+
+NWCCODE
+NWCLoginToFileServer(
+ NWCONN_HANDLE hConn,
+ const char *pszUserName,
+ NWOBJ_TYPE wObType,
+ const char *pszPassword
+ );
+
+NWCCODE
+NWCLogoutFromFileServer(
+ NWCONN_HANDLE hConn
+ );
+
+NWCCODE
+NWCReadPropertyValue(
+ NWCONN_HANDLE hConn,
+ const char *pszObjName,
+ NWOBJ_TYPE wObjType,
+ char *pszPropName,
+ unsigned char ucSegment,
+ char *pValue,
+ NWFLAGS *pucMoreFlag,
+ NWFLAGS *pucPropFlag
+ );
+
+
+NWCCODE
+NWCScanObject(
+ NWCONN_HANDLE hConn,
+ const char *pszSearchName,
+ NWOBJ_TYPE wObjSearchType,
+ NWOBJ_ID *pdwObjectID,
+ char *pszObjectName,
+ NWOBJ_TYPE *pwObjType,
+ NWFLAGS *pucHasProperties,
+ NWFLAGS *pucObjectFlags,
+ NWFLAGS *pucObjSecurity
+ );
+
+NWCCODE
+NWCScanProperty(
+ NWCONN_HANDLE hConn,
+ const char *pszObjectName,
+ NWOBJ_TYPE wObjType,
+ char *pszSearchName,
+ NWOBJ_ID *pdwSequence,
+ char *pszPropName,
+ NWFLAGS *pucPropFlags,
+ NWFLAGS *pucPropSecurity,
+ NWFLAGS *pucHasValue,
+ NWFLAGS *pucMore
+ );
+
+NWCCODE
+NWCIsObjectInSet(
+ NWCONN_HANDLE hConn,
+ const char *lpszObjectName,
+ NWOBJ_TYPE wObjType,
+ const char *lpszPropertyName,
+ const char *lpszMemberName,
+ NWOBJ_TYPE wMemberType
+ );
+
+NWCCODE
+NWCGetFileServerDateAndTime(
+ NWCONN_HANDLE hConn,
+ BYTE *year,
+ BYTE *month,
+ BYTE *day,
+ BYTE *hour,
+ BYTE *minute,
+ BYTE *second,
+ BYTE *dayofweek
+ );
+
+NWCCODE
+NWCAddTrustee(
+ NWCONN_HANDLE hConn,
+ NWDIR_HANDLE dirHandle,
+ const char *pszPath,
+ NWOBJ_ID dwTrusteeID,
+ NWRIGHTS_MASK rightsMask
+ );
+
+NWCCODE
+NWCDeleteObject(
+ NWCONN_HANDLE hConn,
+ const char *pszObjectName,
+ NWOBJ_TYPE wObjType
+ );
+
+NWCCODE
+NWCCreateObject(
+ NWCONN_HANDLE hConn,
+ const char *pszObjectName,
+ NWOBJ_TYPE wObjType,
+ NWFLAGS ucObjectFlags,
+ NWFLAGS ucObjSecurity
+ );
+
+NWCCODE
+NWCCreateProperty(
+ NWCONN_HANDLE hConn,
+ const char *pszObjectName,
+ NWOBJ_TYPE wObjType,
+ const char *pszPropertyName,
+ NWFLAGS ucObjectFlags,
+ NWFLAGS ucObjSecurity
+ );
+
+NWCCODE
+NWCDeleteProperty(
+ NWCONN_HANDLE hConn,
+ const char *pszObjectName,
+ NWOBJ_TYPE wObjType,
+ const char *pszPropertyName
+ );
+
+NWCCODE
+NWCWritePropertyValue(
+ NWCONN_HANDLE hConn,
+ const char *pszObjectName,
+ NWOBJ_TYPE wObjType,
+ const char *pszPropertyName,
+ NWSEGMENT_NUM segmentNumber,
+ NWSEGMENT_DATA *segmentData,
+ NWFLAGS moreSegments
+ );
+
+NWCCODE
+NWCGetObjectID(
+ NWCONN_HANDLE hConn,
+ const char *pszObjectName,
+ NWOBJ_TYPE wObjType,
+ NWOBJ_ID *objectID
+ );
+
+NWCCODE
+NWCRenameBinderyObject(
+ NWCONN_HANDLE hConn,
+ const char *pszObjectName,
+ const char *pszNewObjectName,
+ NWOBJ_TYPE wObjType
+ );
+
+NWCCODE
+NWCAddObjectToSet(
+ NWCONN_HANDLE hConn,
+ const char *pszObjectName,
+ NWOBJ_TYPE wObjType,
+ const char *pszPropertyName,
+ const char *pszMemberName,
+ NWOBJ_TYPE memberType
+ );
+
+NWCCODE
+NWCDeleteObjectFromSet(
+ NWCONN_HANDLE hConn,
+ const char *pszObjectName,
+ NWOBJ_TYPE wObjType,
+ const char *pszPropertyName,
+ const char *pszMemberName,
+ NWOBJ_TYPE memberType
+ );
+
+NWCCODE
+NWCCreateDirectory(
+ NWCONN_HANDLE hConn,
+ NWDIR_HANDLE dirHandle,
+ const char *pszPath,
+ NWACCESS_RIGHTS accessMask
+ );
+
+NWCCODE
+NWCScanForTrustees(
+ NWCONN_HANDLE hConn,
+ NWDIR_HANDLE dirHandle,
+ char *pszsearchDirPath,
+ NWSEQUENCE *pucsequenceNumber,
+ BYTE *numberOfEntries,
+ TRUSTEE_INFO *tl
+ );
+
+NWCCODE
+NWCScanDirectoryForTrustees2(
+ NWCONN_HANDLE hConn,
+ NWDIR_HANDLE dirHandle,
+ char *pszsearchDirPath,
+ NWSEQUENCE *pucsequenceNumber,
+ char *pszdirName,
+ NWDATE_TIME *dirDateTime,
+ NWOBJ_ID *ownerID,
+ TRUSTEE_INFO *trusteeList
+ );
+
+NWCCODE
+NWCGetBinderyAccessLevel(
+ NWCONN_HANDLE hConn,
+ NWFLAGS *accessLevel,
+ NWOBJ_ID *objectID
+ );
+
+NWCCODE
+NWCGetFileServerDescription(
+ NWCONN_HANDLE hConn,
+ char *pszCompany,
+ char *pszVersion,
+ char *pszRevision
+);
+
+NWCCODE
+NWCGetVolumeNumber(
+ NWCONN_HANDLE hConn,
+ char *pszVolume,
+ NWVOL_NUM *VolumeNumber
+);
+
+NWCCODE
+NWCGetVolumeUsage(
+ NWCONN_HANDLE hConn,
+ NWVOL_NUM VolumeNumber,
+ DWORD *TotalBlocks,
+ DWORD *FreeBlocks,
+ DWORD *PurgeableBlocks,
+ DWORD *NotYetPurgeableBlocks,
+ DWORD *TotalDirectoryEntries,
+ DWORD *AvailableDirectoryEntries,
+ BYTE *SectorsPerBlock
+);
+
+NWCCODE
+NWCCreateQueue(
+ NWCONN_HANDLE hConn,
+ NWDIR_HANDLE dirHandle,
+ const char NWFAR *pszQueueName,
+ NWOBJ_TYPE wQueueType,
+ const char NWFAR *pszPathName,
+ NWOBJ_ID NWFAR *pdwQueueId
+ );
+
+NWCCODE
+NWCChangePropertySecurity(
+ NWCONN_HANDLE hConn,
+ const char NWFAR *pszObjName,
+ NWOBJ_TYPE wObjType,
+ const char NWFAR *pszPropertyName,
+ NWFLAGS ucObjSecurity
+ );
+
+NWCCODE
+NWCDestroyQueue(
+ NWCONN_HANDLE hConn,
+ NWOBJ_ID dwQueueId
+ );
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif //_NWAPI32_H_