30.7 Event System Values

The following sections describe the values used by the NetWare event system functions.

30.7.1 Alert Class Values

The alertClass field of the EventNetWareAlert_t structure can have the following values:

Value

Name

0

CLASS_UNKNOWN

1

CLASS_OUT_OF_RESOURCE

2

CLASS_TEMP_SITUATION

3

CLASS_AUTHORIZATION_FAILURE

4

CLASS_INTERNAL_ERROR

5

CLASS_HARDWARE_FAILURE

6

CLASS_SYSTEM_FAILURE

7

CLASS_REQUEST_ERROR

8

CLASS_NOT_FOUND

9

CLASS_BAD_FORMAT

10

CLASS_LOCKED

11

CLASS_MEDIA_FAILURE

12

CLASS_ITEM_EXISTS

13

CLASS_STATION_FAILURE

14

CLASS_LIMIT_EXCEEDED

15

CLASS_CONFIGURATION_ERROR

16

CLASS_LIMIT_ALMOST_EXCEEDED

17

CLASS_SECURITY_AUDIT_INFO

18

CLASS_DISK_INFORMATION

19

CLASS_GENERAL_INFORMATION

20

CLASS_FILE_COMPRESSION

21

CLASS_PROTECTION_VIOLATION

22

CLASS_VIRTUAL_MEMORY

30.7.2 Alert Flag Values

The alertFlags field of the EventNetWareAlert_t structure can have the following values:

Value

Name

0x00000001

QueueThisAlertMask

0x00000002

AlertIDValidMask

0x00000004

AlertLocusValidMask

0x00000008

AlertEventNotifyOnlyMask

0x00000010

AlertNoEventNotifyMask

0x00010000

AlertMessageNumberValid

0x00400000

AlertNoRingBell

0x00800000

AlertIDNotUniqueBit

0x01000000

OldStyleSystemAlertMask

0x02000000

OldStyleINWSystemAlertMask

0x10000000

NoDisplayLocusBit

0x20000000

NoDisplayAlertIDBit

0x40000000

OverrideNotificationBits

0x80000000

TargetStationIsAPointer

AlertIDValidMask OR AlertLocusValidMask OR OldStyleSystemAlertMask

Alert300Mask

AlertIDValidMask OR OldStyleINWSystemAlertMask

Alert311Mask

AlertIDValidMask OR AlertMessageNumberValid OR AlertLocusValidMask OR NoDisplayAlertIDBit

Alert320Mask

AlertLocusValidMask OR QueueThisAlertMask OR NoDisplayAlertIDBit OR AlertIDValidMask

QAlertMask

Alert320Mask OR QueueThisAlertMask

QAlert320Mask

30.7.3 Alert ID Values

The values in the alertID field of the EventNetWareAlert_t structure have two parts:

  • Upper 16 bits contain a module number that identifies which module is generating the alert. Values 0x0000xxxx are reserved for legacy alerts. Values from 0x0001xxxx through 0x7FFFxxxx are reserved for Novell®. Application developers use values from 0x8000xxxx to 0xFFFFxxxx.

  • Lower 16 bits contain an alert number that uniquely identify a specific alert generated by the module. The module generating the alert assigns each alert a number. See event.h for the alert numbers that the NetWare OS has assigned.

Novell has assigned the following module numbers:

Value

Name

Description

0x01020000

ALERT_BINDERY

Bindery module

0x01030000

ALERT_OS

OS event module

0x01040000

ALERT_LLC

LLC module

0x01050000

ALERT_SDLC

SDLC stack module

0x01060000

ALERT_REMOTE

RConsole module

0x01070000

ALERT_MLID

MLID LAN driver module

0x01080000

ALERT_QLLC

QLLC module

0x01090000

ALERT_UPS

UPS monitor module

0x010A0000

ALERT_DS

eDirectory services module

0x010C0000

ALERT_RSPX

RSPX module

0x010D0000

ALERT_R232

R232 module

0x010E0000

ALERT_TIME_SYNC

Time synchronization module

0x010F0000

ALERT_CLIB

CLib module

0x01100000

ALERT_PRINT

Print services module

0x01200000

ALERT_NRS

Novell replication services module

0x01300000

ALERT_DNS

IP and domain name services module

0x01400000

ALERT_DHCP

DHCP services module

0x01500000

ALERT_MM

Media manager module

30.7.4 Alert Location Values

The alertLocus field of the EventNetWareAlert_t structure can have the following values:

Value

Name

0

LOCUS_UNKNOWN

1

LOCUS_MEMORY

2

LOCUS_FILESYSTEM

3

LOCUS_DISKS

4

LOCUS_LANBOARDS

5

LOCUS_COMSTACKS

7

