CASA/LoginCapture/windows/external/xplatapi/include/nwdentry.h
2005-10-11 19:51:00 +00:00

317 lines
7.8 KiB
C

/******************************************************************************
%name: nwdentry.h %
%version: 1 %
%date_modified: Mon Aug 08 13:07:30 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 ( NWDENTRY_H )
#define NWDENTRY_H
#if ! defined ( NTYPES_H )
#include "ntypes.h"
#endif
#if ! defined ( NWCALDEF_H )
#include "nwcaldef.h"
#endif
#if ! defined ( NWDIRECT_H ) /* Needed to define TRUSTEE_INFO */
#include "nwdirect.h"
#endif
#include "npackon.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct
{
nstr8 entryName[16];
nuint32 creationDateAndTime;
nuint32 ownerID;
nuint32 sequenceNumber;
TRUSTEE_INFO trusteeList[20];
} NWET_INFO;
typedef struct
{
nstr8 entryName[16];
nuint32 creationDateAndTime;
nuint32 ownerID;
nuint32 sequenceNumber;
TRUSTEE_INFO trusteeList[100];
} NWET_INFO_EXT;
typedef struct
{
nuint32 updateDateAndTime;
nuint32 updatorID;
nuint32 fileSize;
nuint8 reserved[44];
nuint16 inheritedRightsMask;
nuint16 lastAccessDate;
nuint8 reserved2[28];
} NWFILE_INFO;
typedef struct
{
nuint32 lastModifyDateAndTime;
nuint32 nextTrusteeEntry;
nuint8 reserved[48];
nuint32 maximumSpace;
nuint16 inheritedRightsMask;
nuint8 reserved2[14];
nuint32 volObjectID;
nuint8 reserved3[8];
} NWDIR_INFO;
typedef struct
{
nuint32 sequence;
nuint32 parent;
nuint32 attributes;
nuint8 uniqueID;
nuint8 flags;
nuint8 nameSpace;
nuint8 nameLength;
nuint8 name[12];
nuint32 creationDateAndTime;
nuint32 ownerID;
nuint32 lastArchiveDateAndTime;
nuint32 lastArchiverID;
union
{
NWFILE_INFO file;
NWDIR_INFO dir;
}info;
} NWENTRY_INFO;
typedef struct
{
nuint32 sequence;
nuint32 parent;
nuint32 attributes;
nuint8 uniqueID;
nuint8 flags;
nuint8 nameSpace;
nuint8 nameLength;
nuint8 name [12];
nuint32 creationDateAndTime;
nuint32 ownerID;
nuint32 lastArchiveDateAndTime;
nuint32 lastArchiverID;
nuint32 updateDateAndTime;
nuint32 lastUpdatorID;
nuint32 dataForkSize; /* file size */
nuint32 dataForkFirstFAT;
nuint32 nextTrusteeEntry;
nuint8 reserved[36];
nuint16 inheritedRightsMask;
nuint16 lastAccessDate;
nuint32 deletedFileTime;
nuint32 deletedDateAndTime;
nuint32 deletorID;
nuint8 reserved2 [16];
nuint32 otherForkSize[2];
} NW_EXT_FILE_INFO;
#define TR_NONE 0x0000
#define TR_READ 0x0001
#define TR_WRITE 0x0002
#define TR_OPEN 0x0004
#define TR_DIRECTORY 0x0004
#define TR_CREATE 0x0008
#define TR_DELETE 0x0010
#define TR_ERASE 0x0010
#define TR_OWNERSHIP 0x0020
#define TR_ACCESS_CTRL 0x0020
#define TR_FILE_SCAN 0x0040
#define TR_SEARCH 0x0040
#define TR_FILE_ACCESS 0x0040
#define TR_MODIFY 0x0080
#define TR_ALL 0x01FB
#define TR_SUPERVISOR 0x0100
#define TR_NORMAL 0x00FB
#ifndef MModifyNameBit
#define MModifyNameBit 0x0001L
#define MFileAttributesBit 0x0002L
#define MCreateDateBit 0x0004L
#define MCreateTimeBit 0x0008L
#define MOwnerIDBit 0x0010L
#define MLastArchivedDateBit 0x0020L
#define MLastArchivedTimeBit 0x0040L
#define MLastArchivedIDBit 0x0080L
#define MLastUpdatedDateBit 0x0100L
#define MLastUpdatedTimeBit 0x0200L
#define MLastUpdatedIDBit 0x0400L
#define MLastAccessedDateBit 0x0800L
#define MInheritedRightsMaskBit 0x1000L
#define MMaximumSpaceBit 0x2000L
#endif
N_EXTERN_LIBRARY( NWCCODE )
NWDeleteTrustee
(
NWCONN_HANDLE conn,
NWDIR_HANDLE dirHandle,
const nstr8 N_FAR * dirPath,
nuint32 objID
);
N_EXTERN_LIBRARY( NWCCODE )
NWDeleteTrusteeExt
(
NWCONN_HANDLE conn,
NWDIR_HANDLE dirHandle,
const nstr8 N_FAR * dirPath,
nuint32 objID
);
N_EXTERN_LIBRARY( NWCCODE )
NWAddTrustee
(
NWCONN_HANDLE conn,
NWDIR_HANDLE dirHandle,
const nstr8 N_FAR * path,
nuint32 objID,
nuint16 rightsMask
);
N_EXTERN_LIBRARY( NWCCODE )
NWAddTrusteeExt
(
NWCONN_HANDLE conn,
NWDIR_HANDLE dirHandle,
const nstr8 N_FAR * path,
nuint32 objID,
nuint16 rightsMask
);
N_EXTERN_LIBRARY( NWCCODE )
NWIntScanDirEntryInfo
(
NWCONN_HANDLE conn,
NWDIR_HANDLE dirHandle,
nuint16 attrs,
pnuint32 iterHandle,
const nuint8 N_FAR * searchPattern,
NWENTRY_INFO N_FAR * entryInfo,
nuint16 augmentFlag
);
#define NWScanForTrustees(a, b, c, d, e, f) \
NWIntScanForTrustees(a, b, c, d, e, f, 0)
N_EXTERN_LIBRARY( NWCCODE )
NWIntScanForTrustees
(
NWCONN_HANDLE conn,
NWDIR_HANDLE dirHandle,
const nstr8 N_FAR * path,
pnuint32 iterHandle,
pnuint16 numOfEntries,
NWET_INFO N_FAR * entryTrusteeInfo,
nuint16 augmentFlag
);
#define NWScanForTrusteesExt(a, b, c, d, e, f) \
NWIntScanForTrusteesExt(a, b, c, d, e, f, 0)
N_EXTERN_LIBRARY( NWCCODE )
NWIntScanForTrusteesExt
(
NWCONN_HANDLE conn,
NWDIR_HANDLE dirHandle,
const nstr8 N_FAR * path,
pnuint32 iterHandle,
pnuint16 numOfEntries,
NWET_INFO_EXT N_FAR * entryTrusteeInfo,
nuint16 augmentFlag
);
N_EXTERN_LIBRARY( NWCCODE )
NWIntMoveDirEntry
(
NWCONN_HANDLE conn,
nuint8 searchAttrs,
NWDIR_HANDLE srcDirHandle,
const nstr8 N_FAR * srcPath,
NWDIR_HANDLE dstDirHandle,
const nstr8 N_FAR * dstPath,
nuint16 augmentFlag
);
N_EXTERN_LIBRARY( NWCCODE )
NWSetDirEntryInfo
(
NWCONN_HANDLE conn,
NWDIR_HANDLE dirHandle,
nuint8 searchAttrs,
nuint32 iterHandle,
nuint32 changeBits,
const NWENTRY_INFO N_FAR * newEntryInfo
);
N_EXTERN_LIBRARY( NWCCODE )
NWIntScanExtendedInfo
(
NWCONN_HANDLE conn,
NWDIR_HANDLE dirHandle,
nuint8 attrs,
pnuint32 iterHandle,
const nstr8 N_FAR * searchPattern,
NW_EXT_FILE_INFO N_FAR * entryInfo,
nuint16 augmentFlag
);
N_EXTERN_LIBRARY( NWCCODE )
NWGetEffectiveRights
(
NWCONN_HANDLE conn,
NWDIR_HANDLE dirHandle,
const nstr8 N_FAR * path,
pnuint16 effectiveRights
);
N_EXTERN_LIBRARY( NWCCODE )
NWGetEffectiveRightsExt
(
NWCONN_HANDLE conn,
NWDIR_HANDLE dirHandle,
const nstr8 N_FAR * path,
pnuint16 effectiveRights
);
#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_dentry.h"
#endif
#endif /* !defined(__NOVELL_LIBC__) */
#include "npackoff.h"
#endif