home *** CD-ROM | disk | FTP | other *** search
/ Network Support Encyclopedia 96-1 / novell-nsepro-1996-1-cd2.iso / download / netware / os232.exe / INCLUDE / NWDENTRY.H < prev    next >
C/C++ Source or Header  |  1995-05-09  |  6KB  |  256 lines

  1. /******************************************************************************
  2.  
  3.   $Workfile:   nwdentry.h  $
  4.   $Revision:   1.10  $
  5.   $Modtime::   08 May 1995 17:01:18                        $
  6.   $Copyright:
  7.  
  8.   Copyright (c) 1989-1995 Novell, Inc.  All Rights Reserved.                      
  9.  
  10.   THIS WORK IS  SUBJECT  TO  U.S.  AND  INTERNATIONAL  COPYRIGHT  LAWS  AND
  11.   TREATIES.   NO  PART  OF  THIS  WORK MAY BE  USED,  PRACTICED,  PERFORMED
  12.   COPIED, DISTRIBUTED, REVISED, MODIFIED, TRANSLATED,  ABRIDGED, CONDENSED,
  13.   EXPANDED,  COLLECTED,  COMPILED,  LINKED,  RECAST, TRANSFORMED OR ADAPTED
  14.   WITHOUT THE PRIOR WRITTEN CONSENT OF NOVELL, INC. ANY USE OR EXPLOITATION
  15.   OF THIS WORK WITHOUT AUTHORIZATION COULD SUBJECT THE PERPETRATOR TO
  16.   CRIMINAL AND CIVIL LIABILITY.$
  17.  
  18.  *****************************************************************************/
  19.  
  20. #if ! defined ( NWDENTRY_H )
  21. #define NWDENTRY_H
  22.  
  23. #if ! defined ( NTYPES_H )
  24. #include "ntypes.h"
  25. #endif
  26.  
  27. #if ! defined ( NWCALDEF_H )
  28. #include "nwcaldef.h"
  29. #endif
  30.  
  31. #if ! defined ( NWDIRECT_H ) /* Needed to define TRUSTEE_INFO */
  32. #include "nwdirect.h"
  33. #endif
  34.  
  35. #include "npackon.h"
  36.  
  37. #ifdef __cplusplus
  38. extern "C" {
  39. #endif
  40.  
  41. typedef struct
  42. {
  43.    nstr8   entryName[16];
  44.    nuint32 creationDateAndTime;
  45.    nuint32 ownerID;
  46.    nuint32 sequenceNumber;
  47.    TRUSTEE_INFO trusteeList[20];
  48. } NWET_INFO;
  49.  
  50. typedef struct
  51. {
  52.    nuint32  updateDateAndTime;
  53.    nuint32  updatorID;
  54.    nuint32  fileSize;
  55.    nuint8   reserved[44];
  56.    nuint16  inheritedRightsMask;
  57.    nuint16  lastAccessDate;
  58.    nuint8   reserved2[28];
  59. } NWFILE_INFO;
  60. typedef struct
  61. {
  62.    nuint32  lastModifyDateAndTime;
  63.    nuint32  nextTrusteeEntry;
  64.    nuint8   reserved[48];
  65.    nuint32  maximumSpace;
  66.    nuint16  inheritedRightsMask;
  67.    nuint8   reserved2[14];
  68.    nuint32  volObjectID;
  69.    nuint8   reserved3[8];
  70. } NWDIR_INFO;
  71.  
  72. typedef struct
  73. {
  74.    nuint32  sequence;
  75.    nuint32  parent;
  76.    nuint32  attributes;
  77.    nuint8   uniqueID;
  78.    nuint8   flags;
  79.    nuint8   nameSpace;
  80.    nuint8   nameLength;
  81.    nuint8   name[12];
  82.    nuint32  creationDateAndTime;
  83.    nuint32  ownerID;
  84.    nuint32  lastArchiveDateAndTime;
  85.    nuint32  lastArchiverID;
  86.  
  87.    union
  88.    {
  89.       NWFILE_INFO file;
  90.       NWDIR_INFO   dir;
  91.    }info;
  92.  
  93. } NWENTRY_INFO;
  94.  
  95. typedef struct
  96. {
  97.    nuint32 sequence;
  98.    nuint32 parent;
  99.    nuint32 attributes;
  100.    nuint8  uniqueID;
  101.    nuint8  flags;
  102.    nuint8  nameSpace;
  103.    nuint8  nameLength;
  104.    nuint8  name [12];
  105.    nuint32 creationDateAndTime;
  106.    nuint32 ownerID;
  107.    nuint32 lastArchiveDateAndTime;
  108.    nuint32 lastArchiverID;
  109.    nuint32 updateDateAndTime;
  110.    nuint32 lastUpdatorID;
  111.    nuint32 dataForkSize;         /* file size */
  112.    nuint32 dataForkFirstFAT;
  113.    nuint32 nextTrusteeEntry;
  114.    nuint8  reserved[36];
  115.    nuint16 inheritedRightsMask;
  116.    nuint16 lastAccessDate;
  117.    nuint32 deletedFileTime;
  118.    nuint32 deletedDateAndTime;
  119.    nuint32 deletorID;
  120.    nuint8  reserved2 [16];
  121.    nuint32 otherForkSize[2];
  122. } NW_EXT_FILE_INFO;
  123.  
  124. #define TR_NONE         0x0000
  125. #define TR_READ         0x0001
  126. #define TR_WRITE        0x0002
  127. #define TR_OPEN         0x0004
  128. #define TR_DIRECTORY    0x0004
  129. #define TR_CREATE       0x0008
  130. #define TR_DELETE       0x0010
  131. #define TR_ERASE        0x0010
  132. #define TR_OWNERSHIP    0x0020
  133. #define TR_ACCESS_CTRL  0x0020
  134. #define TR_FILE_SCAN    0x0040
  135. #define TR_SEARCH       0x0040
  136. #define TR_FILE_ACCESS  0x0040
  137. #define TR_MODIFY       0x0080
  138. #define TR_ALL          0x01FB
  139. #define TR_SUPERVISOR   0x0100
  140. #define TR_NORMAL       0x00FB
  141.  
  142. #ifndef MModifyNameBit
  143. #define MModifyNameBit           0x0001L
  144. #define MFileAttributesBit       0x0002L
  145. #define MCreateDateBit           0x0004L
  146. #define MCreateTimeBit           0x0008L
  147. #define MOwnerIDBit              0x0010L
  148. #define MLastArchivedDateBit     0x0020L
  149. #define MLastArchivedTimeBit     0x0040L
  150. #define MLastArchivedIDBit       0x0080L
  151. #define MLastUpdatedDateBit      0x0100L
  152. #define MLastUpdatedTimeBit      0x0200L
  153. #define MLastUpdatedIDBit        0x0400L
  154. #define MLastAccessedDateBit     0x0800L
  155. #define MInheritedRightsMaskBit  0x1000L
  156. #define MMaximumSpaceBit         0x2000L
  157. #endif
  158.  
  159. NWCCODE N_API NWDeleteTrustee
  160. (
  161.    NWCONN_HANDLE  conn,
  162.    NWDIR_HANDLE   dirHandle,
  163.    pnstr8         dirPath,
  164.    nuint32        objID
  165. );
  166.  
  167. NWCCODE N_API NWAddTrustee
  168. (
  169.    NWCONN_HANDLE  conn,
  170.    NWDIR_HANDLE   dirHandle,
  171.    pnstr8         path,
  172.    nuint32        objID,
  173.    nuint16        rightsMask
  174. );
  175.  
  176. #define NWScanDirEntryInfo(a, b, c, d, e, f) \
  177.         NWIntScanDirEntryInfo(a, b, c, d, e, f, 0)
  178.  
  179. NWCCODE N_API NWIntScanDirEntryInfo
  180. (
  181.    NWCONN_HANDLE  conn,
  182.    NWDIR_HANDLE   dirHandle,
  183.    nuint16        attrs,
  184.    pnuint32       iterHandle,
  185.    pnuint8        searchPattern,
  186.    NWENTRY_INFO N_FAR * entryInfo,
  187.    nuint16        augmentFlag
  188. );
  189.  
  190. #define NWScanForTrustees(a, b, c, d, e, f) \
  191.         NWIntScanForTrustees(a, b, c, d, e, f, 0)
  192.  
  193. NWCCODE N_API NWIntScanForTrustees
  194. (
  195.    NWCONN_HANDLE  conn,
  196.    NWDIR_HANDLE   dirHandle,
  197.    pnstr8         path,
  198.    pnuint32       iterHandle,
  199.    pnuint16       numOfEntries,
  200.    NWET_INFO N_FAR * entryTrusteeInfo,
  201.    nuint16        augmentFlag
  202. );
  203.  
  204. #define NWMoveDirEntry(a, b, c, d, e, f) \
  205.         NWIntMoveDirEntry(a, b, c, d, e, f, 0)
  206.  
  207. NWCCODE N_API NWIntMoveDirEntry
  208. (
  209.    NWCONN_HANDLE  conn,
  210.    nuint8         searchAttrs,
  211.    NWDIR_HANDLE   srcDirHandle,
  212.    pnstr8         srcPath,
  213.    NWDIR_HANDLE   dstDirHandle,
  214.    pnstr8         dstPath,
  215.    nuint16        augmentFlag
  216. );
  217.  
  218. NWCCODE N_API NWSetDirEntryInfo
  219. (
  220.    NWCONN_HANDLE  conn,
  221.    NWDIR_HANDLE   dirHandle,
  222.    nuint8         searchAttrs,
  223.    nuint32        iterHandle,
  224.    nuint32        changeBits,
  225.    NWENTRY_INFO N_FAR * newEntryInfo
  226. );
  227.  
  228. #define NWScanExtendedInfo(a, b, c, d, e, f) \
  229.         NWIntScanExtendedInfo(a, b, c, d, e, f, 0)
  230.  
  231. NWCCODE N_API NWIntScanExtendedInfo
  232. (
  233.    NWCONN_HANDLE  conn,
  234.    NWDIR_HANDLE   dirHandle,
  235.    nuint8         attrs,
  236.    pnuint32       iterHandle,
  237.    pnstr8         searchPattern,
  238.    NW_EXT_FILE_INFO N_FAR * entryInfo,
  239.    nuint16        augmentFlag
  240. );
  241.  
  242. NWCCODE N_API NWGetEffectiveRights
  243. (
  244.    NWCONN_HANDLE  conn,
  245.    NWDIR_HANDLE   dirHandle,
  246.    pnstr8         path,
  247.    pnuint16       effectiveRights
  248. );
  249.  
  250. #ifdef __cplusplus
  251. }
  252. #endif
  253.  
  254. #include "npackoff.h"
  255. #endif
  256.