LOCUS_TTS

8

LOCUS_BINDERY

9

LOCUS_STATION

10

LOCUS_ROUTER

11

LOCUS_LOCKS

12

LOCUS_KERNEL

13

LOCUS_UPS

14

LOCUS_SERVICE_PROTOCOL

15

LOCUS_SFT_III

16

LOCUS_RESOURCE_TRACKING

17

LOCUS_NLM

18

LOCUS_OS_INFORMATION

19

LOCUS_CACHE

30.7.5 Alert Severity Values

The alertSeverity field of the EventNetWareAlert_t structure can have the following values:

Value

Name

Description

0

SEVERITY_INFORMATIONAL

Counters or gauges have reached their thresholds.

1

SEVERITY_WARNING

Configuration errors, etc. exist. No damage was done.

2

SEVERITY_RECOVERABLE

Hot Fix disk, etc. exist. A workaround was made.

3

SEVERITY_CRITICAL

Disk Mirror failed, etc. A fix up was attempted.

4

SEVERITY_FATAL

Resource was fatally affected. Shut down your process.

5

SEVERITY_OPERATION_ABORTED

The operation cannot complete. The effects are unknown.

6

SEVERITY_NONOS_UNRECOVERABLE

The operation cannot complete. This will not affect the OS.

30.7.6 Event Types

The RegisterForEventNotification, CanEventBlock, CheckForRegisteredEvent, EventCheck, EventReport, and the UnRegisterEventNotification functions use the following flags for the type parameter. These flags are defined in the event.h file. In the table below,

  • The Warn Routine column indicates whether an event consumer is called before an event occurs. If there is a Warn Routine, the consumer is notified before the event actually occurs.

  • The Sleep column indicates whether the consumer can block (or yield to the CPU) in the Report Routine. The operating system can override this value during operation. To see if sleep is allow at a specific point in time, use the CanEventBlock function. It is always safe to block in the Warn Routine.

#

Event: Description

Warn Routine

Sleep

0

EVENT_VOL_SYS_MOUNT: parm is undefined. Report Routine is called immediately after the SYS: volume has been mounted.

No

Yes

1

EVENT_VOL_SYS_DISMOUNT: parm is undefined. Warn Routine and Report Routine are called before the SYS:volume is dismounted.

Yes

Yes

2

EVENT_ANY_VOL_MOUNT: parm is a volume number. Report Routine is called immediately after any volume is mounted.

No

Yes

3

EVENT_ANY_VOL_DISMOUNT: parm is a volume number. Warn Routine and Report Routine are called before any volume is dismounted.

Yes

Yes

4

EVENT_DOWN_SERVER: parm is undefined. Warn Routine and Report Routine are called before the server is shut down.

Yes

Yes

7

EVENT_EXIT_TO_DOS: parm is undefined. Report Routine is called before the server exits to DOS.

No

Yes

8

EVENT_MODULE_UNLOAD: parm is a module handle. Warn Routine and Report Routine are called when a module is unloaded from the console command line. Only Report Routine is called when a module unloads itself.

Yes

Yes

9

EVENT_CLEAR_CONNECTION: parm is a connection number. Report Routine is called before the connection is cleared.

No

Yes

10

EVENT_LOGIN_USER: parm is a connection number. Report Routine is called after the connection has been allocated.

No

Yes

11

EVENT_CREATE_BINDERY_OBJ: parm is an object ID. Report Routine is called after the object is created and entered in the bindery.

No

No

12

EVENT_DELETE_BINDERY_OBJ: parm is an object ID. Report Routine is called before the object is removed from the bindery.

No

No

13

EVENT_CHANGE_SECURITY: parm is a pointer to an EventSecurityChange_t structure. Report Routine is called after a security equivalence change has occurred.

No

No

14

EVENT_ACTIVATE_SCREEN: parm is a screen ID. Report routine is called after the screen becomes the active screen.

No

No

15

EVENT_UPDATE_SCREEN: parm is a screen ID. Report routine is called after a change is made to the screen image.

No

No

16

EVENT_UPDATE_CURSOR: parm is a screen ID. Report routine is called after a change to the cursor position or state occurs.

No

No

17

EVENT_KEY_WAS_PRESSED: parm is undefined. Report routine is called at interrupt time whenever a key on the keyboard is pressed (including shift/alt/control).

No

No

18

EVENT_DEACTIVATE_SCREEN: parm is a screen ID. Report routine is called when the screen becomes inactive.

No

No

19

EVENT_TRUSTEE_CHANGE: parm is a pointer to an EventTrusteeChange_t structure. Report Routine is called every time there is a change to a trustee in the file system.

No

No

20

EVENT_OPEN_SCREEN: parm is the screen ID for the newly created screen. Report Routine is called after the screen is created.

