home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Network Support Encyclopedia 96-1
/
novell-nsepro-1996-1-cd2.iso
/
download
/
netware
/
os232.exe
/
INCLUDE
/
NWDSEVNT.H
< prev
next >
Wrap
C/C++ Source or Header
|
1995-07-20
|
9KB
|
289 lines
/******************************************************************************
Source module name: nwdsevnt.h
Release Version:
$Workfile: nwdsevnt.h $
$Revision: $
$Modtime:: $
$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.$
*****************************************************************************/
#ifndef _NWDSEVNT_HEADER_
#define _NWDSEVNT_HEADER_
/*---------------------------------------------------------------------------
* definitions and functions required to receive event reports
*/
typedef enum DSEventPriority {EP_INLINE, EP_JOURNAL, EP_WORK} DSEventPriority;
/*---------------------------------------------------------------------------
* event types
*/
#define DSE_INVALID 0
#define DSE_CREATE_ENTRY 1 /* data is DSEEntryInfo */
#define DSE_DELETE_ENTRY 2 /* data is DSEEntryInfo */
#define DSE_RENAME_ENTRY 3 /* data is DSEEntryInfo */
#define DSE_MOVE_SOURCE_ENTRY 4 /* data is DSEEntryInfo */
#define DSE_ADD_VALUE 5 /* data is DSEValueInfo */
#define DSE_DELETE_VALUE 6 /* data is DSEValueInfo */
#define DSE_CLOSE_STREAM 7 /* data is DSEValueInfo */
#define DSE_DELETE_ATTRIBUTE 8 /* data is DSEValueInfo */
#define DSE_SET_BINDERY_CONTEXT 9 /* no data */
#define DSE_CREATE_BINDERY_OBJECT 10 /* data is DSEBinderyObjectInfo */
#define DSE_DELETE_BINDERY_OBJECT 11 /* data is DSEBinderyObjectInfo */
#define DSE_CHECK_SEV 12 /* data is DSESEVInfo */
#define DSE_UPDATE_SEV 13 /* no data */
#define DSE_MOVE_DEST_ENTRY 14 /* data is DSEEntryInfo */
#define DSE_DELETE_UNUSED_EXTREF 15 /* data is DSEEntryInfo */
#define DSE_TRACE 16 /* data is DSETraceInfo */
#define DSE_REMOTE_SERVER_DOWN 17 /* data is DSENetAddress */
#define DSE_NCP_RETRY_EXPENDED 18 /* data is DSENetAddress */
#define DSE_REMOTE_CONN_CLEARED 19 /* data is DSENetAddress */
/*---------------------------------------------------------------------------
* data structures used for the data associated with events
*/
typedef struct
{
uint32 seconds;
uint16 replicaNumber;
uint16 event;
} DSETimeStamp;
/* newDN used for DSE_MOVE_SOURCE_ENTRY and DSE_RENAME_ENTRY,
* otherwise it is 0
*/
typedef struct
{
uint32 perpetratorID;
uint32 verb;
uint32 entryID;
uint32 parentID;
uint32 classID;
uint32 flags;
DSETimeStamp creationTime;
const unicode *dn;
const unicode *newDN;
char data[1]; /* used to store data for dn and newDN fields */
} DSEEntryInfo;
/* DSEEntryInfo flag definitions */
#define DSEF_PARTITION_ROOT 0x0001
#define DSEF_EXTREF 0x0002
#define DSEF_ALIAS 0x0004
typedef struct
{
uint32 perpetratorID;
uint32 verb;
uint32 entryID;
uint32 attrID;
uint32 syntaxID;
uint32 classID;
DSETimeStamp timeStamp;
unsigned size;
char data[1]; /* see DSEVal... structures for meanings of this field */
} DSEValueInfo;
typedef struct
{
uint32 entryID;
uint32 parentID;
uint32 type;
uint32 emuObjFlags;
uint32 security;
char name[48];
} DSEBinderyObjectInfo;
typedef struct
{
uint32 entryID;
uint32 retryCount;
uint32 valueID;
unicode valueDN[MAX_DN_CHARS + 1];
char referral[1];
} DSESEVInfo;
typedef struct
{
uint32 traceVector1;
uint32 traceVector2;
uint32 dstime;
uint32 milliseconds; /* time at first trace after '\n' */
char string[1024]; /* will be zero terminated */
} DSETraceInfo;
typedef struct
{
uint32 type;
uint32 length;
uint8 data[1];
} DSENetAddress;
/*---------------------------------------------------------------------------
* data structures used for contents of the data member of the
* DSEValueInfo structure.
*/
typedef struct
{
uint32 nameSpaceType;
uint32 volumeEntryID;
uint32 length;
unicode data[1];
} DSEPath;
typedef struct
{
uint32 serverID;
uint32 type;
uint32 number;
uint32 replicaRootID; /* partition root ID on server where replica resides */
char referral[1]; /* transport address data in wire format */
} DSEReplicaPointer;
typedef struct
{
uint32 serverID;
uint32 remoteID;
} DSEBackLink;
typedef struct
{
uint32 entryID;
uint32 attrID;
uint32 privileges;
} DSEACL;
typedef struct
{
uint32 entryID;
uint32 level;
uint32 interval;
} DSETypedName;
typedef struct
{
uint32 entryID;
uint32 amount;
} DSEHold;
typedef struct
{
uint32 type; /* SMF70, SMF71, SMTP, X400, SNADS, PROFS */
uint32 length; /* length of address unicode string */
unicode address[1/*or more*/]; /* null terminated unicode string */
} DSEEmailAddress;
typedef struct
{
uint32 numOfBits;
uint32 numOfBytes;
char data;
} DSEBitString;
typedef struct
{
uint32 length; /* length of telephone number unicode string */
unicode telephoneNumber[1/*or more*/]; /* null terminated unicode string */
/* The following field is dword aligned after unicode NULL:
DSEBitString parameters;
*/
} DSEFaxNumber;
typedef struct
{
uint32 numOfStrings; /* number of uint32 length proceeded, null terminated,
dword aligned unicode strings to follow */
uint32 length1; /* length of first unicode string */
unicode string1[1]; /* 1st unicode string */
} DSECIList;
typedef struct
{
uint32 numOfStrings; /* number of null terminated, dword aligned byte
strings to follow */
uint8 string1[1]; /* 1st octet string */
} DSEOctetList;
typedef union
{
/* used for SYN_CE_STRING, SYN_CI_STRING, SYN_PR_STRING,
* SYN_NU_STRING, and SYN_TEL_NUMBER
*/
unicode string[1/*or more*/]; /* null terminated unicode string */
uint32 num; /* used for SYN_INTEGER, SYN_COUNTER, SYN_TIME, SYN_INTERVAL */
uint32 entryID; /* used for SYN_DIST_NAME */
uint32 classID; /* used for SYN_CLASS_NAME */
uint8 boolean; /* used for SYN_BOOLEAN */
DSENetAddress netAddress; /* used for SYN_NET_ADDRESS */
DSEPath path; /* used for SYN_PATH */
DSEReplicaPointer replica; /* used for SYN_REPLICA_POINTER */
DSEACL acl; /* used for SYN_OBJECT_ACL */
DSETimeStamp timeStamp; /* used for SYN_TIMESTAMP */
DSEBackLink backLink; /* used for SYN_BACK_LINK */
DSETypedName typedName; /* used for SYN_TYPED_NAME */
DSEHold hold; /* used for SYN_HOLD */
DSEEmailAddress emailAddress; /* used for SYN_EMAIL_ADDRESS */
DSEFaxNumber faxNumber; /* used for SYN_FAX_NUMBER */
DSECIList ciList; /* used for SYN_CI_LIST, SYN_PO_ADDRESS */
uint8 octetString[1]; /* used for SYN_OCTET_STRING, SYN_STREAM */
DSEOctetList octetList; /* used for SYN_OCTET_LIST */
} DSEValData;
/*
* End data structures used for contents of the data member of the
* DSEValueInfo structure.
*-------------------------------------------------------------------------*/
/* define trace vector category numbers */
#define TV_ON 0x00000001L /* if set, tracing is enabled */
#define TV_AUDIT 0x00000002L /* auditing */
#define TV_INIT 0x00000004L /* initialization */
#define TV_FRAGGER 0x00000008L /* fragger */
#define TV_MISC 0x00000010L /* miscellaneous */
#define TV_RESNAME 0x00000020L /* resolve name */
#define TV_STREAMS 0x00000040L /* streams */
#define TV_LIMBER 0x00000080L /* limber */
#define TV_JANITOR 0x00000100L /* janitor */
#define TV_BACKLINK 0x00000200L /* backlink */
#define TV_MERGE 0x00000400L /* merge */
#define TV_SKULKER 0x00000800L /* skulker */
#define TV_LOCKING 0x00001000L /* locking */
#define TV_SAP 0x00002000L /* SAP */
#define TV_SCHEMA 0x00004000L /* schema */
#define TV_COLL 0x00008000L /* collisions */
#define TV_INSPECTOR 0x00010000L /* inspector */
#define TV_ERRORS 0x00020000L /* errors */
#define TV_PART 0x00040000L /* partition operations */
#define TV_EMU 0x00080000L /* bindery emulator */
#define TV_VCLIENT 0x00100000L /* virtual client */
#define TV_AUTHEN 0x00200000L /* authentication */
#define TV_RECMAN 0x00400000L /* record manager */
#define TV_TIMEVECTOR 0x00800000L /* time vectors */
#define TV_REPAIR 0x01000000L /* ds_repair */
#define TV_DSAGENT 0x02000000L /* low level DSA tracing */
#define TV_ERRET 0x04000000L /* ERRET and ERRTRACE */
#define TV_SYNC_IN 0x08000000L /* incoming sync traffic */
#define TV_THREADS 0x10000000L /* DS thread scheduling */
#define TV_MIN 0x20000000L /* default dstrace messages */
#define TV_CHECK_BIT 0x80000000L /* all TV_ values must have this bit */
#define TV_ALL 0xBFFFFFFEL /* All vectors--default for DSTrace */
/*===========================================================================*/
#endif