353 lines
8.3 KiB
C
353 lines
8.3 KiB
C
/******************************************************************************
|
|
|
|
%name: nwdirect.h %
|
|
%version: 1 %
|
|
%date_modified: Mon Aug 08 13:07:32 2005 %
|
|
$Copyright:
|
|
|
|
Copyright (c) 1989-1995 Novell, Inc. All Rights Reserved.
|
|
|
|
THIS WORK IS SUBJECT TO U.S. AND INTERNATIONAL COPYRIGHT LAWS AND
|
|
TREATIES. NO PART OF THIS WORK MAY BE USED, PRACTICED, PERFORMED
|
|
COPIED, DISTRIBUTED, REVISED, MODIFIED, TRANSLATED, ABRIDGED, CONDENSED,
|
|
EXPANDED, COLLECTED, COMPILED, LINKED, RECAST, TRANSFORMED OR ADAPTED
|
|
WITHOUT THE PRIOR WRITTEN CONSENT OF NOVELL, INC. ANY USE OR EXPLOITATION
|
|
OF THIS WORK WITHOUT AUTHORIZATION COULD SUBJECT THE PERPETRATOR TO
|
|
CRIMINAL AND CIVIL LIABILITY.$
|
|
|
|
*****************************************************************************/
|
|
|
|
#if ! defined ( NWDIRECT_H )
|
|
#define NWDIRECT_H
|
|
|
|
#if ! defined ( NTYPES_H )
|
|
#include "ntypes.h"
|
|
#endif
|
|
|
|
#if ! defined ( NWAPIDEF_H )
|
|
#include "nwapidef.h"
|
|
#endif
|
|
|
|
#if ! defined ( NWCALDEF_H )
|
|
#include "nwcaldef.h"
|
|
#endif
|
|
|
|
#include "npackon.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct
|
|
{
|
|
nuint32 totalBlocks;
|
|
nuint32 availableBlocks;
|
|
|
|
nuint32 purgeableBlocks; /* set to zero if a dirHandle is present */
|
|
nuint32 notYetPurgeableBlocks;/*....when the NWGetDIrSpaceInfo() is called */
|
|
|
|
nuint32 totalDirEntries;
|
|
nuint32 availableDirEntries;
|
|
nuint32 reserved;
|
|
nuint8 sectorsPerBlock;
|
|
nuint8 volLen;
|
|
nuint8 volName[NW_MAX_VOLUME_NAME_LEN];
|
|
} DIR_SPACE_INFO;
|
|
|
|
/* Trustee Access Rights in a network directory */
|
|
/* NOTE: TA_OPEN is obsolete in 3.x */
|
|
#ifndef TA_NONE
|
|
#define TA_NONE 0x00
|
|
#define TA_READ 0x01
|
|
#define TA_WRITE 0x02
|
|
#define TA_OPEN 0x04
|
|
#define TA_CREATE 0x08
|
|
#define TA_DELETE 0x10
|
|
#define TA_OWNERSHIP 0x20
|
|
#define TA_SEARCH 0x40
|
|
#define TA_MODIFY 0x80
|
|
#define TA_ALL 0xFB
|
|
#endif
|
|
|
|
typedef struct
|
|
{
|
|
nuint32 objectID;
|
|
nuint16 objectRights;
|
|
} TRUSTEE_INFO;
|
|
|
|
typedef struct
|
|
{
|
|
nuint8 numEntries;
|
|
struct
|
|
{
|
|
nuint8 level;
|
|
nuint32 max;
|
|
nuint32 current;
|
|
} list[102];
|
|
} NW_LIMIT_LIST;
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWAddTrusteeToDirectory
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
const nstr8 N_FAR * path,
|
|
nuint32 trusteeID,
|
|
nuint8 rightsMask
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWDeleteTrusteeFromDirectory
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
const nstr8 N_FAR * path,
|
|
nuint32 objID
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWGetEffectiveDirectoryRights
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
const nstr8 N_FAR * path,
|
|
pnuint16 rightsMask
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWModifyMaximumRightsMask
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
const nstr8 N_FAR * path,
|
|
nuint8 revokeRightsMask,
|
|
nuint8 grantRightsMask
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWScanDirectoryForTrustees
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
const nstr8 N_FAR * searchPath,
|
|
pnuint16 iterHandle,
|
|
pnstr8 dirName,
|
|
pnuint32 dirDateTime,
|
|
pnuint32 ownerID,
|
|
pnuint32 trusteeIDs,
|
|
pnuint8 trusteeRights
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWScanDirectoryForTrustees2
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
const nstr8 N_FAR * searchPath,
|
|
pnuint32 iterHandle,
|
|
pnstr8 dirName,
|
|
pnuint32 dirDateTime,
|
|
pnuint32 ownerID,
|
|
TRUSTEE_INFO N_FAR * trusteeList
|
|
);
|
|
|
|
#define NWScanDirectoryInformation(a, b, c, d, e, f, g, h) \
|
|
NWIntScanDirectoryInformation(a, b, c, d, e, f, g, h, 0)
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWIntScanDirectoryInformation
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
const nstr8 N_FAR * searchPath,
|
|
pnuint16 iterHandle,
|
|
pnstr8 dirName,
|
|
pnuint32 dirDateTime,
|
|
pnuint32 ownerID,
|
|
pnuint8 rightsMask,
|
|
nuint16 augmentFlag
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWIntScanDirectoryInformation2
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
const nstr8 N_FAR * searchPath,
|
|
pnuint8 sequence,
|
|
pnstr8 dirName,
|
|
pnuint32 dirDateTime,
|
|
pnuint32 ownerID,
|
|
pnuint8 rightsMask,
|
|
nuint16 augmentFlag
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWSetDirectoryInformation
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
const nstr8 N_FAR * path,
|
|
nuint32 dirDateTime,
|
|
nuint32 ownerID,
|
|
nuint8 rightsMask
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWAllocPermanentDirectoryHandle
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
const nstr8 N_FAR * dirPath,
|
|
NWDIR_HANDLE N_FAR * newDirHandle,
|
|
pnuint8 effectiveRights
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWAllocTemporaryDirectoryHandle
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
const nstr8 N_FAR * dirPath,
|
|
NWDIR_HANDLE N_FAR * newDirHandle,
|
|
pnuint8 rightsMask
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWDeallocateDirectoryHandle
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWSetDirectoryHandlePath
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE sourceDirHandle,
|
|
const nstr8 N_FAR * dirPath,
|
|
NWDIR_HANDLE destDirHandle
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWGetDirectoryHandlePath
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
pnstr8 dirPath
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWCreateDirectory
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
const nstr8 N_FAR * dirPath,
|
|
nuint8 accessMask
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWDeleteDirectory
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
const nstr8 N_FAR * dirPath
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWRenameDirectory
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
const nstr8 N_FAR * oldName,
|
|
const nstr8 N_FAR * newName
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWSetDirSpaceLimit
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
nuint32 spaceLimit
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWGetDirSpaceLimitList
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
pnuint8 returnBuf
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWGetDirSpaceLimitList2
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
NW_LIMIT_LIST N_FAR * limitList
|
|
);
|
|
|
|
N_EXTERN_LIBRARY( NWCCODE )
|
|
NWGetDirSpaceInfo
|
|
(
|
|
NWCONN_HANDLE conn,
|
|
NWDIR_HANDLE dirHandle,
|
|
nuint16 volNum,
|
|
DIR_SPACE_INFO N_FAR * spaceInfo
|
|
);
|
|
|
|
#ifndef TF_READ_ONLY
|
|
#define TF_NORMAL 0x0000
|
|
#define TF_READ_ONLY 0x0001L
|
|
#define TF_HIDDEN 0x0002L
|
|
#define TF_SYSTEM 0x0004L
|
|
#define TF_EXECUTE_ONLY 0x0008L
|
|
|
|
#define TF_DIRECTORY 0x0010L
|
|
#define TF_NEEDS_ARCHIVED 0x0020L
|
|
#define TF_EXECUTE_CONFIRM 0X0040L
|
|
#define TF_SHAREABLE 0x0080L
|
|
|
|
#define TF_LOW_SEARCH_BIT 0x0100L
|
|
#define TF_MID_SEARCH_BIT 0x0200L
|
|
#define TF_HI_SEARCH_BIT 0x0400L
|
|
#define TF_PRIVATE 0x0800L
|
|
|
|
#define TF_TRANSACTIONAL 0x1000L
|
|
#define TF_INDEXED 0x2000L
|
|
#define TF_READ_AUDIT 0x4000L
|
|
#define TF_WRITE_AUDIT 0x8000L
|
|
|
|
#define TF_PURGE 0x10000L
|
|
#define TF_RENAME_INHIBIT 0x20000L
|
|
#define TF_DELETE_INHIBIT 0x40000L
|
|
#define TF_COPY_INHIBIT 0x80000L
|
|
#define TF_AUDITING_BIT 0x00100000L
|
|
#endif
|
|
|
|
/* DIRECTORY ATTRIBUTES */
|
|
|
|
#define TD_HIDDEN TF_HIDDEN
|
|
#define TD_SYSTEM TF_SYSTEM
|
|
#define TD_PURGE TF_PURGE
|
|
#define TD_PRIVATE TF_PRIVATE
|
|
#define TD_VISIBLE TF_PRIVATE
|
|
#define TD_RENAME_INHIBIT TF_RENAME_INHIBIT
|
|
#define TD_DELETE_INHIBIT TF_DELETE_INHIBIT
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
/* The NLM LibC x-plat libraries do not support obsolete apis
|
|
*/
|
|
#include <stddef.h>
|
|
#if !defined(__NOVELL_LIBC__)
|
|
#ifdef INCLUDE_OBSOLETE
|
|
#include "obsolete/o_direct.h"
|
|
#endif
|
|
#endif /* !defined(__NOVELL_LIBC__) */
|
|
|
|
#include "npackoff.h"
|
|
#endif
|