No

Yes

21

EVENT_CLOSE_SCREEN: parm is the screen ID for the screen that is to be closed. Report Routine is called before the screen is closed.

No

Yes

22

EVENT_MODIFY_DIR_ENTRY: parm is a pointer to an EventModifyDirEntry_t structure, which contains the modify information. Report Routine is called right after the entry is changed and before the directory entry is unlocked.

No

No

23

EVENT_NO_RELINQUISH_CONTROL: parm is the running process. Report Routine is called when the timer detects that a process is hogging the processor.

No

No

25

EVENT_THREAD_SWITCH: parm is the thread's ID that was executing when the thread switch occurred. Report Routine is called when the new thread begins executing (applies only to threads in the calling NLM™).

No

No

27

EVENT_MODULE_LOAD: parm is module handle. Report Routine is called after a module has loaded.

No

Yes

28

EVENT_CREATE_PROCESS: parm is the PID of the process being created. Report Routine is called after the process is created.

No

No

29

EVENT_DESTROY_PROCESS: parm is the PID of the process being destroyed. Report Routine is called before the process is actually destroyed.

No

No

32

EVENT_NEW_PUBLIC: parm is a pointer to a length preceded string containing the name of the new public entry point.

No

No

33

EVENT_PROTOCOL_BIND: parm is a pointer to an EventProtocolBind_t structure. This event is generated every time a board is bound to a protocol.

No

Yes

34

EVENT_PROTOCOL_UNBIND: parm is a pointer to an EventProtocolBind_t structure. This event is generated every time a board is unbound from a protocol.

No

Yes

37

EVENT_ALLOCATE_CONNECTION: parm is a connection number. Report Routine is called after the connection is allocated.

No

Yes

38

EVENT_LOGOUT_CONNECTION: parm is a connection number. After NetWare 5.1, any NLM that is registered for this event is called; but the connection is logged out at that point.

No

Yes

39

EVENT_MLID_REGISTER: parm is a board number. Report Routine is called after the MLID software is registered.

No

No

40

EVENT_MLID_DEREGISTER: parm is a board number. Report Routine is called before the MLID is unregistered.

No

No

41

EVENT_DATA_MIGRATION: parm is a pointer to an EventDateMigrationInfo_t structure. This event is generated when a file’s data has been migrated.

No

No

42

EVENT_DATA_DEMIGRATION: parm is a pointer to an EventDateMigrationInfo_t structure. This event is generated when a file’s data has been de-migrated.

No

No

43

EVENT_QUEUE_ACTION: parm is a pointer to an EventQueueNote_t structure. This event is generated when a queue is activated, deactivated, created, or deleted.

No

No

44

EVENT_NETWARE_ALERT: parm is a pointer to an EventNetWareAlert_t structure.

No

Yes

45

EVENT_INIT_STATE: parm returns one of the following values:

  • INIT_STATE_STARTSERVER (0) — sent just after OSMain has started.

  • INIT_STATE_PRESTARTUP (1) — sent just before startup.ncf is run.

  • INIT_STATE_POSTSTARTUP (2) — sent just after statup.ncf has finished.

  • INIT_STATE_PREAUTOEXEC (3) — sent just before autoexec.ncf is run.

  • INIT_STATE_POSTAUTOEXEC (4) — sent just after autoexec.ncf has finished.

NOTE:This event was added August 2004 and tracks the initialization of the server.

No

Yes

46

EVENT_CREATE_OBJECT: parm is a pointer to an EventDSObject_t structure.

No

Yes

47

EVENT_DELETE_OBJECT: parm is a pointer to an EventDSObject_t structure.

No

Yes

48

EVENT_RENAME_OBJECT: parm is a pointer to an EventDSObject_t structure.

No

Yes

49

EVENT_VALUE_CHANGE: parm is a pointer to an EventDSObject_t structure.

No

Yes

50

EVENT_CLOSE_FILE: parm is a pointer to an EventCloseFileInfo_t structure.

No

No

51

EVENT_CHANGE_TIME: parm is the UTC time (in seconds) before the time change. The current time is available from the operating system. Because you have no way of knowing the magnitude of the time change, nor whether it has taken place or is scheduled for the next clock interrupt, you must detect the time change on your own. In general, if current time is less than old time, or at least two seconds ahead of old time, then the time change has been applied. You must wait for one of those conditions to be sure the time change has taken effect before you can assume the event has completed.

No

No

52

EVENT_MOVE_OBJECT: parm is a pointer to an EventDSObject_t structure.

No

No

53

EVENT_VALUE_ADD: parm is a pointer to an EventDSObject_t structure.

No

Yes

54

