00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00039 #ifndef XDAS_H_INCLUDED
00040 #define XDAS_H_INCLUDED
00041 
00042 #include <xdasapi.h>
00043 #include <stddef.h>
00044 
00396 #define XDAS_RECORD_VERSION "0"
00397 
00425 #define XDAS_S_COMPLETE                   0
00426 #define XDAS_S_AUTHORIZATION_FAILURE      1
00427 #define XDAS_S_BUFF_TOO_SMALL             2
00428 #define XDAS_S_END                        3
00429 #define XDAS_S_FAILURE                    4
00430 #define XDAS_S_INCOMPLETE_RECORD          5
00431 #define XDAS_S_INVALID_ACTION_LIST        6
00432 #define XDAS_S_INVALID_AUDIT_STREAM       7
00433 #define XDAS_S_INVALID_DAS_REF            8
00434 #define XDAS_S_INVALID_EVENT_INFO         9
00435 #define XDAS_S_INVALID_EVENT_NO           10
00436 #define XDAS_S_INVALID_FILTER             11
00437 #define XDAS_S_INVALID_FILTER_EXPR        12
00438 #define XDAS_S_INVALID_FILTER_LIST        13
00439 #define XDAS_S_INVALID_FILTER_TYPE        14
00440 #define XDAS_S_INVALID_INITIATOR_INFO     15
00441 #define XDAS_S_INVALID_ORIG_INFO          16
00442 #define XDAS_S_INVALID_OUTCOME            17
00443 #define XDAS_S_INVALID_RECORD_DESCRIPTOR  18
00444 #define XDAS_S_INVALID_RECORD_NUMBER      19
00445 #define XDAS_S_INVALID_SECURITY_CONTEXT   20
00446 #define XDAS_S_INVALID_TARGET_INFO        21
00447 #define XDAS_S_NO_AUDIT                   22
00448 #define XDAS_S_NO_DECISION_YET            23
00449 #define XDAS_S_RECORD_SYNTAX_ERROR        24
00450 #define XDAS_S_STORAGE_FAILURE            25
00451 #define XDAS_S_SERVICE_FAILURE            26
00452 #define XDAS_S_NOT_SUPPORTED              27
00453 #define XDAS_S_INVALID_FILTER_ACTION      28
00454 
00455 
00466 #define OXDAS_MS_NO_ERROR                 0
00467 #define OXDAS_MS_UNKNOWN_ERROR            1
00468 #define OXDAS_MS_OUT_OF_MEMORY            2
00469 #define OXDAS_MS_NET_INIT_FAILED          3
00470 #define OXDAS_MS_NET_GENERAL_ERROR        4
00471 #define OXDAS_MS_NET_BAD_SOCKET           5
00472 #define OXDAS_MS_NET_CONN_ABORTED         6
00473 #define OXDAS_MS_NET_CONN_RESET           7
00474 #define OXDAS_MS_NET_NOT_CONNECTED        8
00475 #define OXDAS_MS_NET_SHUTDOWN             9
00476 #define OXDAS_MS_NET_TIMEDOUT             10
00477 #define OXDAS_MS_NET_CONN_REFUSED         11
00478 #define OXDAS_MS_PROTOCOL                 12
00479 
00480 
00490 #define XDAS_S_CALL_INACCESSIBLE_READ     (1 << 16)
00491 #define XDAS_S_CALL_INACCESSIBLE_WRITE    (2 << 16)
00492 #define XDAS_S_CALL_BAD_STRUCTURE         (3 << 16)
00493 
00494 
00503 #define XDAS_ROUTINE_ERROR(e) ((e) & 0x0000FFFF)
00504 #define XDAS_CALLING_ERROR(e) ((e) & 0xFFFF0000)
00505 #define XDAS_ERROR(e)         ((e) ? 1 : 0)
00506 
00507 
00544 #define XDAS_AE_CREATE_ACCOUNT                  0x01000001
00545 #define XDAS_AE_DELETE_ACCOUNT                  0x01000002
00546 #define XDAS_AE_DISABLE_ACCOUNT                 0x01000003
00547 #define XDAS_AE_ENABLE_ACCOUNT                  0x01000004
00548 #define XDAS_AE_QUERY_ACCOUNT                   0x01000005
00549 #define XDAS_AE_MODIFY_ACCOUNT                  0x01000006
00550 #define XDAS_AE_CREATE_SESSION                  0x01000007
00551 #define XDAS_AE_TERMINATE_SESSION               0x01000008
00552 #define XDAS_AE_QUERY_SESSION                   0x01000009
00553 #define XDAS_AE_MODIFY_SESSION                  0x0100000A
00554 #define XDAS_AE_CREATE_DATA_ITEM                0x0100000B
00555 #define XDAS_AE_DELETE_DATA_ITEM                0x0100000C
00556 #define XDAS_AE_QUERY_DATA_ITEM_ATT             0x0100000D
00557 #define XDAS_AE_MODIFY_DATA_ITEM_ATT            0x0100000E
00558 #define XDAS_AE_INSTALL_SERVICE                 0x0100000F
00559 #define XDAS_AE_REMOVE_SERVICE                  0x01000010
00560 #define XDAS_AE_QUERY_SERVICE_CONFIG            0x01000011
00561 #define XDAS_AE_MODIFY_SERVICE_CONFIG           0x01000012
00562 #define XDAS_AE_DISABLE_SERVICE                 0x01000013
00563 #define XDAS_AE_ENABLE_SERVICE                  0x01000014
00564 #define XDAS_AE_INVOKE_SERVICE                  0x01000015
00565 #define XDAS_AE_TERMINATE_SERVICE               0x01000016
00566 #define XDAS_AE_QUERY_PROCESS_CONTEXT           0x01000017
00567 #define XDAS_AE_MODIFY_PROCESS_CONTEXT          0x01000018
00568 #define XDAS_AE_CREATE_PEER_ASSOC               0x01000019
00569 #define XDAS_AE_TERMINATE_PEER_ASSOC            0x0100001A
00570 #define XDAS_AE_QUERY_ASSOC_CONTEXT             0x0100001B
00571 #define XDAS_AE_MODIFY_ASSOC_CONTEXT            0x0100001C
00572 #define XDAS_AE_RECEIVE_DATA_VIA_ASSOC          0x0100001D
00573 #define XDAS_AE_SEND_DATA_VIA_ASSOC             0x0100001E
00574 #define XDAS_AE_CREATE_DATA_ITEM_ASSOC          0x0100001F
00575 #define XDAS_AE_TERMINATE_DATA_ITEM_ASSOC       0x01000020
00576 #define XDAS_AE_QUERY_DATA_ITEM_ASSOC_CONTEXT   0x01000021
00577 #define XDAS_AE_MODIFY_DATA_ITEM_ASSOC_CONTEXT  0x01000022
00578 #define XDAS_AE_QUERY_DATA_ITEM_CONTENTS        0x01000023
00579 #define XDAS_AE_MODIFY_DATA_ITEM_CONTENTS       0x01000024
00580 #define XDAS_AE_START_SYS                       0x01000025
00581 #define XDAS_AE_SHUTDOWN_SYS                    0x01000026
00582 #define XDAS_AE_RESOURCE_EXHAUST                0x01000027
00583 #define XDAS_AE_RESOURCE_CORRUPT                0x01000028
00584 #define XDAS_AE_BACKUP_DATASTORE                0x01000029
00585 #define XDAS_AE_RECOVER_DATASTORE               0x0100002A
00586 #define XDAS_AE_AUD_CONFIG                      0x0100002B
00587 #define XDAS_AE_AUD_DS_FULL                     0x0100002C
00588 #define XDAS_AE_AUD_DS_CORR                     0x0100002D
00589 
00590 
00591 #define XDAS_AE_MODIFY_AUTH_TOKEN               0x02000001
00592 #define XDAS_AE_APPROVAL_RECEIVED               0x02000002
00593 #define XDAS_AE_APPROVAL_REQUESTED              0x02000003
00594 #define XDAS_AE_REQUEST_ESCALATED               0x02000004
00595 #define XDAS_AE_NOTIFICATION_SENT               0x02000005
00596 #define XDAS_AE_CREATE_ROLE                     0x02000006
00597 #define XDAS_AE_DELETE_ROLE                     0x02000007
00598 #define XDAS_AE_DISABLE_ROLE                    0x02000008
00599 #define XDAS_AE_ENABLE_ROLE                     0x02000009
00600 #define XDAS_AE_QUERY_ROLE                      0x0200000A
00601 #define XDAS_AE_MODIFY_ROLE                     0x0200000B
00602 
00603 
00633 #define XDAS_AEC_ACCOUNT_MANAGEMENT             0x01000001
00634 #define XDAS_AEC_USER_SESSION                   0x01000002
00635 #define XDAS_AEC_DATA_ITEM_MANAGEMENT           0x01000003
00636 #define XDAS_AEC_SERVICE_MANAGEMENT             0x01000004
00637 #define XDAS_AEC_SERVICE_UTILIZE                0x01000005
00638 #define XDAS_AEC_PEER_ASSOC_MANAGEMENT          0x01000006
00639 #define XDAS_AEC_DATA_ITEM_CONTENT_ACCESS       0x01000007
00640 #define XDAS_AEC_EXCEPTIONAL                    0x01000008
00641 #define XDAS_AEC_AUDIT_SERVICE                  0x01000009
00642 
00643 
00678 #define XDAS_OUT_NOT_SPECIFIED                  0xFFFFFFFF
00679 
00680 #define XDAS_OUT_SUCCESS                        0x00000000
00681 #define XDAS_OUT_PRIV_USED                      0x00000100
00682 #define XDAS_OUT_PRIV_GRANTED                   0x00000200
00683 #define XDAS_OUT_PRIV_REVOKED                   0x00000400
00684 #define XDAS_OUT_PRESELECT_CRITERIA_SET         0x00000800
00685 #define XDAS_OUT_THRESHOLDS_SET                 0x00001000
00686 #define XDAS_OUT_ACTIONS_SET                    0x00002000
00687 
00688 #define XDAS_OUT_FAILURE                        0x00000001
00689 #define XDAS_OUT_SERVICE_UNAVAILABLE            0x00000101
00690 #define XDAS_OUT_SERVICE_FAILURE                0x00000201
00691 #define XDAS_OUT_HARDWARE_FAILURE               0x00000401
00692 #define XDAS_OUT_LOST_ASSOCIATION               0x00000801
00693 #define XDAS_OUT_ALREADY_ENABLED                0x00001001
00694 #define XDAS_OUT_ALREADY_DISABLED               0x00002001
00695 #define XDAS_OUT_SERVICE_ERROR                  0x00004001
00696 #define XDAS_OUT_BUSY                           0x00008001
00697 #define XDAS_OUT_DISABLED                       0x00010001
00698 #define XDAS_OUT_INVALID_INPUT                  0x00020001
00699 #define XDAS_OUT_ENTITY_EXISTS                  0x00040001
00700 #define XDAS_OUT_ENTITY_NON_EXISTENT            0x00080001
00701 
00702 #define XDAS_OUT_DENIAL                         0x00000002
00703 #define XDAS_OUT_INSUFFICIENT_PRIVILEGE         0x00000102
00704 #define XDAS_OUT_INVALID_IDENTITY               0x00000202
00705 #define XDAS_OUT_INVALID_CREDENTIALS            0x00000402
00706 
00707 
00730 #define XDAS_C_SUBMIT   1
00731 #define XDAS_C_IMPORT   2
00732 
00733 
00738 #define XDAS_C_INCLUDE  1
00739 #define XDAS_C_EXCLUDE  2
00740 
00741 
00746 #define XDAS_VERSION                1
00747 #define XDAS_TIME_OFFSET            2
00748 #define XDAS_TIME_UNCERT_INTER      3
00749 #define XDAS_TIME_UNCERT_INDIC      4
00750 #define XDAS_TIME_SOURCE            5
00751 #define XDAS_TIME_TIME_ZONE         6
00752 #define XDAS_EVENT_NUMBER           7
00753 #define XDAS_OUTCOME                8
00754 #define XDAS_ORG_LOC_NAME           9
00755 #define XDAS_ORG_LOC_ADD            10
00756 #define XDAS_ORG_SERV_TYPE          11
00757 #define XDAS_ORG_AUTH_AUTH          12
00758 #define XDAS_ORG_PRINC_NAME         13
00759 #define XDAS_ORG_PRINC_IDENTITY     14
00760 #define XDAS_INT_AUTH_AUTH          15
00761 #define XDAS_INT_PRINC_NAME         16
00762 #define XDAS_INT_PRINC_IDENTITY     17
00763 #define XDAS_TGT_LOC_NAME           18
00764 #define XDAS_TGT_LOC_ADD            19
00765 #define XDAS_TGT_SERV_TYPE          20
00766 #define XDAS_TGT_AUTH_AUTH          21
00767 #define XDAS_TGT_PRINC_NAME         22
00768 #define XDAS_TGT_PRINC_IDENTITY     23
00769 
00770 
00775 #define XDAS_O_EQ    1  
00776 #define XDAS_O_NE    2  
00777 #define XDAS_O_GT    3  
00778 #define XDAS_O_LT    4  
00779 #define XDAS_O_GE    5  
00780 #define XDAS_O_LE    6  
00781 #define XDAS_O_BT    7  
00782 #define XDAS_O_SS    8  
00783 
00784 
00807 #define XDAS_ACT_LOG    1
00808 #define XDAS_ACT_ALARM  2
00809 #define XDAS_ACT_ACTION 4
00810 
00811 
00831 typedef struct xdas_buffer_desc_struct
00832 {
00833    size_t length;    
00834    char * value;     
00835 } xdas_buffer_desc, * xdas_buffer_t;
00836 
00886 typedef struct xdas_audit_record_desc_struct
00887 {
00888    unsigned record_number;
00890    size_t length;
00892    unsigned time_offset;
00894    unsigned time_uncertainty_interval;
00896    unsigned time_uncertainty_indicator;
00898    xdas_buffer_t time_source;
00900    xdas_buffer_t time_zone;
00902    unsigned event_number;
00904    unsigned outcome;
00906    xdas_buffer_t org_location_name;
00908    xdas_buffer_t org_location_address;
00910    xdas_buffer_t org_service_type;
00912    xdas_buffer_t org_auth_authority;
00914    xdas_buffer_t org_principal_name;
00916    xdas_buffer_t org_principal_identity;
00918    xdas_buffer_t int_auth_authority;
00920    xdas_buffer_t int_principal_name;
00922    xdas_buffer_t int_principal_identity;
00924    xdas_buffer_t tgt_location_name;
00926    xdas_buffer_t tgt_location_address;
00928    xdas_buffer_t tgt_service_type;
00930    xdas_buffer_t tgt_auth_authority;
00932    xdas_buffer_t tgt_principal_name;
00934    xdas_buffer_t tgt_principal_identity;
00936    xdas_buffer_t source_reference;
00938    xdas_buffer_t event_info;
00940 } xdas_audit_record_desc, * xdas_audit_record_t;
00941 
00944 typedef void * xdas_audit_ref_t;
00945 
00948 typedef void * xdas_audit_stream_t;
00949 
00952 typedef void * xdas_audit_rec_desc_t;
00953 
01034 XDASXPC int XDASAPI xdas_initialize_session(
01035       int * minor_status,
01036       const char * org_info,
01037       xdas_audit_ref_t * das_ref);
01038 
01074 XDASXPC int XDASAPI xdas_terminate_session(
01075       int * minor_status,
01076       xdas_audit_ref_t * das_ref);
01077 
01078 
01079 
01138 XDASXPC int XDASAPI xdas_close_audit_stream(
01139       int * minor_status,
01140       xdas_audit_ref_t das_ref,
01141       xdas_audit_stream_t * audit_stream_ref);
01142 
01214 XDASXPC int XDASAPI xdas_get_next(
01215       int * minor_status,
01216       xdas_audit_ref_t das_ref,
01217       xdas_audit_stream_t audit_stream_ref,
01218       unsigned max_records,
01219       xdas_buffer_t audit_record_buffer,
01220       unsigned * no_of_records);
01221 
01261 XDASXPC int XDASAPI xdas_open_audit_stream(
01262       int * minor_status,
01263       xdas_audit_ref_t das_ref,
01264       xdas_audit_stream_t * audit_stream_ref);
01265 
01325 XDASXPC int XDASAPI xdas_parse_record(
01326       int * minor_status,
01327       xdas_audit_ref_t das_ref,
01328       xdas_buffer_t audit_record_buffer,
01329       unsigned record_number,
01330       xdas_audit_record_t audit_record);
01331 
01369 XDASXPC int XDASAPI xdas_rewind_audit_stream(
01370       int * minor_status,
01371       xdas_audit_ref_t das_ref,
01372       xdas_audit_stream_t audit_stream_ref);
01373 
01374 
01375 
01440 XDASXPC int XDASAPI xdas_import_event_records(
01441       int * minor_status,
01442       xdas_audit_ref_t das_ref,
01443       xdas_buffer_t audit_record_buffer,
01444       size_t * position_in_buffer);
01445 
01446 
01447 
01521 XDASXPC int XDASAPI xdas_commit_record(
01522       int * minor_status,
01523       xdas_audit_ref_t das_ref,
01524       xdas_audit_rec_desc_t * audit_record_descriptor);
01525 
01572 XDASXPC int XDASAPI xdas_discard_record(
01573       int * minor_status,
01574       xdas_audit_ref_t das_ref,
01575       xdas_audit_rec_desc_t * audit_record_descriptor);
01576 
01710 XDASXPC int XDASAPI xdas_put_event_info(
01711       int * minor_status,
01712       xdas_audit_ref_t das_ref,
01713       xdas_audit_rec_desc_t * audit_record_descriptor,
01714       unsigned event_number,
01715       unsigned outcome,
01716       const char * initiator_information,
01717       const char * target_information,
01718       const char * event_information);
01719 
01826 XDASXPC int XDASAPI xdas_start_record(
01827       int * minor_status,
01828       xdas_audit_ref_t das_ref,
01829       xdas_audit_rec_desc_t * audit_record_descriptor,
01830       unsigned event_number,
01831       unsigned outcome,
01832       const char * initiator_information,
01833       const char * target_information,
01834       const char * event_information);
01835 
01875 XDASXPC int XDASAPI xdas_timestamp_record(
01876       int * minor_status,
01877       xdas_audit_ref_t das_ref,
01878       xdas_audit_rec_desc_t audit_record_descriptor);
01879 
01880 
01881 
01974 XDASXPC int XDASAPI xdas_create_filter(
01975       int * minor_status,
01976       xdas_audit_ref_t das_ref,
01977       const char * name,
01978       unsigned filter_type,
01979       const char * filter_exp,
01980       const char * filter_act);
01981 
02025 XDASXPC int XDASAPI xdas_delete_filter(
02026       int * minor_status,
02027       xdas_audit_ref_t das_ref,
02028       const char * name);
02029 
02074 XDASXPC int XDASAPI xdas_disable_filter(
02075       int * minor_status,
02076       xdas_audit_ref_t das_ref,
02077       const char * name);
02078 
02123 XDASXPC int XDASAPI xdas_enable_filter(
02124       int * minor_status,
02125       xdas_audit_ref_t das_ref,
02126       const char * name);
02127 
02198 XDASXPC int XDASAPI xdas_get_filter(
02199       int * minor_status,
02200       xdas_audit_ref_t das_ref,
02201       const char * name,
02202       unsigned * filter_type,
02203       xdas_buffer_t filter_exp,
02204       xdas_buffer_t filter_act,
02205       unsigned * filter_status);
02206 
02290 XDASXPC int XDASAPI xdas_list_filters(
02291       int * minor_status,
02292       xdas_audit_ref_t das_ref,
02293       char ** filter_name_list,
02294       size_t * buffer_size);
02295 
02296 
02297 
02301 #endif   
02302