int tm_log_write(int pv_event_type, posix_sqlog_severity_t pv_severity, char *pp_string) { size_t lv_buf_size = DTM_EVENT_BUF_SIZE; int lv_err; char lp_event_buf[DTM_EVENT_BUF_SIZE]; char *lp_pbuf = lp_event_buf; // init log buffer lv_err = evl_sqlog_init(lp_pbuf, lv_buf_size); if (lv_err) return lv_err; // add our string lv_err = evl_sqlog_add_token(lp_pbuf, TY_STRING, pp_string); if (!lv_err) { // ok to log buffer. // we need to translate category to sql_evl severity // facility is common for sql. lv_err = evl_sqlog_write((posix_sqlog_facility_t)SQ_LOG_SEAQUEST, pv_event_type, pv_severity, lp_event_buf); } return lv_err; }
int main() { int status; int type; long larray[5]={30L,31L,32L,33L,34L}; int iarray[5] = {1,2,3,4,5}; long long llarray[5] = {10LL,11LL,12LL,13LL,14LL}; unsigned long long ullarray[5]={20LL,21LL,22LL,23LL,24L}; short sarray[5]={1,2,3,4,5}; char carray[4]={'l','o','v','e'}; unsigned char ucarray[4]={0xff,0x10,0xfe,0x20}; long double ldarray[2]={2.33333, 3.333333}; long double ld1 = 1.7676764; void *addr1 = (void*) 0xfeedf00d; char *plal[4] = { (char *) "peace", (char *) "love", (char *) "and", (char *) "linux" }; int facility = SQ_LOG_SEAQUEST; type = 1; int severity = SQ_LOG_CRIT; char evl_buf[7 * 1024]; char *p = evl_buf; float ff = 0.123; double dd = 9.999; char *cc = (char*)'c'; /* strut is defined for Monitor to pass values to common headers */ /* Other seaquest modules won't use this struct */ sq_common_header_t* sq_header; sq_header = (sq_common_header_t*)malloc(sizeof(sq_common_header_t)); sq_header->comp_id = 8888; sq_header->process_id = 1122; sq_header->zone_id = 57322; sq_header->thread_id = 99; /* Log init function called by all seaquest modules except Monitor */ /* status = evl_sqlog_init(p, 7 * 1024); */ /* The next init function will be called by Monitor only */ status = evl_sqlog_init_header(p, 7 * 1024, sq_header); /* Adding personal tokens */ status = evl_sqlog_add_array_token(p, TY_CHAR, plal, 4); status = evl_sqlog_add_token(p, TY_LDOUBLE, &ld1); status = evl_sqlog_add_token(p, TY_FLOAT, &ff); status = evl_sqlog_add_token(p, TY_DOUBLE, &dd); status = evl_sqlog_add_token(p, TY_INT, (int*)10); status = evl_sqlog_add_token(p, TY_SHORT, (short*)10); status = evl_sqlog_add_token(p, TY_STRING, (void*)"TEST PROGRAM IS DONE"); status = evl_sqlog_add_token(p, TY_LONG, (long*)0xf0f0f0f0L); status = evl_sqlog_add_token(p, TY_CHAR, cc); status = evl_sqlog_add_token(p, TY_ADDRESS, addr1); status = evl_sqlog_add_array_token(p, TY_UCHAR, &ucarray, 4); status = evl_sqlog_add_array_token(p, TY_INT, &iarray, 5); status = evl_sqlog_add_array_token(p, TY_SHORT, &sarray, 5); status = evl_sqlog_add_array_token(p, TY_LONG, &larray, 5); status = evl_sqlog_add_array_token(p, TY_CHAR, &carray, 4); status = evl_sqlog_add_array_token(p, TY_LONGLONG, &llarray, 5); status = evl_sqlog_add_array_token(p, TY_ULONGLONG, &ullarray, 5); status = evl_sqlog_add_array_token(p, TY_LDOUBLE, &ldarray, 2); status = evl_sqlog_write(facility, type, severity, p); exit(status); }