00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef SAFAPI_H
00024 #define SAFAPI_H
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00171
00172
00173
00174
00175 #if !defined DOXYGEN
00176 struct safpb_parameter_block;
00177 int SAFROUTE(struct safpb_parameter_block *);
00178 #endif
00179
00180
00181
00182
00183
00184
00186 typedef struct SafAdminArgTbl
00187 {
00188 char *KeyPtr;
00189 char *ValPtr;
00190 mf_uns32 KeyLen;
00191 mf_uns32 ValLen;
00192 mf_uns32 EsmRet;
00193
00194 } SafAdminArgTbl;
00195
00197 #define safadmin_argtbl SafAdminArgTbl
00198
00199 #define Safadmin_Argtbl SafAdminArgTbl
00200
00206 #define safadmin_argkeyptr KeyPtr
00207 #define safadmin_argvalptr ValPtr
00208 #define safadmin_argkeylen KeyLen
00209 #define safadmin_argvallen ValLen
00210 #define safadmin_argesmword EsmRet
00212
00213
00215 struct SafAdminListItem
00216 {
00217 mf_uns16 Count;
00218 mf_uns16 unused;
00219
00220 char **Key;
00221 char **Value;
00222 };
00223
00225 struct SafAdminList
00226 {
00227 mf_uns16 Count;
00228 mf_uns8 EsmIdx;
00229 mf_uns8 unused;
00230
00232 struct SafAdminListItem *Item;
00233 };
00234
00235
00236
00237
00238
00239
00246 struct safpb_verify
00247 {
00248 unsigned short safpb_verify_USERID_len;
00249 unsigned short safpb_verify_PWRD_len;
00250 unsigned short safpb_verify_NEWPWRD_len;
00251 unsigned short safpb_verify_TOKEN_len;
00252 char safpb_verify_group[8];
00253 void * safpb_verify_ACEE_ptr;
00254 char * safpb_verify_USERID_ptr;
00255 char * safpb_verify_PWRD_ptr;
00256 char * safpb_verify_NEWPWRD_ptr;
00257 void * safpb_verify_TOKEN_ptr;
00258 };
00259
00260
00267 struct safpb_auth
00268 {
00269 unsigned short safpb_auth_ENTITY_len;
00270 unsigned short safpb_auth_FACILITY_len;
00271 unsigned short safpb_auth_TRANSACTION_len;
00272 unsigned short safpb_auth_name_04_len;
00273 char safpb_auth_class[8];
00274 void * safpb_auth_ACEE_ptr;
00275 char * safpb_auth_ENTITY_ptr;
00276 char * safpb_auth_FACILITY_ptr;
00277 char * safpb_auth_TRANSACTION_ptr;
00278 char * safpb_auth_name_04_ptr;
00279 };
00280
00281
00288 struct safpb_xauth
00289 {
00290 unsigned short safpb_xauth_ENTITY_len;
00291 unsigned short safpb_xauth_STRING1_len;
00292 unsigned short safpb_xauth_STRING2_len;
00293 unsigned short safpb_xauth_CLASS_len;
00294 unsigned long safpb_xauth_PERMISSIONS;
00296 unsigned long safpb_xauth_available;
00297 void * safpb_xauth_ACEE_ptr;
00298 char * safpb_xauth_ENTITY_ptr;
00299 char * safpb_xauth_STRING1_ptr;
00300 char * safpb_xauth_STRING2_ptr;
00301 char * safpb_xauth_CLASS_ptr;
00302 };
00303
00304
00311 struct safpb_audit
00312 {
00313 unsigned short safpb_audit_ENTITY_len;
00314 unsigned short safpb_audit_LOGSTR_len;
00315 unsigned short safpb_audit_name_03__len;
00316 unsigned short safpb_audit_name_04_len;
00317 char safpb_audit_avail_char[8];
00318 void * safpb_audit_ACEE_ptr;
00319 char * safpb_audit_ENTITY_ptr;
00320 char * safpb_audit_LOGSTR_ptr;
00321 char * safpb_audit_name_03_ptr;
00322 char * safpb_audit_name_04_ptr;
00323 };
00324
00325
00332 struct safpb_stat
00333 {
00334 unsigned short safpb_stat_QUERY_NAME_len;
00335 unsigned short safpb_stat_NEXT_len;
00336 unsigned short safpb_stat_RETURN_AREA_len;
00337 unsigned short safpb_stat_name_04_len;
00338 char safpb_stat_avail_char[8];
00339 void * safpb_stat_avail_ptr;
00340 char * safpb_stat_QUERY_NAME_ptr;
00341 char * safpb_stat_NEXT_ptr;
00342 char * safpb_stat_RETURN_AREA_ptr;
00343 char * safpb_stat_name_04_ptr;
00344 };
00345
00346
00353 struct safpb_admin
00354 {
00356 unsigned short safpb_admin_ARGSTR_len;
00358 unsigned short safpb_admin_ARGTBL_count;
00360 unsigned short safpb_admin_LIST_count;
00361 unsigned short safpb_admin_name_04_len;
00362 char safpb_admin_avail_char[8];
00363 void * safpb_admin_ACEE_ptr;
00365 char * safpb_admin_ARGSTR_ptr;
00367 struct SafAdminArgTbl
00368 *safpb_admin_ARGTBL_ptr;
00370 struct SafAdminList
00371 *safpb_admin_LIST_ptr;
00372 char * safpb_admin_name_04_ptr;
00373 };
00374
00375
00382 struct safpb_update
00383 {
00384 unsigned short safpb_update_ENTITY_len;
00385 unsigned short safpb_update_ACTION;
00387 unsigned short safpb_update_name_03_len;
00388 unsigned short safpb_update_name_04_len;
00389 char safpb_update_avail_char[8];
00390 void * safpb_update_ACEE_ptr;
00391 char * safpb_update_ENTITY_ptr;
00392 char * safpb_update_unused_ptr;
00393 char * safpb_update_name_03_ptr;
00394 char * safpb_update_name_04_ptr;
00395 };
00396
00397
00455 typedef struct safpb_parameter_block
00456 {
00457 unsigned long safpb_version;
00459 unsigned char safpb_request;
00460 unsigned char safpb_type;
00462 unsigned char safpb_modifier;
00464 unsigned char safpb_flag;
00465 unsigned short safpb_codeset;
00467 unsigned char safpb_availchar1;
00468 unsigned char safpb_availchar2;
00470
00471 union
00472 {
00473 unsigned char safpb_api_rc_aggregate[3];
00474 struct safpb_Api_Rc_Aggregate
00475 {
00476 unsigned char safpb_api_rc;
00477 unsigned char safpb_mgr_return;
00478 unsigned char safpb_mgr_reason;
00479 } DISCRETE;
00480 } RETCODES;
00482 unsigned char safpb_safesm_index;
00484 union
00485 {
00486 struct safpb_verify VERIFY;
00487 struct safpb_auth AUTH;
00488 struct safpb_xauth XAUTH;
00489 struct safpb_audit AUDIT;
00490 struct safpb_stat STAT;
00491 struct safpb_admin ADMIN;
00492 struct safpb_update UPDATE;
00493 } REQUESTS;
00495 } Safpb_Parameter_Block;
00496
00497
00498
00499
00500
00501
00502
00503
00504
00505
00506
00507
00508 #define saf78_VERSION_1 1
00510
00511
00512
00515 #define saf78_REQUEST_VERIFY 1
00516 #define saf78_REQUEST_AUTH 2
00517 #define saf78_REQUEST_AUDIT 3
00518 #define saf78_REQUEST_STAT 4
00519 #define saf78_REQUEST_XAUTH 5
00520 #define saf78_REQUEST_ADMIN 6
00521 #define saf78_REQUEST_UPDATE 7
00523
00524
00526
00527
00528
00529
00530 #define saf78_TYPE_ENVIR_CREATE 1
00531 #define saf78_TYPE_ENVIR_DESTROY 2
00532 #define saf78_TYPE_TOKEN_CREATE 3
00533 #define saf78_TYPE_TOKEN_DELETE 4
00535
00536
00537
00538 #define saf78_TYPE_ATTR_NONE 0
00539 #define saf78_TYPE_ATTR_STATUS_ACC 1
00540 #define saf78_TYPE_ATTR_READ 2
00541 #define saf78_TYPE_ATTR_UPDATE 4
00542 #define saf78_TYPE_ATTR_CONTROL 8
00543 #define saf78_TYPE_ATTR_EXECUTE 16
00544 #define saf78_TYPE_ATTR_ALTER 128
00546
00547
00548
00549 #define saf78_TYPE_RESULT_SUCCESS 1
00550 #define saf78_TYPE_RESULT_FAILURE 2
00552
00553
00554
00555 #define saf78_TYPE_QUERY_ESM 1
00556 #define saf78_TYPE_QUERY_CLASS 2
00558
00559
00560
00561
00564 #define saf78_TYPE_ADMIN_ADDUSER 1
00565 #define saf78_TYPE_ADMIN_ADDGROUP 2
00566 #define saf78_TYPE_ADMIN_ADDCLASS 13
00567 #define saf78_TYPE_ADMIN_ADDRES 3
00568 #define saf78_TYPE_ADMIN_ALTUSER 4
00569 #define saf78_TYPE_ADMIN_ALTGROUP 5
00570 #define saf78_TYPE_ADMIN_ALTCLASS 14
00571 #define saf78_TYPE_ADMIN_ALTRES 6
00572 #define saf78_TYPE_ADMIN_DELUSER 7
00573 #define saf78_TYPE_ADMIN_DELGROUP 8
00574 #define saf78_TYPE_ADMIN_DELCLASS 20
00575 #define saf78_TYPE_ADMIN_DELRES 9
00576 #define saf78_TYPE_ADMIN_LISTUSER 10
00577 #define saf78_TYPE_ADMIN_LISTGROUP 11
00578 #define saf78_TYPE_ADMIN_LISTCLASS 19
00579 #define saf78_TYPE_ADMIN_LISTRES 12
00580 #define saf78_TYPE_ADMIN_SETPSWD 15
00581 #define saf78_TYPE_ADMIN_PERMIT 16
00582 #define saf78_TYPE_ADMIN_SETOPTS 17
00583 #define saf78_TYPE_ADMIN_FREELIST 18
00585
00586
00587
00588
00591 #define saf78_TYPE_UPDATE_USER 1
00592 #define saf78_TYPE_UPDATE_GROUP 2
00593 #define saf78_TYPE_UPDATE_RESOURCE 3
00594 #define saf78_TYPE_UPDATE_USERS 4
00595 #define saf78_TYPE_UPDATE_GROUPS 5
00596 #define saf78_TYPE_UPDATE_RESOURCES 6
00597 #define saf78_TYPE_UPDATE_ALL 0
00599
00600
00601
00602
00605 #define saf78_MODIFIER_NONE 0
00606 #define saf78_MODIFIER_CICS 1
00607 #define saf78_MODIFIER_IMS 2
00608 #define saf78_MODIFIER_JCL 3
00609 #define saf78_MODIFIER_ESMAC 4
00610 #define saf78_MODIFIER_WEB 5
00611 #define saf78_MODIFIER_BINP 6
00612 #define saf78_MODIFIER_CGI 7
00613 #define saf78_MODIFIER_MFDS 8
00615
00616
00617
00618
00621 #define saf78_FLAG_PW_ENCRYPT 1
00622 #define saf78_VER_NO_PASSWORD 2
00623 #define saf78_VER_PT_TICKET 4
00624 #define saf78_VER_PASSTOKEN 8
00625 #define saf78_VER_PT_SURROGATE 16
00626 #define saf78_FLAG_API_TEST 64
00627 #define saf78_FLAG_API_DISPLAY 128
00629
00630
00631
00632
00635 #define saf78_CODESET_UTF8 0
00637
00638
00639
00640
00641
00644 #define saf78_CLASS_DATASET "DATASET "
00645
00646 #define saf78_CLASS_ALCSAUTH "ALCSAUTH"
00647 #define saf78_CLASS_APPCLU "APPCLU "
00648 #define saf78_CLASS_APPCPORT "APPCPORT"
00649 #define saf78_CLASS_APPCSERV "APPCSERV"
00650 #define saf78_CLASS_APPCSI "APPCSI "
00651 #define saf78_CLASS_APPCTP "APPCTP "
00652 #define saf78_CLASS_APPL "APPL "
00653 #define saf78_CLASS_CACHECLS "CACHECLS"
00654 #define saf78_CLASS_CBIND "CBIND "
00655 #define saf78_CLASS_CDT "CDT "
00656 #define saf78_CLASS_CONSOLE "CONSOLE "
00657 #define saf78_CLASS_CSFKEYS "CSFKEYS "
00658 #define saf78_CLASS_CSFSERV "CSFSERV "
00659 #define saf78_CLASS_DASDVOL "DASDVOL "
00660 #define saf78_CLASS_DBNFORM "DBNFORM "
00661 #define saf78_CLASS_DEVICES "DEVICES "
00662 #define saf78_CLASS_DIGTCERT "DIGTCERT"
00663 #define saf78_CLASS_DIGTCRIT "DIGTCRIT"
00664 #define saf78_CLASS_DIGTNMAP "DIGTNMAP"
00665 #define saf78_CLASS_DIGTRING "DIGTRING"
00666 #define saf78_CLASS_DIRAUTH "DIRAUTH "
00667 #define saf78_CLASS_DLFCLASS "DLFCLASS"
00668 #define saf78_CLASS_FACILITY "FACILITY"
00669 #define saf78_CLASS_FIELD "FIELD "
00670 #define saf78_CLASS_GCSFKEYS "GCSFKEYS"
00671 #define saf78_CLASS_GDASDVOL "GDASDVOL"
00672 #define saf78_CLASS_GLOBAL "GLOBAL "
00673 #define saf78_CLASS_GMBR "GMBR "
00674 #define saf78_CLASS_GSDSF "GSDSF "
00675 #define saf78_CLASS_GTERMINL "GTERMINL"
00676 #define saf78_CLASS_GXFACILI "GXFACILI"
00677 #define saf78_CLASS_IBMOPC "IBMOPC "
00678 #define saf78_CLASS_JESINPUT "JESINPUT"
00679 #define saf78_CLASS_JESJOBS "JESJOBS "
00680 #define saf78_CLASS_JESSPOOL "JESSPOOL"
00681 #define saf78_CLASS_KEYSMSTR "KEYSMSTR"
00682 #define saf78_CLASS_LDAPBIND "LDAPBIND"
00683 #define saf78_CLASS_LOGSTRM "LOGSTRM "
00684 #define saf78_CLASS_NODES "NODES "
00685 #define saf78_CLASS_NODMBR "NODMBR "
00686 #define saf78_CLASS_OPERCMDS "OPERCMDS"
00687 #define saf78_CLASS_PMBR "PMBR "
00688 #define saf78_CLASS_PROGRAM "PROGRAM "
00689 #define saf78_CLASS_PROPCNTL "PROPCNTL"
00690 #define saf78_CLASS_PSFMPL "PSFMPL "
00691 #define saf78_CLASS_PTKTDATA "PTKTDATA"
00692 #define saf78_CLASS_RACGLIST "RACGLIST"
00693 #define saf78_CLASS_RACFEVNT "RACFEVNT"
00694 #define saf78_CLASS_RRSFDATA "RRSFDATA"
00695 #define saf78_CLASS_RVARSMBR "RVARSMBR"
00696 #define saf78_CLASS_SCDMBR "SCDMBR "
00697 #define saf78_CLASS_SDSF "SDSF "
00698 #define saf78_CLASS_SECDATA "SECDATA "
00699 #define saf78_CLASS_SECLABEL "SECLABEL"
00700 #define saf78_CLASS_SECLMBR "SECLMBR "
00701 #define saf78_CLASS_SERVAUTH "SERVAUTH"
00702 #define saf78_CLASS_SERVER "SERVER "
00703 #define saf78_CLASS_SMESSAGE "SMESSAGE"
00704 #define saf78_CLASS_SOMDOBJS "SOMDOBJS"
00705 #define saf78_CLASS_STARTED "STARTED "
00706 #define saf78_CLASS_SURROGAT "SURROGAT"
00707 #define saf78_CLASS_SYSMVIEW "SYSMVIEW"
00708 #define saf78_CLASS_TAPEVOL "TAPEVOL "
00709 #define saf78_CLASS_TEMPDSN "TEMPDSN "
00710 #define saf78_CLASS_TERMINAL "TERMINAL"
00711 #define saf78_CLASS_VTAMAPPL "VTAMAPPL"
00712 #define saf78_CLASS_WRITER "WRITER "
00713 #define saf78_CLASS_XFACILIT "XFACILIT"
00714
00715
00716
00717 #define saf78_CLASS_ACICSPCT "ACICSPCT"
00718 #define saf78_CLASS_BCICSPCT "BCICSPCT"
00719 #define saf78_CLASS_CCICSCMD "CCICSCMD"
00720 #define saf78_CLASS_CPSMOBJ "CPSMOBJ "
00721 #define saf78_CLASS_CPSMXMP "CPSMXMP "
00722 #define saf78_CLASS_DCICSDCT "DCICSDCT"
00723 #define saf78_CLASS_ECICSDCT "ECICSDCT"
00724 #define saf78_CLASS_FCICSFCT "FCICSFCT"
00725 #define saf78_CLASS_GCICSTRN "GCICSTRN"
00726 #define saf78_CLASS_GCPSMOBJ "GCPSMOBJ"
00727 #define saf78_CLASS_HCICSFCT "HCICSFCT"
00728 #define saf78_CLASS_JCICSJCT "JCICSJCT"
00729 #define saf78_CLASS_KCICSJCT "KCICSJCT"
00730 #define saf78_CLASS_MCICSPPT "MCICSPPT"
00731 #define saf78_CLASS_NCICSPPT "NCICSPPT"
00732 #define saf78_CLASS_PCICSPSB "PCICSPSB"
00733 #define saf78_CLASS_QCICSPSB "QCICSPSB"
00734 #define saf78_CLASS_SCICSTST "SCICSTST"
00735 #define saf78_CLASS_TCICSTRN "TCICSTRN"
00736 #define saf78_CLASS_UCICSTST "UCICSTST"
00737 #define saf78_CLASS_VCICSCMD "VCICSCMD"
00738
00739
00740
00741 #define saf78_CLASS_DSNADM "DSNADM "
00742 #define saf78_CLASS_DSNR "DSNR "
00743 #define saf78_CLASS_GDSNBP "GDSNBP "
00744 #define saf78_CLASS_GDSNCL "GDSNCL "
00745 #define saf78_CLASS_GDSNDB "GDSNDB "
00746 #define saf78_CLASS_GDSNJR "GDSNJR "
00747 #define saf78_CLASS_GDSNPK "GDSNPK "
00748 #define saf78_CLASS_GDSNPN "GDSNPN "
00749 #define saf78_CLASS_GDSNSC "GDSNSC "
00750 #define saf78_CLASS_GDSNSG "GDSNSG "
00751 #define saf78_CLASS_GDSNSM "GDSNSM "
00752 #define saf78_CLASS_GDSNSP "GDSNSP "
00753 #define saf78_CLASS_GDSNSQ "GDSNSQ "
00754 #define saf78_CLASS_GDSNTB "GDSNTB "
00755 #define saf78_CLASS_GDSNTS "GDSNTS "
00756 #define saf78_CLASS_GDSNUT "GDSNUT "
00757 #define saf78_CLASS_MDSNBP "MDSNBP "
00758 #define saf78_CLASS_MDSNCL "MDSNCL "
00759 #define saf78_CLASS_MDSNDB "MDSNDB "
00760 #define saf78_CLASS_MDSNJR "MDSNJR "
00761 #define saf78_CLASS_MDSNPK "MDSNPK "
00762 #define saf78_CLASS_MDSNPN "MDSNPN "
00763 #define saf78_CLASS_MDSNSC "MDSNSC "
00764 #define saf78_CLASS_MDSNSG "MDSNSG "
00765 #define saf78_CLASS_MDSNSM "MDSNSM "
00766 #define saf78_CLASS_MDSNSP "MDSNSP "
00767 #define saf78_CLASS_MDSNSQ "MDSNSQ "
00768 #define saf78_CLASS_MDSNTB "MDSNTB "
00769 #define saf78_CLASS_MDSNTS "MDSNTS "
00770 #define saf78_CLASS_MDSNUF "MDSNUF "
00771 #define saf78_CLASS_MDSNUT "MDSNUT "
00772
00773
00774
00775 #define saf78_CLASS_DCEUUIDS "DCEUUIDS"
00776 #define saf78_CLASS_RAUDITX "RAUDITX "
00777 #define saf78_CLASS_EJBROLE "EJBROLE "
00778 #define saf78_CLASS_GEJBROLE "GEJBROLE"
00779 #define saf78_CLASS_JAVA "JAVA "
00780
00781
00782
00783 #define saf78_CLASS_AIMS "AIMS "
00784 #define saf78_CLASS_CIMS "CIMS "
00785 #define saf78_CLASS_DIMS "DIMS "
00786 #define saf78_CLASS_FIMS "FIMS "
00787 #define saf78_CLASS_GIMS "GIMS "
00788 #define saf78_CLASS_HIMS "HIMS "
00789 #define saf78_CLASS_IIMS "IIMS "
00790 #define saf78_CLASS_JIMS "JIMS "
00791 #define saf78_CLASS_LIMS "LIMS "
00792 #define saf78_CLASS_MIMS "MIMS "
00793 #define saf78_CLASS_OIMS "OIMS "
00794 #define saf78_CLASS_PIMS "PIMS "
00795 #define saf78_CLASS_QIMS "QIMS "
00796 #define saf78_CLASS_SIMS "SIMS "
00797 #define saf78_CLASS_TIMS "TIMS "
00798 #define saf78_CLASS_UIMS "UIMS "
00799 #define saf78_CLASS_WIMS "WIMS "
00800
00801
00802
00803 #define saf78_CLASS_PRINTSRV "PRINTSRV"
00804
00805
00806
00807 #define saf78_CLASS_GINFOMAN "GINFOMAN"
00808 #define saf78_CLASS_INFOMAN "INFOMAN "
00809
00810
00811
00812 #define saf78_CLASS_LFSCLASS "LFSCLASS"
00813
00814
00815
00816 #define saf78_CLASS_ILMADMIN "ILMADMIN"
00817
00818
00819
00820 #define saf78_CLASS_NDSLINK "NDSLINK "
00821 #define saf78_CLASS_NOTELINK "NOTELINK"
00822
00823
00824
00825 #define saf78_CLASS_GMQADMIN "GMQADMIN"
00826 #define saf78_CLASS_GMQCHAN "GMQCHAN "
00827 #define saf78_CLASS_GMQNLIST "GMQNLIST"
00828 #define saf78_CLASS_GMQPROC "GMQPROC "
00829 #define saf78_CLASS_GMQQUEUE "GMQQUEUE"
00830 #define saf78_CLASS_MQADMIN "MQADMIN "
00831 #define saf78_CLASS_MQCHAN "MQCHAN "
00832 #define saf78_CLASS_MQCMDS "MQCMDS "
00833 #define saf78_CLASS_MQCONN "MQCONN "
00834 #define saf78_CLASS_MQNLIST "MQNLIST "
00835 #define saf78_CLASS_MQPROC "MQPROC "
00836 #define saf78_CLASS_MQQUEUE "MQQUEUE "
00837
00838
00839
00840 #define saf78_CLASS_NETCMDS "NETCMDS "
00841 #define saf78_CLASS_NETSPAN "NETSPAN"
00842 #define saf78_CLASS_NVASAPDT "NVASAPDT"
00843 #define saf78_CLASS_PTKTVAL "PTKTVAL "
00844 #define saf78_CLASS_RMTOPS "RMTOPS "
00845 #define saf78_CLASS_RODMMGR "RODMMGR "
00846
00847
00848
00849 #define saf78_CLASS_KERBLINK "KERBLINK"
00850 #define saf78_CLASS_REALM "REALM "
00851
00852
00853
00854 #define saf78_CLASS_MGMTCLAS "MGMTCLAS"
00855 #define saf78_CLASS_STORCLAS "STORCLAS"
00856 #define saf78_CLASS_SUBSYSNM "SUBSYSNM"
00857
00858
00859
00860 #define saf78_CLASS_ROLE "ROLE "
00861 #define saf78_CLASS_TMEADMIN "TMEADMIN"
00862
00863
00864
00865 #define saf78_CLASS_ACCTNUM "ACCTNUM "
00866 #define saf78_CLASS_PERFGRP "PERFGRP "
00867 #define saf78_CLASS_TSOAUTH "TSOAUTH "
00868 #define saf78_CLASS_TSOPROC "TSOPROC "
00869
00870
00871
00872 #define saf78_CLASS_DIRACC "DIRACC "
00873 #define saf78_CLASS_DIRSRCH "DIRSRCH "
00874 #define saf78_CLASS_FSOBJ "FSOBJ "
00875 #define saf78_CLASS_FSSEC "FSSEC "
00876 #define saf78_CLASS_IPCOBJ "IPCOBJ "
00877 #define saf78_CLASS_PROCACT "PROCACT "
00878 #define saf78_CLASS_PROCESS "PROCESS "
00879 #define saf78_CLASS_UNIXMAP "UNIXMAP "
00880 #define saf78_CLASS_UNIXPRIV "UNIXPRIV"
00881
00882
00883
00884 #define saf78_CLASS_ESRDCT "ESRDCT "
00885 #define saf78_CLASS_ESRFCT "ESRFCT "
00886 #define saf78_CLASS_ESRGRP "ESRGRP "
00887 #define saf78_CLASS_ESRICE "ESRICE "
00888 #define saf78_CLASS_ESRIMS "ESRIMS "
00889 #define saf78_CLASS_ESRJCT "ESRJCT "
00890 #define saf78_CLASS_ESRJES "ESRJES "
00891 #define saf78_CLASS_ESRMPR "ESRMPR "
00892 #define saf78_CLASS_ESRPCT "ESRPCT "
00893 #define saf78_CLASS_ESRPLT "ESRPLT "
00894 #define saf78_CLASS_ESRPPT "ESRPPT "
00895 #define saf78_CLASS_ESRSIT "ESRSIT "
00896 #define saf78_CLASS_ESRSNT "ESRSNT "
00897 #define saf78_CLASS_ESRSUP "ESRSUP "
00898 #define saf78_CLASS_ESRSYS6 "ESRSYS6 "
00899 #define saf78_CLASS_ESRSYSC "ESRSYSC "
00900 #define saf78_CLASS_ESRTABLE "ESRTABLE"
00901 #define saf78_CLASS_ESRTCT "ESRTCT "
00902 #define saf78_CLASS_ESRTERM "ESRTERM "
00903 #define saf78_CLASS_ESRTST "ESRTST "
00904 #define saf78_CLASS_ESRTTYPE "ESRTTYPE"
00905 #define saf78_CLASS_ESRXAT "ESRXAT "
00906 #define saf78_CLASS_ESRXLT "ESRXLT "
00907 #define saf78_CLASS_ESRCP "ESRCP "
00908 #define saf78_CLASS_ESRIIN "ESRIIN "
00909 #define saf78_CLASS_ESRIMPR "ESRIMPR "
00910 #define saf78_CLASS_ESRJIN "ESRJIN "
00911 #define saf78_CLASS_ESRJPR "ESRJPR "
00912 #define saf78_CLASS_ESRLIS "ESRLIS "
00913 #define saf78_CLASS_ESRPKG "ESRPKG "
00914 #define saf78_CLASS_ESRRQH "ESRRQH "
00915 #define saf78_CLASS_ESRSRV "ESRSRV "
00916 #define saf78_CLASS_ESRSVC "ESRSVC "
00917 #define saf78_CLASS_ESRXRM "ESRXRM "
00918 #define saf78_CLASS_MFDSADMN "MFDSADMN"
00919 #define saf78_CLASS_MFDSREP "MFDSREP "
00920
00922
00923
00924
00927 #define saf78_ADMIN_ACL "ACL"
00928 #define saf78_ADMIN_ALLOW_ON "ALLOW"
00929 #define saf78_ADMIN_CLASS "CLASS"
00930 #define saf78_ADMIN_CUST_TXT "CUSTOM"
00931 #define saf78_ADMIN_DEF_GROUP "DEFGROUP"
00932 #define saf78_ADMIN_DESCRIPT "DESC"
00933 #define saf78_ADMIN_DSP_NAME "NAME"
00934 #define saf78_ADMIN_EXPIRATION "EXPIRES"
00935 #define saf78_ADMIN_GROUPNAME "GROUP"
00936 #define saf78_ADMIN_GROUPS "GROUPS"
00937 #define saf78_ADMIN_GRP_PREFIX "GRPPFX"
00938 #define saf78_ADMIN_MEMBERS "MEMBERS"
00939 #define saf78_ADMIN_OPER_CLASS "OPCLASS"
00940 #define saf78_ADMIN_OPER_ID "OPID"
00941 #define saf78_ADMIN_PASS_CHG "PASSCHG"
00942 #define saf78_ADMIN_PASS_EXP "PASSEXP"
00943 #define saf78_ADMIN_PASSWORD "PASSWORD"
00944 #define saf78_ADMIN_PRIORITY "PRIORITY"
00945 #define saf78_ADMIN_RESNAME "RESOURCE"
00946 #define saf78_ADMIN_TIMEOUT "TIMEOUT"
00947 #define saf78_ADMIN_TOK_CREATE "GETTOKEN"
00948 #define saf78_ADMIN_TOK_USE "USETOKEN"
00949 #define saf78_ADMIN_UID "UID"
00950 #define saf78_ADMIN_USERNAME "USER"
00952
00953
00954
00955
00958 #define saf78_PERM_EXECUTE (1<<0)
00959 #define saf78_PERM_READ (1<<1)
00960 #define saf78_PERM_UPDATE (1<<2)
00961 #define saf78_PERM_ADD (1<<3)
00962 #define saf78_PERM_DELETE (1<<4)
00963 #define saf78_PERM_CONTROL (1<<5)
00964 #define saf78_PERM_ALTER (1<<6)
00966
00967
00968
00969
00970
00973 #define saf78_UPDATE_ADD 1
00974 #define saf78_UPDATE_MODIFY 2
00975 #define saf78_UPDATE_DELETE 3
00976 #define saf78_UPDATE_OTHER 0
00977
00980
00981
00982
00983
01004
01009
01010
01011
01013 #define saf78_SAF_RC_SUCCESS 0
01015 #define saf78_RC_NORMAL 0
01016
01017 #define saf78_RS_NORMAL 0
01018 #define saf78_RS_PWRD_CHANGED 4
01019
01020 #define saf78_RC_TOKEN_INFO 4
01021
01023 #define saf78_RS_TOKEN_TOO_LARGE 12
01024 #define saf78_RS_STOKEN_TOO_LARGE 16
01025
01028 #define saf78_SAF_RC_NOT_COMPLETE 4
01030 #define saf78_RC_NO_DECISION 0
01032 #define saf78_RS_ESM_NOT_CALLED 0
01033
01034 #define saf78_RC_NO_USER_PROFILE 4
01035
01036 #define saf78_RC_SECURITY_NOT_ACTIVE 32
01037
01038 #define saf78_RC_NO_FACILITY_CLASS 88
01039
01041 #define saf78_SAF_RC_FAILURE 8
01042
01043
01045 #define saf78_RC_PWRD_INVALID 8
01046 #define saf78_RC_PWRD_EXPIRED 12
01047 #define saf78_RC_PWRD_CHANGE_ERR 16
01048 #define saf78_RC_USER_NOT_IN_GROUP 20
01049 #define saf78_RC_INST_EXIT 24
01050 #define saf78_RC_USER_REVOKED 28
01051 #define saf78_RC_GROUP_REVOKED 36
01052 #define saf78_RC_OID_REQUIRED 40
01053 #define saf78_RC_OID_INVALID 44
01054 #define saf78_RC_PORT_OF_ENTRY_ERR 48
01055
01058 #define saf78_RS_PORT 0
01059 #define saf78_RS_USER_TIME 4
01060 #define saf78_RS_PORT_TIME 8
01061
01064 #define saf78_RC_NOT_AUTH_FOR_APPL 52
01065 #define saf78_RC_SECLABEL_FAIL 56
01066
01069 #define saf78_RS_MLACTIVE_REQUIRES 4
01070 #define saf78_RS_NOT_AUTH_SECLABEL 8
01071 #define saf78_RS_MULTILEVEL_DOM 12
01072 #define saf78_RS_DISJOINT 16
01073 #define saf78_RS_NOT_EQUIVALENT 20
01074
01077 #define saf78_RC_DEFAULT_TOKEN_USED 68
01078 #define saf78_RC_UNPRIV_TRANQUIL 72
01079 #define saf78_RC_NODES_CHECK_FAIL 76
01080
01083 #define saf78_RS_NODE_NOT_ALLOWED 0
01084 #define saf78_RS_USERID_UACC_NONE 4
01085 #define saf78_RS_GROUP_UACC_NONE 8
01086 #define saf78_RS_SECLABEL_UACC_NONE 12
01087 #define saf78_RS_NO_LOCAL_SUBMIT 16
01088 #define saf78_RS_REVERIFY_FAIL 20
01089
01091 #define saf78_RC_SURROGATE_SUB_FAIL 80
01092
01094 #define saf78_RS_SURROGATE_INACTIVE 4
01095 #define saf78_RS_SUB_NOT_PERMITTED 8
01096 #define saf78_RS_JOB_SECLABEL 12
01097
01100 #define saf78_RC_JESJOBS_CHECK_FAIL 84
01101 #define saf78_RC_DATABASE_ERROR 92
01102 #define saf78_RC_CHECK_SUBPARAM 100
01103 #define saf78_RC_TOKEN_REFUSED 104
01107 #define saf78_RS_TOKEN_FORMAT 4
01108 #define saf78_RS_TOKEN_EXPIRED 8
01109 #define saf78_RS_TOKEN_TYPE 12
01110 #define saf78_RS_TOKEN_INVALID 16
01111 #define saf78_RS_TOKEN_ERROR 20
01112
01114
01115
01116
01117
01118
01119 #define saf78_RC_USER_IS_AUTH 0
01120
01121 #define saf78_RS_RESOURCE_WARN 4
01122 #define saf78_RS_TAPE_VTOC 16
01123 #define saf78_RS_TAPE_CAN_VTOC 32
01124 #define saf78_RS_TAPE_NO_VTOC 36
01125 #define saf78_RC_ACCESS_INFO 20
01126 #define saf78_RS_ACCESS_NONE 0
01127 #define saf78_RS_ACCESS_READ 4
01128 #define saf78_RS_ACCESS_UPDATE 8
01129 #define saf78_RS_ACCESS_CONTROL 12
01130 #define saf78_RS_ACCESS_ALTER 16
01131
01132
01133
01134
01135 #define saf78_RC_RESOURCE_NOT_PROT 4
01136 #define saf78_RS_NO_RESOURCE_PROF 0
01137 #define saf78_RS_STATUS_ERASE 4
01138
01139
01140 #define saf78_RC_USER_NOT_AUTH 8
01141 #define saf78_RS_PROTALL_NO_PROF 0
01142 #define saf78_RS_USER_ERASE 4
01143 #define saf78_RS_USER_TAPEVOL 8
01144 #define saf78_RS_USER_TAPE_DS 12
01145 #define saf78_RS_USER_TAPE_BLP 16
01146 #define saf78_RS_NON_CATALOGED 20
01147 #define saf78_RS_USER_AUTH_TRANQ 24
01148 #define saf78_RS_EXEC_ATTEMPT_READ 28
01149 #define saf78_RS_SECLABEL_NOT_DOM 32
01150 #define saf78_RS_SECLABEL_NEV_DOM 36
01151 #define saf78_RS_USER_NO_SECLABEL 40
01152 #define saf78_RS_COND_ACCESS 44
01153 #define saf78_RC_OLDVOL_ERROR 12
01154 #define saf78_RC_THIRD_PARTY_FAIL 16
01155
01156
01157
01158
01159
01160
01161
01162
01163
01164
01165
01166
01167
01168
01169
01170 #define saf78_RC_NO_CLASS 8
01171 #define saf78_RC_INTERNAL_ERROR 12
01172 #define saf78_RC_PARAM_ERROR 16
01173 #define saf78_RS_EVENT_INVALID 0
01174 #define saf78_RS_QUAL_INVALID 4
01175 #define saf78_RS_BAD_LIST_VER 8
01176 #define saf78_RS_BAD_LIST_LEN 12
01177 #define saf78_RS_ENTITY_INVALID 16
01178 #define saf78_RC_NO_AUDIT_DONE 20
01179
01180
01181
01182
01183
01184
01185
01186
01187
01188
01189
01190 #define saf78_RC_MACT_CINACT 4
01191 #define saf78_RC_MACT_NO_CLASS 8
01192 #define saf78_RC_MINACT_CACT 12
01193 #define saf78_RC_MINACT_CINACT 16
01194 #define saf78_RC_MINACT_NO_CLASS 20
01195 #define saf78_RC_NO_ESM 24
01196 #define saf78_RC_BAD_PARMLIST 28
01197
01198
01199
01200
01201
01202
01203
01204
01205
01206
01207
01208
01209
01210 #define saf78_RS_ESM_DECLINED 4
01211 #define saf78_RC_KEYWORD_ERROR 4
01212 #define saf78_RS_KEYWORD_UNKNOWN 4
01213
01214
01215 #define saf78_RC_VALUE_ERROR 4
01216 #define saf78_RS_VALUE_INVALID 4
01217 #define saf78_RS_VALUE_LENGTH 8
01218 #define saf78_RC_DENIED 8
01219
01220
01221
01222
01223
01224
01225
01226
01227
01228
01229
01230
01231
01232
01233 #define saf78_SAF_RC_PARM_ERROR 12
01234 #define saf78_RC_VERSION 1
01235 #define saf78_RC_REQUEST 2
01236 #define saf78_RC_TYPE 3
01237 #define saf78_RC_MODIFIER 4
01238 #define saf78_RC_FLAG 5
01239 #define saf78_RC_CODESET 6
01240 #define saf78_RC_SAFESM_INDEX 7
01241 #define saf78_RC_USERID 8
01242 #define saf78_RC_PWRD 9
01243 #define saf78_RC_NEWPWRD 10
01244 #define saf78_RC_ENTITY 11
01245 #define saf78_RC_FACILITY 12
01246 #define saf78_RC_TRANSACTION 13
01247 #define saf78_RC_LOGSTR 14
01248 #define saf78_RC_QUERY_NAME 15
01249 #define saf78_RC_NEXT 16
01250 #define saf78_RC_RETURN_AREA 17
01251 #define saf78_RC_ACEE_PTR 18
01252 #define saf78_RC_GROUP 19
01253 #define saf78_RC_CLASS 20
01254 #define saf78_RC_STRING1 21
01255 #define saf78_RC_STRING2 22
01256 #define saf78_RC_PERMISSIONS 23
01257 #define saf78_RC_ARGSTR 24
01258 #define saf78_RC_ARGTBL 25
01259 #define saf78_RC_ARGTBL_KEYPTR 26
01260 #define saf78_RC_ARGTBL_KEYLEN 27
01261 #define saf78_RC_ARGTBL_VALPTR 28
01262 #define saf78_RC_ARGTBL_VALLEN 29
01263 #define saf78_RC_TICKET 30
01264 #define saf78_RC_TOKEN 31
01265 #define saf78_RC_LIST 32
01266 #define saf78_RS_BAD_POINTER 1
01267 #define saf78_RS_BAD_VALUE 2
01268
01271
01272
01273
01274 #define safpb_cur_ver_88 1
01275
01276 #define safpb_verify_req_88 1
01277 #define safpb_auth_req_88 2
01278 #define safpb_audit_req_88 3
01279 #define safpb_stat_req_88 4
01280
01281 #define safpb_verify_create_88 1
01282 #define safpb_verify_destroy_88 2
01283
01284 #define safpb_auth_none_88 0
01285 #define safpb_auth_stat_access_88 1
01286 #define safpb_auth_read_88 2
01287 #define safpb_auth_update_88 4
01288 #define safpb_auth_control_88 8
01289 #define safpb_auth_exec_88 16
01290 #define safpb_auth_alter_88 128
01291
01292 #define safpb_audit_success_88 1
01293 #define safpb_audit_failure_88 2
01294
01295 #define safpb_stat_esm_88 1
01296 #define safpb_stat_class_88 2
01297
01298 #define safpb_mod_CICS_88 1
01299 #define safpb_mod_IMS_88 2
01300 #define safpb_mod_JCL_88 3
01301 #define safpb_mod_ESMAC_88 4
01302 #define safpb_mod_WEB_88 5
01303 #define safpb_mod_BINP_88 6
01304 #define safpb_mod_CGI_88 7
01305 #define safpb_mod_MFDS_88 8
01306
01307 #define safpb_flag_PW_encrypt_88 1
01308 #define safpb_ver_no_password_88 2
01309 #define safpb_flag_api_test_88 64
01310 #define safpb_flag_api_display_88 128
01311
01312 #define safpb_codeset_utf8_88 0
01313
01314 #define safpb_api_ag_ok_88 "\x00\x00\x00"
01315 #define safpb_api_ag_authorized_88 "\x00\x00\x00"
01316 #define safpb_api_ag_not_auth_88 "\x08\x08\x00"
01317 #define safpb_api_ag_pw_changed_88 "\x00\x00\x04"
01318 #define safpb_api_ag_pw_error_88 "\x08\x08\x00"
01319 #define safpb_api_ag_pw_expired_88 "\x08\x0C\x00"
01320 #define safpb_api_ag_pw_upd_error_88 "\x08\x18\x18"
01321 #define safpb_api_ag_id_error_88 "\x08\x04\x00"
01322 #define safpb_api_ag_id_revoked_88 "\x08\x1C\x00"
01323 #define safpb_api_ag_id_g_revoked_88 "\x08\x24\x00"
01324 #define safpb_api_ag_version_err_88 "\x08\x18\x1C"
01325 #define safpb_api_ag_parm_null_88 "\x08\x18\x20"
01326 #define safpb_api_ag_parm_invalid_88 "\x08\x18\x24"
01327 #define safpb_api_ag_parm_unsup_88 "\x08\x18\x28"
01328 #define safpb_api_ag_cl_dont_care_88 "\x08\x18\x2C"
01329 #define safpb_api_ag_rs_dont_care_88 "\x08\x18\x30"
01330 #define safpb_api_ag_not_protect_88 "\x04\x04\x00"
01331 #define safpb_api_ag_esm_error_88 "\x08\x18\x34"
01332 #define safpb_api_ag_access_set_88 "\x00\x14\x00"
01333
01334 #define safpb_api_rc_ok_88 0
01335 #define safpb_api_rc_incomp_88 4
01336 #define safpb_api_rc_failed_88 8
01337
01338 #define safpb_mgr_rc_ok_88 0
01339 #define safpb_mgr_not_protect_88 4
01340 #define safpb_mgr_not_auth_88 8
01341 #define safpb_mgr_access_88 20
01342 #define safpb_mgr_error_88 24
01343
01344 #define safpb_access_not_auth_88 0
01345 #define safpb_access_read_88 4
01346 #define safpb_access_update_88 8
01347 #define safpb_access_control_88 12
01348 #define safpb_access_alter_88 16
01349
01350 #define safpb_auth_jes_DATASET_88 "DATASET"
01351 #define safpb_auth_jes_JESINPUT_88 "JESINPUT"
01352 #define safpb_auth_jes_JESJOBS_88 "JESJOBS"
01353 #define safpb_auth_jes_JESSPOOL_88 "JESSPOOL"
01354 #define safpb_auth_jes_SURROGAT_88 "SURROGAT"
01355 #define safpb_auth_mfd_ESRCP_88 "ESRCP"
01356 #define safpb_auth_mfd_ESRIIN_88 "ESRIIN"
01357 #define safpb_auth_mfd_ESRIMPR_88 "ESRIMPR"
01358 #define safpb_auth_mfd_ESRJIN_88 "ESRJIN"
01359 #define safpb_auth_mfd_ESRJPR_88 "ESRJPR"
01360 #define safpb_auth_mfd_ESRLIS_88 "ESRLIS"
01361 #define safpb_auth_mfd_ESRPKG_88 "ESRPKG"
01362 #define safpb_auth_mfd_ESRRQH_88 "ESRRQH"
01363 #define safpb_auth_mfd_ESRSRV_88 "ESRSRV"
01364 #define safpb_auth_mfd_ESRSVC_88 "ESRSVC"
01365 #define safpb_auth_mfd_ESRXRM_88 "ESRXRM"
01366 #define safpb_auth_mfd_MFDSADMN_88 "MFDSADMN"
01367 #define safpb_auth_mfd_MFDSREP_88 "MFDSREP"
01368
01369
01370
01371
01372
01373
01374 #ifdef saf78_SAFADMIN_DATA_AREAS
01375 typedef struct safadmin_cmdtbl
01376 {
01377 char safadmin_cmdname[16];
01378 unsigned char safadmin_cmdtype;
01379 unsigned char safadmin_cmdlen;
01380 } Safadmin_Cmdtbl[21];
01381
01382
01383
01384 static Safadmin_Cmdtbl sSafCommands =
01385 {
01386 "ADDUSER ",saf78_TYPE_ADMIN_ADDUSER, 7,
01387 "ADDGROUP ",saf78_TYPE_ADMIN_ADDGROUP, 8,
01388 "ADDRESOURCE ",saf78_TYPE_ADMIN_ADDRES, 11,
01389 "ALTUSER ",saf78_TYPE_ADMIN_ALTUSER, 7,
01390 "ALTGROUP ",saf78_TYPE_ADMIN_ALTGROUP, 8,
01391 "ALTRESOURCE ",saf78_TYPE_ADMIN_ALTRES, 11,
01392 "DELUSER ",saf78_TYPE_ADMIN_DELUSER, 7,
01393 "DELGROUP ",saf78_TYPE_ADMIN_DELGROUP, 8,
01394 "DELRESOURCE ",saf78_TYPE_ADMIN_DELRES, 11,
01395 "LISTUSER ",saf78_TYPE_ADMIN_LISTUSER, 8,
01396 "LISTGROUP ",saf78_TYPE_ADMIN_LISTGROUP,9,
01397 "LISTRESOURCE ",saf78_TYPE_ADMIN_LISTRES, 12,
01398 "ADDCLASS ",saf78_TYPE_ADMIN_ADDCLASS, 8,
01399 "ALTCLASS ",saf78_TYPE_ADMIN_ALTCLASS, 8,
01400 "SETPASSWORD ",saf78_TYPE_ADMIN_SETPSWD, 11,
01401 "PERMIT ",saf78_TYPE_ADMIN_PERMIT, 6,
01402 "SETOPTIONS ",saf78_TYPE_ADMIN_SETOPTS, 10,
01403 "FREELIST ",saf78_TYPE_ADMIN_FREELIST, 8,
01404 "LISTCLASS ",saf78_TYPE_ADMIN_LISTCLASS,9,
01405 "DELCLASS ",saf78_TYPE_ADMIN_DELCLASS, 8,
01406 " ",0, 0
01407 };
01408 #endif
01409
01410
01411
01412
01413
01414
01415
01416
01417
01418 #endif