xdastest.c
Go to the documentation of this file.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 #include <xdas.h>
00040 #include "mt.h"
00041
00042 #include <stdio.h>
00043 #include <string.h>
00044 #include <stdlib.h>
00045
00046 #include <time.h>
00047
00052 #ifdef _WIN32
00053 # define tzname _tzname
00054 # define tzset _tzset
00055 # define strdup _strdup
00056 #endif
00057
00060 #define CHECK(x) \
00061 { \
00062 int err; \
00063 if ((err = (x)) != 0) \
00064 { \
00065 printf("xdastest: error %d, %d at: %s(%d).\n", \
00066 err, minor, __FILE__, __LINE__); \
00067 exit(1); \
00068 } \
00069 }
00070
00078 int main(int argc, char ** argv)
00079 {
00080
00081 int minor;
00082 xdas_audit_ref_t dasref;
00083
00084 const char * orginfo = ":addr1%:addr2:service-type::principal_name:principal_id";
00085
00086
00087
00088 CHECK(xdas_initialize_session(&minor, orginfo, &dasref));
00089
00090
00091
00092 if (argc > 1)
00093 {
00094 FILE * fin = fopen(argv[1], "r");
00095 if (fin != 0)
00096 {
00097 char buf[64 * 1024];
00098 while (fgets(buf, sizeof buf, fin) != 0)
00099 {
00100 char * p;
00101
00102
00103
00104 if ((p = strstr(buf, "ev_parse: [HDR:")) != 0)
00105 {
00106 xdas_buffer_desc arec;
00107
00108 arec.value = p + 11;
00109 if ((p = strstr(arec.value, ":END")) != 0)
00110 {
00111 int minor;
00112 size_t bufpos;
00113
00114 arec.length = p - arec.value + 4;
00115 CHECK(xdas_import_event_records(&minor, dasref, &arec, &bufpos));
00116 }
00117 }
00118 }
00119 fclose(fin);
00120 }
00121 else
00122 printf("xdastest: Unable to open %s for reading. Terminating.\n", argv[1]);
00123 }
00124 else
00125 {
00126 xdas_audit_rec_desc_t arec;
00127 int evtnum = XDAS_AE_AUD_DS_CORR;
00128 int resnum = XDAS_OUT_ENTITY_NON_EXISTENT;
00129
00130 const char * intinfo = "initiator-info";
00131 const char * tgtinfo = "target-info";
00132 const char * evtinfo = "event-info";
00133
00134
00135
00136 CHECK(xdas_start_record(&minor, dasref, &arec, evtnum, resnum, intinfo, tgtinfo, 0));
00137
00138 CHECK(xdas_put_event_info(&minor, dasref, &arec, 0, XDAS_OUT_NOT_SPECIFIED, 0, 0, evtinfo));
00139
00140
00141
00142 CHECK(xdas_timestamp_record(&minor, dasref, arec));
00143
00144 CHECK(xdas_commit_record(&minor, dasref, &arec));
00145 }
00146
00147
00148
00149 CHECK(xdas_terminate_session(&minor, &dasref));
00150
00151 return 0;
00152 }
00153