EVENT_VALUE_DEL: parm is a pointer to an EventDSObject_t structure.

No

Yes

55

EVENT_DM_KEY_MODIFIED: parm is a pointer to an EventDMKeyModified structure.

No

Yes

56

EVENT_MODULE_UNLOADED: parm is a module handle. The Report Routine is called after the NLM exit routine has been called, after the resources have been returned to the OS, and after it has been unlinked from the OS lists. The only thing left of this NLM is the memory for its load definition structure, data image, and code image.

No

Yes

57

EVENT_REMOVE_PUBLIC: parm is the address of the public entry point. This event occurs only on module unload.

No

Yes

58

EVENT_DS_EVENT: parm is a pointer to an EventDSObject_t structure.

No

Yes

59

EVENT_UNICODE: parm is a pointer to a Unicode defined event structure.

No

Yes

60

EVENT_SFT3_SERVER_STATE: parm is the server state number

No

No

61

EVENT_SFT3_IMAGE_STATE: parm is the memory mirror state.

No

No

62

EVENT_SFT3_PRESYNC_STATE: parm is unused. This event occurs when the primary is ready to synchronize with the secondary server.

No

Yes

63

EVENT_ALTERNATE_MOUNT_VOLUME: parm points to an EventAlernateMountVolume structure. This event occurs when NetWare is not aware of the volume name to be mounted. The return code is in the structure, after it has been processed.

No

Yes

64

EVENT_CONSOLE_CONFIG_COMMAND: parm points to the console screen handle. This event occurs when the console command CONFIG is typed on the server command line.

No

Yes

65

EVENT_CONSOLE_VERSION_COMMAND: parm points to an EventConfigVersionCmdInfo structure. This event occurs when the console command VERSION is typed on the server command line.

No

Yes

66

EVENT_PRE_LOAD_NLM: parm points to an NLM load file header structure. This event occurs while an NLM is being loaded, but before most of the work is done. For example, the data and code segments have not been allocated yet.

No

Yes

67

EVENT_LOW_MEMORY: parm is 0. This event occurs when the cache memory allocator tries to allocate a cache block and fails. Only one event per minute is generated, and it happens in conjunction with a NetWare alert.

No

Yes

78

EVENT_SET_PARM_CHANGED: parm points to an EventSetParm_t structure. This event occurs when a settable parameter is modified.

No

Yes

106

EVENT_SET_PARM_CATEGORY_REMOVE: parm points to an EventSetParmCat_t structure. This event occurs when a settable parameter category is removed.

No

Yes

107

EVENT_SET_PARM_ADD: parm points to an EventSetParm_t structure. This event occurs when a settable parameter is added.

No

Yes

108

EVENT_SET_PARM_REMOVE: parm points to an EventSetParm_t structure. This event occurs when a settable parameter is removed.

No

Yes

115

EVENT_MODULE_UNLOAD_POST_EXIT: parm is the module handle. This event occurs after the NLM's exit routine has been called but before its resources have been cleaned up.

No

Yes

118

EVENT_LOCALE_FILE_CHANGED: parm is undefined. This event occurs when the locale of the server changes.

No

Yes

129

EVENT_PRE_DOWN_SERVER: parm is undefined. This event occurs before the server is shutdown and before EVENT_DOWN_SERVER is generated.

Yes

No

130

EVENT_SEARCH_PATH: parm points to an EventSearch_t structure. This event occurs whenever a search path is added, modified, or deleted.

No

Yes

133

EVENT_COMMAND_LINE_ENTERED: parm points to an EventCmdLineInfo_t structure. This event occurs whenever a console command is entered.

No

Yes

148

EVENT_GET_KEY_INFORMATION: parm is a pointer to an EventCheckKeyInfo_t structure which contains all the key information and the screen ID. This event occurs whenever a key is pressed on the system keyboard.

No

No

152

EVENT_LOCAL_DRIVE_ACTIVATED: parm is the drive index, where A: equals 0. This event occurs whenever a local drive letter is created or activated.

No

Yes

153

EVENT_LOCAL_DRIVE_DEACTIVATED: parm is the drive index, where A: equals 0. This event occurs whenever a local drive letter is deleted or deactivated.

No

Yes

30.7.7 Target Notification Bit Values

The targetNotificationBits field of the EventNetWareAlert_t structure can have the following values:

Value

Name

0x00000001

NOTIFY_CONNECTION_BIT

0x00000002

NOTIFY_EVERYONE_BIT

0x00000004

NOTIFY_ERROR_LOG_BIT

0x00000008

NOTIFY_CONSOLE_BIT

0x10000000

NOTIFY_QUEUE_MESSAGE

0x80000000

NOTIFY_DONT_NOTIFY_NMAGENT