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