/********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:06 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]STARDEFQZ.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $REGDEF ***/ #ifndef __REGDEF_LOADED #define __REGDEF_LOADED 1 #pragma __nostandard /* This file uses non-ANSI-Standard features */ #pragma __member_alignment __save #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __save /* Save the previously-defined required ptr size */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif #ifdef __cplusplus extern "C" { #define __unknown_params ... #define __optional_params ... #else #define __unknown_params #define __optional_params ... #endif #ifndef __struct #if !defined(__VAXC) #define __struct struct #else #define __struct variant_struct #endif #endif #ifndef __union #if !defined(__VAXC) #define __union union #else #define __union variant_union #endif #endif #ifndef __REGDEF #define __REGDEF /* */ /* +===================================================================+ */ /* | */ /* | REG - Registry system service ($REGISTRY) definition */ /* | */ /* +===================================================================+ */ /* */ /* +-------------------------------------------------------------------+ */ /* | Function codes */ /* +-------------------------------------------------------------------+ */ /* */ #define REG$FC_CLOSE_KEY 1 /* Releases the resources for a given key */ #define REG$FC_CREATE_KEY 2 /* Either creates a specified key or opens it if it already exists */ #define REG$FC_DELETE_KEY 3 /* Removes a specified key from the registry */ #define REG$FC_DELETE_VALUE 4 /* Deletes the specified value from a given key */ #define REG$FC_ENUM_KEY 5 /* Retrieves information about a subkey */ #define REG$FC_ENUM_VALUE 6 /* Retrieves information about a value */ #define REG$FC_FLUSH_KEY 7 /* Write all the information of a specified key to disk */ #define REG$FC_LOAD_KEY 8 /* Create a subkey and store information from a given file */ #define REG$FC_MODIFY_KEY 9 /* Modifies information about a specified key */ #define REG$FC_MODIFY_TREE_KEY 10 /* Modifies information about a specified key and all its subkeys */ #define REG$FC_NOTIFY_CHANGE_KEY_VALUE 11 /* Notifies the calling process when a specified key has changed */ #define REG$FC_OPEN_KEY 12 /* Opens a specified key */ #define REG$FC_QUERY_KEY 13 /* Retrieves information about a specified key */ #define REG$FC_QUERY_VALUE 14 /* Retrieves information about a specified value */ #define REG$FC_REPLACE_KEY 15 /* Replaces a key and all its subkeys with information in a specified file */ #define REG$FC_RESTORE_KEY 16 /* Restores a key from a specified file */ #define REG$FC_SAVE_KEY 17 /* Saves a key and its subkeys to a specified file */ #define REG$FC_SEARCH_TREE_DATA 18 /* Scan a key and its subkeys for a given data component */ #define REG$FC_SEARCH_TREE_KEY 19 /* Scan a key and its subkeys for a given subkey */ #define REG$FC_SEARCH_TREE_VALUE 20 /* Scan a key and its subkeys for a given value */ #define REG$FC_SET_VALUE 21 /* Sets value infornation */ #define REG$FC_UNLOAD_KEY 22 /* Removes a key tree form the registry */ #define REG$FC_GET_KEY_SECURITY 23 /* Retrieves a key security profile */ #define REG$FC_SET_KEY_SECURITY 24 /* Sets a key security profile */ #define REG$FC_GET_PERFORMANCE 25 /* Retrieves performance information */ #define REG$FC_GET_FILE_INFO 26 /* Retrieves file statistics */ #define REG$FC_GET_FILE_UPDATE 27 /* Retrieves segment allocation information */ #define REG$FC_CREATE_DATABASE 28 /* Creates the registry database */ #define REG$FC_MAKE_SNAPSHOT 29 /* Take a snpashot of the Registry database */ #define REG$FC_ARCHIVE 30 /* Archive the registry database */ #define REG$FC_LAST 31 /* Always last */ /* */ /* +-------------------------------------------------------------------+ */ /* | Item Code Modifiers */ /* +-------------------------------------------------------------------+ */ /* */ #define REG$M_UNICODE_STRING 8192 /* 0x2000 string is Unicode */ /* */ /* +-------------------------------------------------------------------+ */ /* | Item Codes */ /* +-------------------------------------------------------------------+ */ /* */ #define REG$_TERMINATOR 0 /* network packet terminator */ #define REG$_SEPARATOR 1 /* item code list seperator */ #define REG$_SECPROFILE 514 /* security profile */ #define REG$_REQUEST 515 /* TLV of item code TLVs (request) */ #define REG$_ACMODE 1284 /* access mode */ #define REG$_ACTIONCODE 1285 /* action code for performance & space */ #define REG$_CACHEACTION 1286 /* cache action (thru/behind ) */ #define REG$_CANCELNOTIFICATION 519 /* Cancel notify key change notify */ #define REG$_CLASSNAME 264 /* class name */ #define REG$_CLASSNAMEMAX 1289 /* longest class name length */ #define REG$_CLASSNAMESIZE 1290 /* destination's class name buffer size */ #define REG$_DATAFLAGS 1547 /* data flags */ #define REG$_DATATYPE 1292 /* data type */ #define REG$_DISPOSITION 1293 /* createnewkey/openexistingkey */ #define REG$_FILEINFODATA 526 /* File info data */ #define REG$_FILELOAD 1807 /* OpenVMS file name to load */ #define REG$_FILESAVE 1808 /* OpenVMS file name to save */ #define REG$_FILEUPDATEDATA 529 /* File update data */ #define REG$_FLAGOPCODE 1298 /* how data flags is used */ #define REG$_FLAGSUBKEY 1299 /* report (sub)key changes */ #define REG$_KEYID 1300 /* input key id in longword format */ #define REG$_KEYID_INTERNAL 533 /* internal key id in UID/FSO/LH format */ #define REG$_KEYFLAGS 1302 /* KEY flags */ #define REG$_KEYPATH 279 /* Path to key object */ #define REG$_KEYRESULT 1304 /* output key id in longword format */ #define REG$_KEYRESULT_INTERNAL 537 /* internal key id in UID/FSO/LH format */ #define REG$_LASTWRITE 1562 /* time key was last written */ #define REG$_LINKCOUNT 1307 /* Count of links refer to item */ #define REG$_LINKPATH 284 /* key path a key is linked to */ #define REG$_LINKPATHSIZE 1309 /* destination's link path buffer size */ #define REG$_LINKTYPE 1310 /* Link type (logical/physical) */ #define REG$_LOCK 1311 /* what lock on open/create key */ #define REG$_NEWNAME 288 /* new name of a key create/rename */ #define REG$_NOTIFYFILTER 1313 /* which key changes to reported */ #define REG$_PATHBUFFER 546 /* set of paths separated by null byte */ #define REG$_PERFORMANCEDATA 547 /* Performance data */ #define REG$_REQLENGTH 1316 /* required buffer size */ #define REG$_RETURNSTATUS 1317 /* return status for a given operation */ #define REG$_SECACCESS 1318 /* security access for a new key */ #define REG$_SECONDSTATUS 1319 /* secondary status for a given operation */ #define REG$_SECURITYPOLICY 1320 /* Security policy to enforce for a key */ #define REG$_SEGMENTNUMBER 1321 /* Segment Number for locating space info */ #define REG$_SNAPSHOTDESTINATION 1834 /* Snapshot destination directory */ #define REG$_SNAPSHOTVERSIONS 1323 /* Snapshot versions to maintain */ #define REG$_SUBKEYINDEX 1324 /* Index of the subkey to retrieve */ #define REG$_SUBKEYNAME 301 /* name of a subkey */ #define REG$_SUBKEYNAMEMAX 1326 /* longest subkey name for a given key */ #define REG$_SUBKEYNAMESIZE 1327 /* destination's subkey name buffer size */ #define REG$_SUBKEYSNUMBER 1328 /* Number of subkeys in a given key */ #define REG$_SECURITYINFORMATION 1329 /* NT Security information */ #define REG$_SECURITYDESCRIPTOR 562 /* NT Security descriptor */ #define REG$_VALUEINDEX 1331 /* index of the value to retrieve */ #define REG$_VALUEDATA 564 /* value data component */ #define REG$_VALUEDATAMAX 1333 /* longest value data for a given key */ #define REG$_VALUEDATASIZE 1334 /* destination's value data buffer size */ #define REG$_VALUENAME 311 /* specifies the name of a value */ #define REG$_VALUENAMEMAX 1336 /* longest value name for a given key */ #define REG$_VALUENAMESIZE 1337 /* destination's value name buffer size */ #define REG$_VALUENUMBER 1338 /* number of values in a given key */ #define REG$_VOLATILE 1339 /* Identifies volatility of an object */ #define REG$_WILDASTERISK 316 /* char to replace asterisk wildcard */ #define REG$_WILDPERCENT 317 /* char to replace percent wildcard */ #define REG$_WILDPERIODS 318 /* char to replace periods wildcard */ #define REG$_INSTRUMENTFILE 575 /* unknown */ #define REG$_INSTRUMENTKEY 576 /* unknown */ #define REG$_INSTRUMENTDATA 577 /* unknown */ #define REG$_FILENAME 1858 /* file requested for space monitoring */ #define REG$_COUNTER 1347 /* a counter index */ #define REG$_SECDESCRIPTORLEN 1348 /* Length of security descriptor */ #define REG$_SECDESCLEN_INTERNAL 1349 /* Internal length of security descriptor */ #define REG$_VALUEDATASIZE_INTERNAL 1350 /* Internal dest value data buffer size */ #define REG$_SAMDESIRED 1351 /* SamDesired - for AS & Bristol only */ #define REG$_DATABASE_VERSION 1352 /* Database version for Create Database */ #define REG$_LAST 73 /* Always last */ /* */ /* +-------------------------------------------------------------------+ */ /* | Item Code Values */ /* +-------------------------------------------------------------------+ */ /* */ #define REG$K_NONE 0 /* The item is not volatile */ #define REG$K_CLUSTER 1 /* The item is removed when the cluster reboots */ #define REG$K_SYSTEM 2 /* The item is removed when the system reboots */ #define REG$K_PROCESS 3 /* The item is removed when the creating process terminates */ #define REG$K_IMAGE 4 /* The item is removes when the creating image terminates */ #define REG$K_WRITEBEHIND 5 /* The information on the given object can be written to disk at a later time */ #define REG$K_WRITETHRU 6 /* The information on the given object must be written to disk immediately */ #define REG$K_CREATENEWKEY 7 /* Created a new key */ #define REG$K_OPENEXISTINGKEY 8 /* Opened an existing key */ #define REG$K_POLICY_OPENVMS 9 /* Access is required to all keys in the key path */ #define REG$K_POLICY_NT_40 10 /* Access is required to the first key and the requested key */ #define REG$K_INTERNAL 11 /* */ #define REG$K_HARDLINK 12 /* Hard (physical) link */ #define REG$K_SYMBOLICLINK 13 /* Symbolic (logical) link */ #define REG$K_BINARY 14 /* Binary data */ #define REG$K_DWORD 15 /* A 32 bit number */ #define REG$K_DWLITTLEENDIAN 16 /* A 32 bit number in little endian format */ #define REG$K_DWBIGENDIAN 17 /* A 32 bit number in bi endian format */ #define REG$K_EXPAND_SZ 18 /* A string of ISO-1 Latin characters containing environment variables */ #define REG$K_LINK 19 /* A link to another value */ #define REG$K_MULTI_SZ 20 /* A concatenated array of REG$K_SZ strings */ #define REG$K_QWORD 21 /* A 64 bit number */ #define REG$K_RESOURCELIST 22 /* A device driver resource list */ #define REG$K_SZ 23 /* A null terminated string */ #define REG$K_START_FILE 24 /* */ #define REG$K_START_PERF 25 /* */ #define REG$K_STOP_FILE 26 /* */ #define REG$K_STOP_PERF 27 /* */ #define REG$K_ZERO_FILE 28 /* */ #define REG$K_ZERO_PERF 29 /* */ #define REG$K_SHOW_CTR_FILE 30 /* */ #define REG$K_SHOW_CTR_PERF 31 /* */ #define REG$K_SHOW_FILE 32 /* */ #define REG$K_NORMAL 33 /* String size <= 8K */ #define REG$K_LARGE 34 /* String size > 8K */ #define REG$K_EXACTMATCH 35 /* */ #define REG$K_INCLUDE 36 /* */ #define REG$K_EXCLUDE 37 /* */ #define REG$K_ANY 38 /* */ #define REG$K_NOTANY 39 /* */ /* */ /* +-------------------------------------------------------------------+ */ /* | Function Code Modifiers */ /* +-------------------------------------------------------------------+ */ /* */ #define REG$M_FC 0x3FF #define REG$M_CASE_SENSITIVE 0x400 #define REG$M_DISABLE_WILDCARDS 0x800 #define REG$M_IGNORE_LINKS 0x1000 #define REG$M_NOW 0x2000 #define REG$M_NOWAIT 0x4000 #define REG$M_UNICODE_VALUES 0x8000 #define REG$M_BYPASS 0x10000 #define REG$M_INTERNAL 0x20000 #ifdef __NEW_STARLET typedef union _regdef { __struct { unsigned reg$v_fc : 10; unsigned reg$v_case_sensitive : 1; /* Indicates that the case sensitivity of keys be uses for matches */ unsigned reg$v_disable_wildcards : 1; /* Indicates that wildcards characters should be traited as normal characters */ unsigned reg$v_ignore_links : 1; /* Indicates that symbolic links should not be followed */ unsigned reg$v_now : 1; /* Indicates whether or not an operation should be written to disk immediately */ unsigned reg$v_nowait : 1; /* Indicates that operation should be aborted rather than stalled */ unsigned reg$v_unicode_values : 1; /* Indicates that data is an UNICODE string */ unsigned reg$v_bypass : 1; /* */ unsigned reg$v_internal : 1; /* Indicates internal operation */ unsigned reg$v_fill_7_ : 6; } reg$r_fc_modifiers; } REGDEF; #if !defined(__VAXC) #define reg$v_fc reg$r_fc_modifiers.reg$v_fc #define reg$v_case_sensitive reg$r_fc_modifiers.reg$v_case_sensitive #define reg$v_disable_wildcards reg$r_fc_modifiers.reg$v_disable_wildcards #define reg$v_ignore_links reg$r_fc_modifiers.reg$v_ignore_links #define reg$v_now reg$r_fc_modifiers.reg$v_now #define reg$v_nowait reg$r_fc_modifiers.reg$v_nowait #define reg$v_unicode_values reg$r_fc_modifiers.reg$v_unicode_values #define reg$v_bypass reg$r_fc_modifiers.reg$v_bypass #define reg$v_internal reg$r_fc_modifiers.reg$v_internal #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ union regdef { __struct { unsigned reg$v_fc : 10; unsigned reg$v_case_sensitive : 1; /* Indicates that the case sensitivity of keys be uses for matches */ unsigned reg$v_disable_wildcards : 1; /* Indicates that wildcards characters should be traited as normal characters */ unsigned reg$v_ignore_links : 1; /* Indicates that symbolic links should not be followed */ unsigned reg$v_now : 1; /* Indicates whether or not an operation should be written to disk immediately */ unsigned reg$v_nowait : 1; /* Indicates that operation should be aborted rather than stalled */ unsigned reg$v_unicode_values : 1; /* Indicates that data is an UNICODE string */ unsigned reg$v_bypass : 1; /* */ unsigned reg$v_internal : 1; /* Indicates internal operation */ unsigned reg$v_fill_7_ : 6; } reg$r_fc_modifiers; } ; #if !defined(__VAXC) #define reg$v_fc reg$r_fc_modifiers.reg$v_fc #define reg$v_case_sensitive reg$r_fc_modifiers.reg$v_case_sensitive #define reg$v_disable_wildcards reg$r_fc_modifiers.reg$v_disable_wildcards #define reg$v_ignore_links reg$r_fc_modifiers.reg$v_ignore_links #define reg$v_now reg$r_fc_modifiers.reg$v_now #define reg$v_nowait reg$r_fc_modifiers.reg$v_nowait #define reg$v_unicode_values reg$r_fc_modifiers.reg$v_unicode_values #define reg$v_bypass reg$r_fc_modifiers.reg$v_bypass #define reg$v_internal reg$r_fc_modifiers.reg$v_internal #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ /* */ /* +-------------------------------------------------------------------+ */ /* | Key Change Notify Flags */ /* +-------------------------------------------------------------------+ */ /* */ #define REG$M_CHANGENAME 0x1 #define REG$M_CHANGEATTRIBUTES 0x2 #define REG$M_CHANGELASTSET 0x4 #define REG$M_CHANGESECURITY 0x8 #ifdef __NEW_STARLET typedef union _keychangedef { __struct { unsigned reg$v_changename : 1; /* A key name change, includes creation and deletion of its subkeys. */ unsigned reg$v_changeattributes : 1; /* Attribute change of key or subkeys */ unsigned reg$v_changelastset : 1; /* Last write time change of key or subkeys */ unsigned reg$v_changesecurity : 1; /* Security descriptor change of key or subkeys */ unsigned reg$v_fill_8_ : 4; } reg$r_keychange_flags; } KEYCHANGEDEF; #if !defined(__VAXC) #define reg$v_changename reg$r_keychange_flags.reg$v_changename #define reg$v_changeattributes reg$r_keychange_flags.reg$v_changeattributes #define reg$v_changelastset reg$r_keychange_flags.reg$v_changelastset #define reg$v_changesecurity reg$r_keychange_flags.reg$v_changesecurity #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ union keychangedef { __struct { unsigned reg$v_changename : 1; /* A key name change, includes creation and deletion of its subkeys. */ unsigned reg$v_changeattributes : 1; /* Attribute change of key or subkeys */ unsigned reg$v_changelastset : 1; /* Last write time change of key or subkeys */ unsigned reg$v_changesecurity : 1; /* Security descriptor change of key or subkeys */ unsigned reg$v_fill_8_ : 4; } reg$r_keychange_flags; } ; #if !defined(__VAXC) #define reg$v_changename reg$r_keychange_flags.reg$v_changename #define reg$v_changeattributes reg$r_keychange_flags.reg$v_changeattributes #define reg$v_changelastset reg$r_keychange_flags.reg$v_changelastset #define reg$v_changesecurity reg$r_keychange_flags.reg$v_changesecurity #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ /* */ /* +-------------------------------------------------------------------+ */ /* | Security access Mask */ /* +-------------------------------------------------------------------+ */ /* */ #define REG$M_ALLACCESS 0x1 #define REG$M_CREATELINK 0x2 #define REG$M_CREATESUBKEY 0x4 #define REG$M_ENUMSUBKEYS 0x8 #define REG$M_EXECUTE 0x10 #define REG$M_NOTIFY 0x20 #define REG$M_QUERYVALUE 0x40 #define REG$M_READ 0x80 #define REG$M_SETVALUE 0x100 #define REG$M_WRITE 0x200 #define REG$M_DELETEACCESS 0x400 #define REG$M_READCONTROL 0x800 #define REG$M_WRITEDAC 0x1000 #define REG$M_WRITEOWNER 0x2000 #define REG$M_SYNCHRONIZE 0x4000 #define REG$M_ACCESSSYSTEMSECURITY 0x8000 #define REG$M_MAXIMUMALLOWED 0x10000 #define REG$M_GENERICALL 0x20000 #define REG$M_GENERICEXECUTE 0x40000 #define REG$M_GENERICWRITE 0x80000 #define REG$M_GENERICREAD 0x100000 #ifdef __NEW_STARLET typedef union _secaccessdef { __struct { /* NT equivalent */ unsigned reg$v_allaccess : 1; /* KEY_ALL_ACCESS */ unsigned reg$v_createlink : 1; /* KEY_CREATE_LINK */ unsigned reg$v_createsubkey : 1; /* KEY_CREATE_SUB_KEY */ unsigned reg$v_enumsubkeys : 1; /* KEY_ENUMERATE_SUB_KEYS */ unsigned reg$v_execute : 1; /* KEY_EXECUTE */ unsigned reg$v_notify : 1; /* KEY_NOTIFY */ unsigned reg$v_queryvalue : 1; /* KEY_QUERY_VALUE */ unsigned reg$v_read : 1; /* READ_CONTROL|KEY_QUERY_VALUE|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY */ unsigned reg$v_setvalue : 1; /* KEY_SET_VALUE */ unsigned reg$v_write : 1; /* READ_CONTROL|KEY_SET_VALUE|KEY_CREATE_SUB_KEY */ unsigned reg$v_deleteaccess : 1; /* DELETE_ACCESS */ unsigned reg$v_readcontrol : 1; /* READ_CONTROL */ unsigned reg$v_writedac : 1; /* WRITE_DAC */ unsigned reg$v_writeowner : 1; /* WRITE_OWNER */ unsigned reg$v_synchronize : 1; /* SYNCHRONIZE */ unsigned reg$v_accesssystemsecurity : 1; /* ACCESS_SYSTEM_SECURITY */ unsigned reg$v_maximumallowed : 1; /* MAXIMUM_ALLOWED */ unsigned reg$v_genericall : 1; /* GENERIC_ALL */ unsigned reg$v_genericexecute : 1; /* GENERIC_EXECUTE */ unsigned reg$v_genericwrite : 1; /* GENERIC_WRITE */ unsigned reg$v_genericread : 1; /* GENERIC_READ */ unsigned reg$v_fill_9_ : 3; } reg$r_secaccess_mask; } SECACCESSDEF; #if !defined(__VAXC) #define reg$v_allaccess reg$r_secaccess_mask.reg$v_allaccess #define reg$v_createlink reg$r_secaccess_mask.reg$v_createlink #define reg$v_createsubkey reg$r_secaccess_mask.reg$v_createsubkey #define reg$v_enumsubkeys reg$r_secaccess_mask.reg$v_enumsubkeys #define reg$v_execute reg$r_secaccess_mask.reg$v_execute #define reg$v_notify reg$r_secaccess_mask.reg$v_notify #define reg$v_queryvalue reg$r_secaccess_mask.reg$v_queryvalue #define reg$v_read reg$r_secaccess_mask.reg$v_read #define reg$v_setvalue reg$r_secaccess_mask.reg$v_setvalue #define reg$v_write reg$r_secaccess_mask.reg$v_write #define reg$v_deleteaccess reg$r_secaccess_mask.reg$v_deleteaccess #define reg$v_readcontrol reg$r_secaccess_mask.reg$v_readcontrol #define reg$v_writedac reg$r_secaccess_mask.reg$v_writedac #define reg$v_writeowner reg$r_secaccess_mask.reg$v_writeowner #define reg$v_synchronize reg$r_secaccess_mask.reg$v_synchronize #define reg$v_accesssystemsecurity reg$r_secaccess_mask.reg$v_accesssystemsecurity #define reg$v_maximumallowed reg$r_secaccess_mask.reg$v_maximumallowed #define reg$v_genericall reg$r_secaccess_mask.reg$v_genericall #define reg$v_genericexecute reg$r_secaccess_mask.reg$v_genericexecute #define reg$v_genericwrite reg$r_secaccess_mask.reg$v_genericwrite #define reg$v_genericread reg$r_secaccess_mask.reg$v_genericread #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ union secaccessdef { __struct { /* NT equivalent */ unsigned reg$v_allaccess : 1; /* KEY_ALL_ACCESS */ unsigned reg$v_createlink : 1; /* KEY_CREATE_LINK */ unsigned reg$v_createsubkey : 1; /* KEY_CREATE_SUB_KEY */ unsigned reg$v_enumsubkeys : 1; /* KEY_ENUMERATE_SUB_KEYS */ unsigned reg$v_execute : 1; /* KEY_EXECUTE */ unsigned reg$v_notify : 1; /* KEY_NOTIFY */ unsigned reg$v_queryvalue : 1; /* KEY_QUERY_VALUE */ unsigned reg$v_read : 1; /* READ_CONTROL|KEY_QUERY_VALUE|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY */ unsigned reg$v_setvalue : 1; /* KEY_SET_VALUE */ unsigned reg$v_write : 1; /* READ_CONTROL|KEY_SET_VALUE|KEY_CREATE_SUB_KEY */ unsigned reg$v_deleteaccess : 1; /* DELETE_ACCESS */ unsigned reg$v_readcontrol : 1; /* READ_CONTROL */ unsigned reg$v_writedac : 1; /* WRITE_DAC */ unsigned reg$v_writeowner : 1; /* WRITE_OWNER */ unsigned reg$v_synchronize : 1; /* SYNCHRONIZE */ unsigned reg$v_accesssystemsecurity : 1; /* ACCESS_SYSTEM_SECURITY */ unsigned reg$v_maximumallowed : 1; /* MAXIMUM_ALLOWED */ unsigned reg$v_genericall : 1; /* GENERIC_ALL */ unsigned reg$v_genericexecute : 1; /* GENERIC_EXECUTE */ unsigned reg$v_genericwrite : 1; /* GENERIC_WRITE */ unsigned reg$v_genericread : 1; /* GENERIC_READ */ unsigned reg$v_fill_9_ : 3; } reg$r_secaccess_mask; } ; #if !defined(__VAXC) #define reg$v_allaccess reg$r_secaccess_mask.reg$v_allaccess #define reg$v_createlink reg$r_secaccess_mask.reg$v_createlink #define reg$v_createsubkey reg$r_secaccess_mask.reg$v_createsubkey #define reg$v_enumsubkeys reg$r_secaccess_mask.reg$v_enumsubkeys #define reg$v_execute reg$r_secaccess_mask.reg$v_execute #define reg$v_notify reg$r_secaccess_mask.reg$v_notify #define reg$v_queryvalue reg$r_secaccess_mask.reg$v_queryvalue #define reg$v_read reg$r_secaccess_mask.reg$v_read #define reg$v_setvalue reg$r_secaccess_mask.reg$v_setvalue #define reg$v_write reg$r_secaccess_mask.reg$v_write #define reg$v_deleteaccess reg$r_secaccess_mask.reg$v_deleteaccess #define reg$v_readcontrol reg$r_secaccess_mask.reg$v_readcontrol #define reg$v_writedac reg$r_secaccess_mask.reg$v_writedac #define reg$v_writeowner reg$r_secaccess_mask.reg$v_writeowner #define reg$v_synchronize reg$r_secaccess_mask.reg$v_synchronize #define reg$v_accesssystemsecurity reg$r_secaccess_mask.reg$v_accesssystemsecurity #define reg$v_maximumallowed reg$r_secaccess_mask.reg$v_maximumallowed #define reg$v_genericall reg$r_secaccess_mask.reg$v_genericall #define reg$v_genericexecute reg$r_secaccess_mask.reg$v_genericexecute #define reg$v_genericwrite reg$r_secaccess_mask.reg$v_genericwrite #define reg$v_genericread reg$r_secaccess_mask.reg$v_genericread #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ /* */ /* +-------------------------------------------------------------------+ */ /* | HKEY Definitions */ /* +-------------------------------------------------------------------+ */ /* */ #define REG$_HKEY_NONE 0 /* %x00000000 */ #define REG$_HKEY_CLASSES_ROOT -2147483648 /* %x80000000 */ #define REG$_HKEY_CURRENT_USER -2147483647 /* %x80000001 */ #define REG$_HKEY_LOCAL_MACHINE -2147483646 /* %x80000002 */ #define REG$_HKEY_USERS -2147483645 /* %x80000003 */ #define REG$_HKEY_PERFORMANCE_DATA -2147483644 /* %x80000004 */ #define REG$_HKEY_LAST_ROOT_KEY 5 /* */ #endif /* __REGDEF */ #pragma __member_alignment __restore #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __restore /* Restore the previously-defined required ptr size */ #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __REGDEF_LOADED */