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

  1. /******************************************************************************
  2.  
  3.   $Workfile:   nwaudit.h  $
  4.   $Revision:   1.7  $
  5.   $Modtime::   10 May 1995 11:30:42                        $
  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 ( NWAUDIT_H )
  21. #define NWAUDIT_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. #include "npackon.h"
  32.  
  33. #define NW_AUDIT_NUMBER_EVENT_BITS      512
  34.  
  35. /* file codes */
  36. #define NW_AUDIT_FILE_CODE               0
  37. #define NW_AUDIT_HISTORY_FILE_CODE       1
  38. #define NW_AUDIT_OLD_FILE_CODE           2
  39.  
  40. /* audit flags */
  41. #define DiscardAuditRcdsOnErrorFlag 0x01
  42. #define ConcurrentVolAuditorAccess  0x02
  43. #define DualLevelPasswordsActive    0x04
  44. #define BroadcastWarningsToAllUsers 0x08
  45. #define LevelTwoPasswordSet         0x10
  46.  
  47. struct NWEventBitMap
  48. {
  49.    nuint8 bitMap[ NW_AUDIT_NUMBER_EVENT_BITS / 8];
  50. };
  51.  
  52. #define NWAuditBitMap struct NWEventBitMap
  53.  
  54. enum auditBitMapIDs
  55. {
  56.    /* first 32 bit numbers reserved for dir service */
  57.    ADS_BIT_ADD_ENTRY =              1, /*  first one is 1 */
  58.    ADS_BIT_REMOVE_ENTRY =              2,
  59.    ADS_BIT_RENAME_OBJECT =             3,
  60.    ADS_BIT_MOVE_ENTRY =                4,
  61.    ADS_BIT_ADD_SECURITY_EQUIV =        5,
  62.    ADS_BIT_REMOVE_SECURITY_EQUIV =     6,
  63.    ADS_BIT_ADD_ACL =                   7,
  64.    ADS_BIT_REMOVE_ACL =             8,
  65.    /*  */
  66.    A_BIT_BIND_CHG_OBJ_SECURITY    = 32,
  67.    A_BIT_BIND_CHG_PROP_SECURITY,
  68.    A_BIT_BIND_CREATE_OBJ,
  69.    A_BIT_BIND_CREATE_PROPERTY,
  70.    A_BIT_BIND_DELETE_OBJ,
  71.    A_BIT_BIND_DELETE_PROPERTY,
  72.    A_BIT_CHANGE_DATE_TIME,
  73.    A_BIT_CHANGE_EQUIVALENCE,
  74.    A_BIT_CHANGE_SECURITY_GROUP,
  75.    A_BIT_UCLOSE_FILE,
  76.    A_BIT_CLOSE_BINDERY,
  77.    A_BIT_UCREATE_FILE,
  78.    A_BIT_CREATE_USER,
  79.    A_BIT_UDELETE_FILE,
  80.    A_BIT_DELETE_USER,
  81.    A_BIT_DIR_SPACE_RESTRICTIONS,
  82.    A_BIT_DISABLE_ACCOUNT,
  83.    A_BIT_DOWN_SERVER,
  84.    A_BIT_GRANT_TRUSTEE,
  85.    A_BIT_INTRUDER_LOCKOUT_CHANGE,
  86.    A_BIT_LOGIN_USER,
  87.    A_BIT_LOGIN_USER_FAILURE,
  88.    A_BIT_LOGOUT_USER,
  89.    A_BIT_NET_LOGIN,
  90.    A_BIT_UMODIFY_ENTRY,
  91.    A_BIT_OPEN_BINDERY,
  92.    A_BIT_UOPEN_FILE,
  93.    A_BIT_UREAD_FILE,
  94.    A_BIT_REMOVE_TRUSTEE,
  95.    A_BIT_URENAME_MOVE_FILE,
  96.    A_BIT_RENAME_USER,
  97.    A_BIT_USALVAGE_FILE,
  98.    A_BIT_STATION_RESTRICTIONS,
  99.    A_BIT_CHANGE_PASSWORD,
  100.    A_BIT_TERMINATE_CONNECTION,
  101.    A_BIT_UP_SERVER,
  102.    A_BIT_USER_CHANGE_PASSWORD,
  103.    A_BIT_USER_LOCKED,
  104.    A_BIT_USER_SPACE_RESTRICTIONS,
  105.    A_BIT_USER_UNLOCKED,
  106.    A_BIT_VOLUME_MOUNT,
  107.    A_BIT_VOLUME_DISMOUNT,
  108.    A_BIT_UWRITE_FILE,
  109.    A_BIT_GOPEN_FILE,
  110.    A_BIT_GCLOSE_FILE,
  111.    A_BIT_GCREATE_FILE,
  112.    A_BIT_GDELETE_FILE,
  113.    A_BIT_GREAD_FILE,
  114.    A_BIT_GWRITE_FILE,
  115.    A_BIT_GRENAME_MOVE_FILE,
  116.    A_BIT_GMODIFY_ENTRY,
  117.    A_BIT_IOPEN_FILE,
  118.    A_BIT_ICLOSE_FILE,
  119.    A_BIT_ICREATE_FILE,
  120.    A_BIT_IDELETE_FILE,
  121.    A_BIT_IREAD_FILE,
  122.    A_BIT_IWRITE_FILE,
  123.    A_BIT_IRENAME_MOVE_FILE,
  124.    A_BIT_IMODIFY_ENTRY,
  125.    A_BIT_Q_ATTACH_SERVER,
  126.    A_BIT_Q_CREATE,
  127.    A_BIT_Q_CREATE_JOB,
  128.    A_BIT_Q_DESTROY,
  129.    A_BIT_Q_DETACH_SERVER,
  130.    A_BIT_Q_EDIT_JOB,
  131.    A_BIT_Q_JOB_FINISH,
  132.    A_BIT_Q_JOB_SERVICE,
  133.    A_BIT_Q_JOB_SERVICE_ABORT,
  134.    A_BIT_Q_REMOVE_JOB,
  135.    A_BIT_Q_SET_JOB_PRIORITY,
  136.    A_BIT_Q_SET_STATUS,
  137.    A_BIT_Q_START_JOB,
  138.    A_BIT_Q_SWAP_RIGHTS,
  139.    A_BIT_NLM_ADD_RECORD,
  140.    A_BIT_NLM_ADD_ID_RECORD,
  141.    A_BIT_CLOSE_MODIFIED_FILE,
  142.    A_BIT_GCREATE_DIRECTORY,
  143.    A_BIT_ICREATE_DIRECTORY,
  144.    A_BIT_UCREATE_DIRECTORY,
  145.    A_BIT_GDELETE_DIRECTORY,
  146.    A_BIT_IDELETE_DIRECTORY,
  147.    A_BIT_UDELETE_DIRECTORY
  148. };
  149.  
  150. typedef struct
  151. {
  152.    nuint16  auditingVersionDate;
  153.    nuint16  auditFileVersionDate;
  154.    nuint32  auditingEnabledFlag;
  155.    nuint32  volumeAuditFileSize;
  156.    nuint32  volumeAuditConfigFileSize;
  157.    nuint32  volumeAuditFileMaxSize;
  158.    nuint32  volumeAuditFileSizeThreshold;
  159.    nuint32  auditRecordCount;
  160.    nuint32  historyRecordCount;
  161. } NWVolumeAuditStatus;
  162.  
  163. typedef struct
  164. {
  165.    nuint16 auditingVersionDate;
  166.    nuint16 auditFileVersionDate;
  167.    nuint32 auditingEnabledFlag;
  168.    nuint32 containerAuditFileSize;
  169.    nuint32 containerAuditConfigFileSize;
  170.    nuint32 containerAuditFileMaxSize;
  171.    nuint32 containerAuditFileSizeThreshold;
  172.    nuint32 auditRecordCount;
  173.    nuint32 historyRecordCount;
  174. } NWContainerAuditStatus;
  175.  
  176. typedef struct TIMESTAMP
  177. {
  178.    nuint32 seconds;
  179.    nuint16 replicaNumber;
  180.    nuint16 event;
  181. } TIMESTAMP;
  182.  
  183. typedef struct
  184. {
  185.    nuint16        fileVersionDate;
  186.    nuint8         auditFlags;
  187.    nuint8         errMsgDelayMinutes;
  188.    nuint8         reserved[16];
  189.    nuint32        volumeAuditFileMaxSize;
  190.    nuint32        volumeAuditFileSizeThreshold;
  191.    nuint32        auditRecordCount;
  192.    nuint32        historyRecordCount;
  193.    nuint32        spareLongs[7];
  194.    NWAuditBitMap  volumeAuditEventBitMap;
  195. } NWConfigHeader;
  196.  
  197. typedef struct audit_container_file_hdr
  198. {
  199.    nuint16     fileVersionDate;
  200.    nuint8      auditFlags;
  201.    nuint8      errMsgDelayMinutes;
  202.    nuint32     containerID;
  203.    nuint32     spareLong0;
  204.    TIMESTAMP   creationTS;
  205.    nuint32     bitMap;
  206.    nuint32     auditFileMaxSize;
  207.    nuint32     auditFileSizeThreshold;
  208.    nuint32     auditRecordCount;
  209.    nuint16     replicaNumber;
  210.    nuint8      enabledFlag;
  211.    nuint8      spareBytes[3];
  212.    nuint16     numberReplicaEntries;
  213.    nuint32     spareLongs[9];
  214.    nuint32     auditDisabledCounter;
  215.    nuint32     auditEnabledCounter;
  216.    nuint8      reserved[32];
  217.    nuint32     hdrModifiedCounter;
  218.    nuint32     fileResetCounter;
  219. } NWDSContainerConfigHdr;
  220.  
  221. struct auditRcd
  222. {
  223.    nuint16  eventTypeID;
  224.    nuint16  chkWord;
  225.    nuint32  connectionID;
  226.    nuint32  processUniqueID;
  227.    nuint32  successFailureStatusCode;
  228.    nuint16  dosDate;
  229.    nuint16  dosTime;
  230. /* nuint8   extra[0];   start of 'union EventUnion'  */
  231. };
  232. #define AuditRecord struct auditRcd
  233.  
  234. struct auditDSRcd
  235. {
  236.    nuint16  replicaNumber;
  237.    nuint16  eventTypeID;
  238.    nuint32  recordNumber;
  239.    nuint32  dosDateTime;
  240.    nuint32  userID;
  241.    nuint32  processUniqueID;
  242.    nuint32  successFailureStatusCode;
  243. /* nuint8   extra[0];   start of 'union EventUnion'  */
  244. };
  245. #define AuditDSRecord struct auditDSRcd
  246.  
  247. /* auditing events that are returned in the AuditRecord eventTypeID field */
  248. enum auditedEventIDs
  249. {
  250.    A_EVENT_BIND_CHG_OBJ_SECURITY = 1,
  251.    A_EVENT_BIND_CHG_PROP_SECURITY   = 2,
  252.    A_EVENT_BIND_CREATE_OBJ       = 3,
  253.    A_EVENT_BIND_CREATE_PROPERTY  = 4,
  254.    A_EVENT_BIND_DELETE_OBJ       = 5,
  255.    A_EVENT_BIND_DELETE_PROPERTY  = 6,
  256.    A_EVENT_CHANGE_DATE_TIME      = 7,
  257.    A_EVENT_CHANGE_EQUIVALENCE    = 8,
  258.    A_EVENT_CHANGE_SECURITY_GROUP = 9,
  259.    A_EVENT_CLOSE_FILE            = 10,
  260.    A_EVENT_CLOSE_BINDERY         = 11,
  261.    A_EVENT_CREATE_FILE           = 12,
  262.    A_EVENT_CREATE_USER           = 13,
  263.    A_EVENT_DELETE_FILE           = 14,
  264.    A_EVENT_DELETE_USER           = 15,
  265.    A_EVENT_DIR_SPACE_RESTRICTIONS   = 16,
  266.    A_EVENT_DISABLE_ACCOUNT       = 17,
  267.    A_EVENT_DOWN_SERVER           = 18,
  268.    A_EVENT_GRANT_TRUSTEE         = 19,
  269.    A_EVENT_INTRUDER_LOCKOUT_CHANGE  = 20,
  270.    A_EVENT_LOGIN_USER            = 21,
  271.    A_EVENT_LOGIN_USER_FAILURE    = 22,
  272.    A_EVENT_LOGOUT_USER           = 23,
  273.    A_EVENT_NET_LOGIN          = 24,
  274.    A_EVENT_MODIFY_ENTRY       = 25,
  275.    A_EVENT_OPEN_BINDERY       = 26,
  276.    A_EVENT_OPEN_FILE          = 27,
  277.    A_EVENT_Q_ATTACH_SERVER       = 28,
  278.    A_EVENT_Q_CREATE           = 29,
  279.    A_EVENT_Q_CREATE_JOB       = 30,
  280.    A_EVENT_Q_DESTROY          = 31,
  281.    A_EVENT_Q_DETACH_SERVER       = 32,
  282.    A_EVENT_Q_EDIT_JOB            = 33,
  283.    A_EVENT_Q_JOB_FINISH       = 34,
  284.    A_EVENT_Q_JOB_SERVICE         = 35,
  285.    A_EVENT_Q_JOB_SERVICE_ABORT      = 36,
  286.    A_EVENT_Q_REMOVE_JOB       = 37,
  287.    A_EVENT_Q_SET_JOB_PRIORITY    = 38,
  288.    A_EVENT_Q_SET_STATUS       = 39,
  289.    A_EVENT_Q_START_JOB           = 40,
  290.    A_EVENT_Q_SWAP_RIGHTS         = 41,
  291.    A_EVENT_READ_FILE          = 42,
  292.    A_EVENT_REMOVE_TRUSTEE        = 43,
  293.    A_EVENT_RENAME_MOVE_FILE      = 44,
  294.    A_EVENT_RENAME_USER           = 45,
  295.    A_EVENT_SALVAGE_FILE       = 46,
  296.    A_EVENT_STATION_RESTRICTIONS  = 47,
  297.    A_EVENT_CHANGE_PASSWORD       = 48,
  298.    A_EVENT_TERMINATE_CONNECTION  = 49,
  299.    A_EVENT_UP_SERVER          = 50,
  300.    A_EVENT_USER_CHANGE_PASSWORD  = 51,
  301.    A_EVENT_USER_LOCKED           = 52,
  302.    A_EVENT_USER_SPACE_RESTRICTIONS  = 53,
  303.    A_EVENT_USER_UNLOCKED         = 54,
  304.    A_EVENT_VOLUME_MOUNT       = 55,
  305.    A_EVENT_VOLUME_DISMOUNT       = 56,
  306.    A_EVENT_WRITE_FILE            = 57,
  307.    AUDITING_ACTIVE_CONNECTION_RCD   = 58,
  308.    AUDITING_ADD_AUDITOR_ACCESS      = 59,
  309.    AUDITING_ADD_AUDIT_PROPERTY      = 60,
  310.    AUDITING_CHANGE_AUDIT_PASSWORD   = 61,
  311.    AUDITING_DELETE_AUDIT_PROPERTY   = 62,
  312.    AUDITING_DISABLE_VOLUME_AUDIT = 63,
  313.    AUDITING_OPEN_FILE_HANDLE_RCD = 64,
  314.    AUDITING_ENABLE_VOLUME_AUDITING  = 65,
  315.    AUDITING_REMOVE_AUDITOR_ACCESS   = 66,
  316.    AUDITING_RESET_AUDIT_FILE     = 67,
  317.    AUDITING_RESET_AUDIT_FILE2    = 68,
  318.    AUDITING_RESET_CONFIG_FILE    = 69,
  319.    AUDITING_WRITE_AUDIT_BIT_MAP  = 70,
  320.    AUDITING_WRITE_AUDIT_CONFIG_HDR  = 71,
  321.    AUDITING_NLM_ADD_RECORD       = 72,
  322.    AUDITING_ADD_NLM_ID_RECORD    = 73,
  323.    AUDITING_CHANGE_AUDIT_PASSWORD2  = 74,
  324.    A_EVENT_CREATE_DIRECTORY      = 75,
  325.    A_EVENT_DELETE_DIRECTORY      = 76,
  326.    A_EVENT_LAST_PLUS_ONE
  327. };
  328.  
  329. enum auditedDSDEventIDs
  330. {
  331.    /*  */
  332.    AUDITING_DISABLE_CNT_AUDIT    = 91,
  333.    AUDITING_ENABLE_CNT_AUDITING  = 92,
  334.    AUDITING_RESET_HISTORY_FILE      = 33,
  335.    /*  */
  336.    ADS_ADD_ENTRY              = 101,
  337.    ADS_REMOVE_ENTRY           = 102,
  338.    ADS_RENAME_OBJECT          = 103,
  339.    ADS_MOVE_ENTRY             = 104,
  340.    ADS_ADD_SECURITY_EQUIVALENCE  = 105,
  341.    ADS_REMOVE_SECURITY_EQUIVALENCE  = 106,
  342.    ADS_ADD_ACL                = 107,
  343.    ADS_REMOVE_ACL             = 108,
  344.    /*  */
  345.    ADS_LAST_PLUS_ONE
  346. };
  347.  
  348. struct ModifyStructure
  349. {
  350.    nuint8   *MModifyName;
  351.    nuint32  MFileAttributes;
  352.    nuint32  MFileAttributesMask;
  353.    nuint16  MCreateDate;
  354.    nuint16  MCreateTime;
  355.    nuint32  MOwnerID;
  356.    nuint16  MLastArchivedDate;
  357.    nuint16  MLastArchivedTime;
  358.    nuint32  MLastArchivedID;
  359.    nuint16  MLastUpdatedDate;    /* also last modified date and time. */
  360.    nuint16  MLastUpdatedTime;
  361.    nuint32  MLastUpdatedID;
  362.    nuint16  MLastAccessedDate;
  363.    nuint16  MInheritanceGrantMask;
  364.    nuint16  MInheritanceRevokeMask;
  365.    nuint32  MMaximumSpace;
  366. };
  367.  
  368. #ifndef MModifyNameBit
  369. #define MModifyNameBit           0x0001L
  370. #define MFileAttributesBit       0x0002L
  371. #define MCreateDateBit           0x0004L
  372. #define MCreateTimeBit           0x0008L
  373. #define MOwnerIDBit              0x0010L
  374. #define MLastArchivedDateBit     0x0020L
  375. #define MLastArchivedTimeBit     0x0040L
  376. #define MLastArchivedIDBit       0x0080L
  377. #define MLastUpdatedDateBit      0x0100L
  378. #define MLastUpdatedTimeBit      0x0200L
  379. #define MLastUpdatedIDBit        0x0400L
  380. #define MLastAccessedDateBit     0x0800L
  381. #define MInheritedRightsMaskBit  0x1000L
  382. #define MMaximumSpaceBit         0x2000L
  383. #endif
  384.  
  385. union EventUnion
  386. {
  387.    struct eventChgDate
  388.    {
  389.       nuint32  newDosDateTime;
  390.    } EChgDate;
  391.  
  392.    struct eventCreateUser
  393.    {
  394.       nuint32  userID;
  395.       nuint8   name[1];
  396.    } ECreateUser;
  397.  
  398.    struct eventBindChgSecurity
  399.    {
  400.       nuint32  newSecurity;
  401.       nuint32  oldSecurity;
  402.       nuint8   name[1];
  403.    } EBindChgSecurity;
  404.  
  405.    struct eventBindChgSecGrp
  406.    {
  407.       nuint32  addFlag;
  408.       nuint8   objName[1];                             /* obj name */
  409.       nuint8   name[1];                                /* member name */
  410.    } EBindChgSecGrp;
  411.  
  412.    struct eventBindCreateObj
  413.    {
  414.       nuint32  objectID;
  415.       nuint32  security;
  416.       nuint8   name[1];
  417.    } EBindCreateObj;
  418.  
  419.    struct eventBindCreateProp
  420.    {
  421.       nuint32  security;
  422.       nuint8   name[1];
  423.    } EBindCreateProp;
  424.  
  425.    struct eventBindDeleteProp
  426.    {
  427.       nuint8   name[1];
  428.    } EBindDeleteProp;
  429.  
  430.    struct eventIntruderLockoutChg
  431.    {
  432.       nuint8   hbaa;         /* nuint8 exchanged allowed attempts */
  433.       nuint8   lbaa;
  434.       nuint8   hbrm;         /* reset minutes */
  435.       nuint8   lbrm;
  436.       nuint8   hblm;         /* lock minutes */
  437.       nuint8   lblm;
  438.    } EILockChg;
  439.  
  440.    struct eventLogin
  441.    {
  442.       nuint32  userID;
  443.       nuint8   networkAddressType;
  444.       nuint8   networkAddressLength;
  445.       nuint8   networkAddress[1];   /* variable length */
  446.       nuint8   name[1];
  447.    } ELogin;
  448.  
  449.  
  450.    struct eventChgPasswd
  451.    {
  452.       nuint8   name[1];      /* object or user name */
  453.    } EChgPasswd;
  454.  
  455.    struct eventChgSecurity
  456.    {
  457.       nuint32  newSecurity;
  458.       nuint32  oldSecurity;
  459.       nuint8   name[1];
  460.    } EChgSecurity;
  461.  
  462.    struct eventFDelete
  463.    {
  464.       nuint32  nameSpace;
  465.       nuint8   fileName[1];
  466.    } EFDelete;
  467.  
  468.    struct eventFOpen
  469.    {
  470.       nuint32  handle;
  471.       nuint32  rights;
  472.       nuint32  nameSpace;
  473.       nuint8   fileName[1];
  474.    } EFOpen;
  475.  
  476.    struct eventFClose
  477.    {
  478.       nuint32  handle;
  479.       nuint32  modified;
  480.    } EFClose;
  481.  
  482.    struct eventFRead
  483.    {
  484.       nuint32  handle;
  485.       nuint32  byteCount;
  486.       nuint32  offset;
  487.    } EFRead;
  488.  
  489.    struct eventAuditProperty
  490.    {
  491.       nuint8   name[1];
  492.    } EAuditProperty;
  493.  
  494.    struct eventModify                            /* modify dir entry */
  495.    {
  496.       nuint32  modifyBits;
  497.       nuint32  nameSpace;
  498.       nuint8   modifyStruct[ sizeof(struct ModifyStructure) ];
  499.       nuint8   fileName[1];
  500.       /* the following length preceeded strings are optional
  501.          as defined by the modify bits */
  502.       nuint8   oldDosName[1];
  503.       nuint8   newOwner[1];
  504.       nuint8   lastArchivedBy[1];
  505.       nuint8   lastModifiedBy[1];
  506.    } EModify;
  507.  
  508.    struct eventQAttach
  509.    {
  510.       nuint8   qname[1];
  511.    } EQAttach;
  512.  
  513.    struct eventQCreate
  514.    {
  515.       nuint32  qType;
  516.       nuint8   fileName[1];
  517.    } EQCreate;
  518.  
  519.    struct eventQJobService
  520.    {
  521.       nuint32  tType;
  522.       nuint8   qname[1];
  523.    } EQJobService;
  524.  
  525.    struct eventQSetStatus
  526.    {
  527.       nuint32  status;
  528.       nuint8   qname[1];
  529.    } EQSetStatus;
  530.  
  531.    struct eventStationRestrictions
  532.    {
  533.       nuint8   name[1];
  534.       nuint8   netAddress[1];
  535.    } EStnRestrictions;
  536.  
  537.    struct eventTrustee
  538.    {
  539.       nuint32  trusteeID;
  540.       nuint32  rights;
  541.       nuint32  nameSpace;
  542.       nuint8   trusteeName[1];
  543.       nuint8   fileName[1];
  544.    } ETrustee;
  545.  
  546.    struct eventTrusteeSpace
  547.    {
  548.       nuint32  spaceValue;
  549.       nuint8   trusteeName[1];
  550.    } ETSpace;
  551.  
  552.    struct auditingNLMAddRecord
  553.    {
  554.       nuint32  recordTypeID;
  555.       nuint32  dataLen;
  556.       nuint8   userName[1];
  557.       nuint8   data[1];
  558.    } ENLMRecord;
  559. };
  560.  
  561. #ifdef __cplusplus
  562.    extern "C" {
  563. #endif
  564.  
  565. NWCCODE N_API NWGetVolumeAuditStats
  566. (
  567.    NWCONN_HANDLE              conn,
  568.    nuint32                    volumeNumber,
  569.    NWVolumeAuditStatus  N_FAR *auditStatus,
  570.    nuint16                    auditStatusSize
  571. );
  572.  
  573. NWCCODE N_API NWAddAuditProperty
  574. (
  575.    NWCONN_HANDLE  conn,
  576.    nuint32        volumeNumber,
  577.    nuint8   N_FAR *auditKey,
  578.    nuint32        userID
  579. );
  580.  
  581. NWCCODE N_API NWLoginAsVolumeAuditor
  582. (
  583.    NWCONN_HANDLE  conn,
  584.    nuint32        volumeNumber,
  585.    nuint8   N_FAR *auditKey,
  586.    nuint8   N_FAR *password
  587. );
  588.  
  589. NWCCODE N_API NWInitAuditLevelTwoPassword
  590. (
  591.    nuint8 N_FAR *auditKey,
  592.    nuint8 N_FAR *password
  593. );
  594.  
  595. NWCCODE N_API NWChangeAuditorPassword
  596. (
  597.    NWCONN_HANDLE  conn,
  598.    nuint32        volumeNumber,
  599.    nuint8   N_FAR *auditKey,
  600.    nuint8   N_FAR *newPassword,
  601.    nuint8         level
  602. );
  603.  
  604. NWCCODE N_API NWCheckAuditAccess
  605. (
  606.    NWCONN_HANDLE  conn,
  607.    nuint32        volumeNumber
  608. );
  609.  
  610. NWCCODE N_API NWCheckAuditLevelTwoAccess
  611. (
  612.    NWCONN_HANDLE  conn,
  613.    nuint32        volumeNumber,
  614.    nuint8   N_FAR *auditKey
  615. );
  616.  
  617. NWCCODE N_API NWGetAuditingFlags
  618. (
  619.    NWCONN_HANDLE  conn,
  620.    nuint32        volumeNumber,
  621.    nuint8   N_FAR *auditKey,
  622.    nuint8   N_FAR *flags
  623. );
  624.  
  625. NWCCODE N_API NWRemoveAuditProperty
  626. (
  627.    NWCONN_HANDLE  conn,
  628.    nuint32        volumeNumber,
  629.    nuint8   N_FAR *auditKey,
  630.    nuint32        userID
  631. );
  632.  
  633. NWCCODE N_API NWDisableAuditingOnVolume
  634. (
  635.    NWCONN_HANDLE  conn,
  636.    nuint32        volumeNumber,
  637.    nuint8   N_FAR *auditKey
  638. );
  639.  
  640. NWCCODE N_API NWEnableAuditingOnVolume
  641. (
  642.    NWCONN_HANDLE  conn,
  643.    nuint32        volumeNumber,
  644.    nuint8   N_FAR *auditKey
  645. );
  646.  
  647. NWCCODE N_API NWIsUserBeingAudited
  648. (
  649.    NWCONN_HANDLE  conn,
  650.    nuint32        volumeNumber,
  651.    nuint8   N_FAR *auditKey,
  652.    nuint32        userID
  653. );
  654.  
  655. NWCCODE N_API NWReadAuditingBitMap
  656. (
  657.    NWCONN_HANDLE        conn,
  658.    nuint32              volumeNumber,
  659.    nuint8   N_FAR       *auditKey,
  660.    NWAuditBitMap  N_FAR *buffer,
  661.    nuint16              bufferSize
  662. );
  663.  
  664. NWCCODE N_API NWReadAuditConfigHeader
  665. (
  666.    NWCONN_HANDLE        conn,
  667.    nuint32              volumeNumber,
  668.    nuint8         N_FAR *auditKey,
  669.    NWConfigHeader N_FAR *buffer,
  670.    nuint16              bufferSize
  671. );
  672.  
  673. NWCCODE N_API NWReadAuditingFileRecord
  674. (
  675.    nuint32        volumeContainerID,
  676.    nint16         fileCode,
  677.    void     N_FAR *buffer,
  678.    nuint16  N_FAR *bufferSize,
  679.    nuint16        maxSize,
  680.    nuint8   N_FAR *eofFlag
  681. );
  682.  
  683. NWCCODE N_API NWInitAuditFileRead
  684. (
  685.    NWCONN_HANDLE  conn,
  686.    nuint32        volumeContainerID,
  687.    nint16         fileCode,
  688.    nint16         DSFlag
  689. );
  690.  
  691. NWCCODE N_API NWLogoutAsVolumeAuditor
  692. (
  693.    NWCONN_HANDLE  conn,
  694.    nuint32        volumeNumber,
  695.    nuint8   N_FAR *auditKey
  696. );
  697.  
  698. NWCCODE N_API NWResetAuditHistoryFile
  699. (
  700.    NWCONN_HANDLE  conn,
  701.    nuint32        volumeNumber,
  702.    nuint8   N_FAR *auditKey
  703. );
  704.  
  705. NWCCODE N_API NWResetAuditingFile
  706. (
  707.    NWCONN_HANDLE  conn,
  708.    nuint32        volumeNumber,
  709.    nuint8   N_FAR *auditKey
  710. );
  711.  
  712. NWCCODE N_API NWWriteAuditingBitMap
  713. (
  714.    NWCONN_HANDLE        conn,
  715.    nuint32              volumeNumber,
  716.    nuint8   N_FAR       *auditKey,
  717.    NWAuditBitMap  N_FAR *buffer
  718. );
  719.  
  720. NWCCODE N_API NWWriteAuditConfigHeader
  721. (
  722.    NWCONN_HANDLE        conn,
  723.    nuint32              volumeNumber,
  724.    nuint8         N_FAR *auditKey,
  725.    NWConfigHeader N_FAR *buffer
  726. );
  727.  
  728. NWCCODE N_API NWCloseOldAuditingFile
  729. (
  730.    NWCONN_HANDLE  conn,
  731.    nuint32        volumeNumber,
  732.    nuint8   N_FAR *auditKey
  733. );
  734.  
  735. NWCCODE N_API NWDeleteOldAuditingFile
  736. (
  737.    NWCONN_HANDLE  conn,
  738.    nuint32        volumeNumber,
  739.    nuint8   N_FAR *auditKey
  740. );
  741.  
  742.  
  743. NWCCODE N_API NWDSChangeAuditorPassword
  744. (
  745.    NWCONN_HANDLE  conn,
  746.    nuint32        containerID,
  747.    nuint8   N_FAR *key,
  748.    nuint8   N_FAR *password,
  749.    nuint8         level
  750. );
  751.  
  752. NWCCODE N_API NWDSCheckAuditAccess
  753. (
  754.    NWCONN_HANDLE  conn,
  755.    nuint32        containerID
  756. );
  757.  
  758. NWCCODE N_API NWDSCheckAuditLevelTwoAccess
  759. (
  760.    NWCONN_HANDLE  conn,
  761.    nuint32        containerID,
  762.    nuint8   N_FAR *key
  763. );
  764.  
  765. NWCCODE N_API NWDSCloseOldAuditingFile
  766. (
  767.    NWCONN_HANDLE  conn,
  768.    nuint32        containerID,
  769.    nuint8   N_FAR *key
  770. );
  771.  
  772. NWCCODE N_API NWDSDeleteOldAuditingFile
  773. (
  774.    NWCONN_HANDLE  conn,
  775.    nuint32        containerID,
  776.    nuint8   N_FAR *key
  777. );
  778.  
  779. NWCCODE N_API NWDSDisableAuditingOnContainer
  780. (
  781.    NWCONN_HANDLE  conn,
  782.    nuint32        containerID,
  783.    nuint8   N_FAR *key
  784. );
  785.  
  786.  
  787. NWCCODE N_API NWDSEnableAuditingOnContainer
  788. (
  789.    NWCONN_HANDLE  conn,
  790.    nuint32        containerID,
  791.    nuint8   N_FAR *key
  792. );
  793.  
  794. NWCCODE N_API NWDSGetAuditingFlags
  795. (
  796.    NWCONN_HANDLE  conn,
  797.    nuint32        containerID,
  798.    nuint8   N_FAR *key,
  799.    nuint8   N_FAR *flags
  800. );
  801.  
  802. NWCCODE N_API NWDSGetContainerAuditStats
  803. (
  804.    NWCONN_HANDLE                 conn,
  805.    nuint32                       containerID,
  806.    NWContainerAuditStatus  N_FAR *buffer,
  807.    nuint16                       auditStatusSize
  808. );
  809.  
  810. NWCCODE N_API NWDSLoginAsContainerAuditor
  811. (
  812.    NWCONN_HANDLE  conn,
  813.    nuint32        containerID,
  814.    nuint8   N_FAR *key,
  815.    nuint8   N_FAR *password
  816. );
  817.  
  818. NWCCODE N_API NWDSLogoutAsContainerAuditor
  819. (
  820.    NWCONN_HANDLE  conn,
  821.    nuint32        containerID,
  822.    nuint8   N_FAR *key
  823. );
  824.  
  825. NWCCODE N_API NWDSReadAuditConfigHeader
  826. (
  827.    NWCONN_HANDLE                 conn,
  828.    nuint32                       containerID,
  829.    nuint8                  N_FAR *key,
  830.    NWDSContainerConfigHdr  N_FAR *buffer,
  831.    nuint16                       bufferSize
  832. );
  833.  
  834. NWCCODE N_API NWDSResetAuditingFile
  835. (
  836.    NWCONN_HANDLE  conn,
  837.    nuint32        containerID,
  838.    nuint8   N_FAR *key
  839. );
  840.  
  841. NWCCODE N_API NWDSWriteAuditConfigHeader
  842. (
  843.    NWCONN_HANDLE                 conn,
  844.    nuint32                       containerID,
  845.    nuint8                  N_FAR *key,
  846.    NWDSContainerConfigHdr  N_FAR *buffer
  847. );
  848.  
  849. NWCCODE N_API NWDSResetAuditHistoryFile
  850. (
  851.    NWCONN_HANDLE  conn,
  852.    nuint32        containerID,
  853.    nuint8   N_FAR *key
  854. );
  855.  
  856. NWCCODE N_API NWDSIsObjectBeingAudited
  857. (
  858.    NWCONN_HANDLE  conn,
  859.    nuint32        containerID,
  860.    nuint8   N_FAR *key,
  861.    nuint32        objectID
  862. );
  863.  
  864. NWCCODE N_API NWDSChangeObjectAuditProperty
  865. (
  866.    NWCONN_HANDLE  conn,
  867.    nuint32        containerID,
  868.    nuint8   N_FAR *key,
  869.    nuint32        objectID,
  870.    nuint8        auditFlag
  871. );
  872.  
  873. #ifdef __cplusplus
  874.    }
  875. #endif
  876.  
  877. #include "npackoff.h"
  878. #endif   /* NWAUDIT_H */
  879.