/* Result Sets Interface */ #ifndef SQL_CRSR # define SQL_CRSR struct sql_cursor { unsigned int curocn; void *ptr1; void *ptr2; unsigned long magic; }; typedef struct sql_cursor sql_cursor; typedef struct sql_cursor SQL_CURSOR; #endif /* SQL_CRSR */ /* Thread Safety */ typedef void * sql_context; typedef void * SQL_CONTEXT; /* Object support */ struct sqltvn { unsigned char *tvnvsn; unsigned short tvnvsnl; unsigned char *tvnnm; unsigned short tvnnml; unsigned char *tvnsnm; unsigned short tvnsnml; }; typedef struct sqltvn sqltvn; struct sqladts { unsigned int adtvsn; unsigned short adtmode; unsigned short adtnum; sqltvn adttvn[1]; }; typedef struct sqladts sqladts; static struct sqladts sqladt = { 1,1,0, }; /* Binding to PL/SQL Records */ struct sqltdss { unsigned int tdsvsn; unsigned short tdsnum; unsigned char *tdsval[1]; }; typedef struct sqltdss sqltdss; static struct sqltdss sqltds = { 1, 0, }; /* File name & Package Name */ struct sqlcxp { unsigned short fillen; char filnam[15]; }; static struct sqlcxp sqlfpn = { 14, "hard_search.pc" }; static unsigned long sqlctx = 1181195; static struct sqlexd { unsigned int sqlvsn; unsigned int arrsiz; unsigned int iters; unsigned int offset; unsigned short selerr; unsigned short sqlety; unsigned int unused; short *cud; unsigned char *sqlest; char *stmt; sqladts *sqladtp; sqltdss *sqltdsp; void **sqphsv; unsigned int *sqphsl; int *sqphss; void **sqpind; int *sqpins; unsigned int *sqparm; unsigned int **sqparc; unsigned short *sqpadto; unsigned short *sqptdso; void *sqhstv[11]; unsigned int sqhstl[11]; int sqhsts[11]; void *sqindv[11]; int sqinds[11]; unsigned int sqharm[11]; unsigned int *sqharc[11]; unsigned short sqadto[11]; unsigned short sqtdso[11]; } sqlstm = {10,11}; /* SQLLIB Prototypes */ extern sqlcxt (/*_ void **, unsigned long *, struct sqlexd *, struct sqlcxp * _*/); extern sqlcx2t(/*_ void **, unsigned long *, struct sqlexd *, struct sqlcxp * _*/); extern sqlbuft(/*_ void **, char * _*/); extern sqlgs2t(/*_ void **, char * _*/); extern sqlorat(/*_ void **, unsigned long *, void * _*/); /* Forms Interface */ static int IAPSUCC = 0; static int IAPFAIL = 1403; static int IAPFTL = 535; extern void sqliem(/*_ char *, int * _*/); static char *sq0006 = "select resp_nb ,resp_type ,resp_id ,unit_in ,unit_out ,r_type from response\ where seqresp_id=:b0 order by resp_nb "; static char *sq0011 = "select type ,r_value ,i_value from response_pz where pz_id=:b0 order by pz_\ nb "; static char *sq0013 = "select pn_nb ,pn_value from response_pn_data where pn_id=:b0 order by pn_nb\ "; static char *sq0014 = "select sta ,net ,ondate ,offdate from Station_Sensor where sensor_id=:b0 \ "; static char *sq0016 = "select resp_nb ,resp_type ,resp_id ,unit_in ,unit_out ,r_type from response\ where seqresp_id=:b0 order by resp_nb "; static char *sq0021 = "select type ,r_value ,i_value from response_pz where pz_id=:b0 order by pz_\ nb "; static char *sq0023 = "select pn_nb ,pn_value from response_pn_data where pn_id=:b0 order by pn_nb\ "; static char *sq0024 = "select sta ,net ,ondate ,offdate from Station_Filamp where filamp_id=:b0 \ "; static char *sq0027 = "select sta ,net ,ondate ,offdate from Station_Datalogger where data_id=:b0 \ "; typedef struct { unsigned short len; unsigned char arr[1]; } VARCHAR; typedef struct { unsigned short len; unsigned char arr[1]; } varchar; /* CUD (Compilation Unit Data) Array */ static short sqlcud0[] = {10,4130,0,0,0, 5,0,0,4,0,0,27,172,0,0,4,4,0,1,0,1,97,0,0,1,10,0,0,1,10,0,0,1,10,0,0, 36,0,0,1,0,0,17,188,0,0,1,1,0,1,0,1,97,0,0, 55,0,0,1,0,0,45,191,0,0,0,0,0,1,0, 70,0,0,1,0,0,13,197,0,0,6,0,0,1,0,2,3,0,0,2,97,0,0,2,97,0,0,2,97,0,0,2,97,0,0, 2,3,0,0, 109,0,0,5,162,0,4,204,0,0,7,2,0,1,0,2,97,0,0,2,1,0,0,2,4,0,0,2,4,0,0,2,3,0,0,1, 3,0,0,1,3,0,0, 152,0,0,6,126,0,9,217,0,0,1,1,0,1,0,1,3,0,0, 171,0,0,6,0,0,13,223,0,0,6,0,0,1,0,2,3,0,0,2,1,0,0,2,3,0,0,2,3,0,0,2,3,0,0,2,1, 0,0, 210,0,0,7,46,0,4,225,0,0,2,1,0,1,0,2,97,0,0,1,3,0,0, 233,0,0,8,46,0,4,226,0,0,2,1,0,1,0,2,97,0,0,1,3,0,0, 256,0,0,9,110,0,4,233,0,0,5,1,0,1,0,2,97,0,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0, 291,0,0,10,110,0,4,242,0,0,5,1,0,1,0,2,97,0,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0, 326,0,0,11,90,0,9,257,0,0,1,1,0,1,0,1,3,0,0, 345,0,0,11,0,0,13,263,0,0,3,0,0,1,0,2,1,0,0,2,4,0,0,2,4,0,0, 372,0,0,11,0,0,15,268,0,0,0,0,0,1,0, 387,0,0,12,122,0,4,272,0,0,6,1,0,1,0,2,1,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,3,0,0,1, 3,0,0, 426,0,0,13,88,0,9,285,0,0,1,1,0,1,0,1,3,0,0, 445,0,0,13,0,0,13,291,0,0,2,0,0,1,0,2,3,0,0,2,4,0,0, 468,0,0,13,0,0,15,296,0,0,0,0,0,1,0, 483,0,0,6,0,0,15,301,0,0,0,0,0,1,0, 498,0,0,14,84,0,9,312,0,0,1,1,0,1,0,1,3,0,0, 517,0,0,14,0,0,13,318,0,0,4,0,0,1,0,2,97,0,0,2,97,0,0,2,97,0,0,2,97,0,0, 548,0,0,14,0,0,15,328,0,0,0,0,0,1,0, 563,0,0,1,0,0,15,331,0,0,0,0,0,1,0, 578,0,0,2,0,0,17,344,0,0,1,1,0,1,0,1,97,0,0, 597,0,0,2,0,0,45,347,0,0,0,0,0,1,0, 612,0,0,2,0,0,13,353,0,0,6,0,0,1,0,2,3,0,0,2,97,0,0,2,97,0,0,2,97,0,0,2,97,0,0, 2,3,0,0, 651,0,0,15,118,0,4,361,0,0,5,2,0,1,0,2,4,0,0,2,4,0,0,2,3,0,0,1,3,0,0,1,3,0,0, 686,0,0,16,126,0,9,378,0,0,1,1,0,1,0,1,3,0,0, 705,0,0,16,0,0,13,384,0,0,6,0,0,1,0,2,3,0,0,2,1,0,0,2,3,0,0,2,3,0,0,2,3,0,0,2, 1,0,0, 744,0,0,17,46,0,4,386,0,0,2,1,0,1,0,2,97,0,0,1,3,0,0, 767,0,0,18,46,0,4,387,0,0,2,1,0,1,0,2,97,0,0,1,3,0,0, 790,0,0,19,110,0,4,394,0,0,5,1,0,1,0,2,97,0,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0, 825,0,0,20,110,0,4,404,0,0,5,1,0,1,0,2,97,0,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0, 860,0,0,21,90,0,9,419,0,0,1,1,0,1,0,1,3,0,0, 879,0,0,21,0,0,13,425,0,0,3,0,0,1,0,2,1,0,0,2,4,0,0,2,4,0,0, 906,0,0,21,0,0,15,430,0,0,0,0,0,1,0, 921,0,0,22,122,0,4,434,0,0,6,1,0,1,0,2,1,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,3,0,0,1, 3,0,0, 960,0,0,23,88,0,9,447,0,0,1,1,0,1,0,1,3,0,0, 979,0,0,23,0,0,13,453,0,0,2,0,0,1,0,2,3,0,0,2,4,0,0, 1002,0,0,23,0,0,15,458,0,0,0,0,0,1,0, 1017,0,0,16,0,0,15,463,0,0,0,0,0,1,0, 1032,0,0,24,84,0,9,475,0,0,1,1,0,1,0,1,3,0,0, 1051,0,0,24,0,0,13,481,0,0,4,0,0,1,0,2,97,0,0,2,97,0,0,2,97,0,0,2,97,0,0, 1082,0,0,24,0,0,15,491,0,0,0,0,0,1,0, 1097,0,0,2,0,0,15,494,0,0,0,0,0,1,0, 1112,0,0,3,0,0,17,507,0,0,1,1,0,1,0,1,97,0,0, 1131,0,0,3,0,0,45,510,0,0,0,0,0,1,0, 1146,0,0,3,0,0,13,516,0,0,11,0,0,1,0,2,3,0,0,2,97,0,0,2,97,0,0,2,97,0,0,2,97,0, 0,2,97,0,0,2,3,0,0,2,3,0,0,2,3,0,0,2,97,0,0,2,97,0,0, 1205,0,0,25,103,0,4,525,0,0,4,2,0,1,0,2,97,0,0,2,3,0,0,1,3,0,0,1,3,0,0, 1236,0,0,26,126,0,4,535,0,0,5,3,0,1,0,2,97,0,0,2,4,0,0,1,3,0,0,1,3,0,0,1,3,0,0, 1271,0,0,27,86,0,9,552,0,0,1,1,0,1,0,1,3,0,0, 1290,0,0,27,0,0,13,558,0,0,4,0,0,1,0,2,97,0,0,2,97,0,0,2,97,0,0,2,97,0,0, 1321,0,0,27,0,0,15,568,0,0,0,0,0,1,0, 1336,0,0,3,0,0,15,571,0,0,0,0,0,1,0, 1351,0,0,28,0,0,30,579,0,0,0,0,0,1,0, 1366,0,0,29,0,0,32,599,0,0,0,0,0,1,0, }; #include #include #include #include /* EXEC SQL INCLUDE sqlca.h; */ /* * $Header: sqlca.h,v 1.3 1994/12/12 19:27:27 jbasu Exp $ sqlca.h */ /* Copyright (c) 1985,1986 by Oracle Corporation. */ /* NAME SQLCA : SQL Communications Area. FUNCTION Contains no code. Oracle fills in the SQLCA with status info during the execution of a SQL stmt. NOTES ************************************************************** *** *** *** This file is SOSD. Porters must change the data types *** *** appropriately on their platform. See notes/pcport.doc *** *** for more information. *** *** *** ************************************************************** If the symbol SQLCA_STORAGE_CLASS is defined, then the SQLCA will be defined to have this storage class. For example: #define SQLCA_STORAGE_CLASS extern will define the SQLCA as an extern. If the symbol SQLCA_INIT is defined, then the SQLCA will be statically initialized. Although this is not necessary in order to use the SQLCA, it is a good pgming practice not to have unitialized variables. However, some C compilers/OS's don't allow automatic variables to be init'd in this manner. Therefore, if you are INCLUDE'ing the SQLCA in a place where it would be an automatic AND your C compiler/OS doesn't allow this style of initialization, then SQLCA_INIT should be left undefined -- all others can define SQLCA_INIT if they wish. If the symbol SQLCA_NONE is defined, then the SQLCA variable will not be defined at all. The symbol SQLCA_NONE should not be defined in source modules that have embedded SQL. However, source modules that have no embedded SQL, but need to manipulate a sqlca struct passed in as a parameter, can set the SQLCA_NONE symbol to avoid creation of an extraneous sqlca variable. MODIFIED jbasu 12/12/94 - Bug 217878: note this is an SOSD file losborne 08/11/92 - No sqlca var if SQLCA_NONE macro set Clare 12/06/84 - Ch SQLCA to not be an extern. Clare 10/21/85 - Add initialization. Bradbury 01/05/86 - Only initialize when SQLCA_INIT set Clare 06/12/86 - Add SQLCA_STORAGE_CLASS option. */ #ifndef SQLCA #define SQLCA 1 struct sqlca { /* ub1 */ char sqlcaid[8]; /* b4 */ long sqlabc; /* b4 */ long sqlcode; struct { /* ub2 */ unsigned short sqlerrml; /* ub1 */ char sqlerrmc[70]; } sqlerrm; /* ub1 */ char sqlerrp[8]; /* b4 */ long sqlerrd[6]; /* ub1 */ char sqlwarn[8]; /* ub1 */ char sqlext[8]; }; #ifndef SQLCA_NONE #ifdef SQLCA_STORAGE_CLASS SQLCA_STORAGE_CLASS struct sqlca sqlca #else struct sqlca sqlca #endif #ifdef SQLCA_INIT = { {'S', 'Q', 'L', 'C', 'A', ' ', ' ', ' '}, sizeof(struct sqlca), 0, { 0, {0}}, {'N', 'O', 'T', ' ', 'S', 'E', 'T', ' '}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0} } #endif ; #endif #endif /* end SQLCA */ typedef char asciz[20]; typedef char vc2_arr[11]; /* EXEC SQL BEGIN DECLARE SECTION; */ /* User-defined type for null-terminated strings */ /* EXEC SQL TYPE asciz IS STRING(20) REFERENCE; */ /* User-defined type for a VARCHAR array element. */ /* EXEC SQL TYPE vc2_arr IS VARCHAR2(11) REFERENCE; */ asciz username; asciz password; char user_pwd[80]; int i, j, k; char Param[32]; short ind; char sta[7]; char net[9]; char sondate[32]; char soffdate[32]; int sensor_id; int filamp_id; int data_id; char name[81]; char serial_nb[81]; char ondate[32]; char offdate[32]; int nb_component; int nb_pchannel; float gain; char channel_comp[3];/* Channel */ char component_type; /* Component type */ float sensitivity; /* Sensitivity */ float frequency; /* Frequency */ int seqresp_id; /* Sequence of responses identifier */ int resp_nb; /* Response number */ char resp_type; /* Response type */ int resp_id; /* Response identifier */ int unit_in; /* Input units */ int unit_out; /* Output units */ char unitin[81]; /* Input units */ char unitout[81]; /* Output units */ char r_type; /* Response type */ char filter_type[3]; /* Filter type */ int nb_pole; /* Number of poles */ float corner_freq; /* Corner frequency */ float damping_value; /* Damping value */ char type; float r_value; /* Real value */ float i_value; /* Imaginary value */ char poly_type; /* Type of polynomial approximation */ float lower_bound; /* Lower bound */ float upper_bound; /* Upper bound */ float max_error; /* Maximum error */ int nb_coeff; /* Number of coefficients */ int pn_nb; /* Coefficient number */ float pn_value; /* Coefficient value */ char next_hard_type; /* Next hardware type */ int next_hard_nb; /* Next hardware number */ int next_hard_pchannel; /* Next hardware channel */ float azimuth; /* Azimuth */ float dip; /* Dip */ char data_type[81]; /* Datalogger type */ char firmware_nb[81];/* Firmware number */ char software[81]; /* Software */ char software_nb[81];/* Software version number */ int nb_board; /* Number of boards */ int nb_module; /* Number of modules */ int word_32; /* 32 bit word order */ int word_16; /* 16 bit word order */ int board_nb; /* Board number */ int module_nb; /* Module number */ char SC_Command[512]; char FC_Command[512]; char DC_Command[512]; /* EXEC SQL END DECLARE SECTION; */ /* EXEC SQL DECLARE sc_stmt STATEMENT; */ /* EXEC SQL DECLARE fc_stmt STATEMENT; */ /* EXEC SQL DECLARE dc_stmt STATEMENT; */ long SQLCODE; void sql_error(); /* Handles unrecoverable errors */ /*****************/ /* Main function */ /*****************/ main (argc, argv) int argc; char* argv[]; { int Flag_Search = 0; int Flag_Installed = 0; /* Test of parameters */ if (argc != 3) { printf ("\n\n hard_search [-name ] [-serial ]\n\n"); exit (0); } if (!strcmp (argv[1], "-name")) { Flag_Search = 1; strcpy (Param, argv[2]); for (i=0;i Sensor installed at %s %.3s -- %.20s %.20s.", sta, net, sondate, soffdate); } if (Flag_Installed == 0) printf ("\n\n --> Sensor not installed."); /* EXEC SQL CLOSE si_cursor; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )548; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } } /* EXEC SQL CLOSE sensor_cursor; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )563; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } /* Looking in Filamp table */ if (Flag_Search == 1) { sprintf (FC_Command, "SELECT filamp_id, name, serial_nb, ondate, offdate, nb_pchannel FROM Filamp WHERE name LIKE '%s' ORDER BY ondate", Param); } else { sprintf (FC_Command, "SELECT filamp_id, name, serial_nb, ondate, offdate, nb_pchannel FROM Filamp WHERE serial_nb LIKE '%s' ORDER BY ondate", Param); } /* EXEC SQL PREPARE fc_stmt FROM :FC_Command; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = ""; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )578; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)FC_Command; sqlstm.sqhstl[0] = (unsigned int )512; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } /* EXEC SQL DECLARE filamp_cursor CURSOR FOR fc_stmt; */ /* EXEC SQL OPEN filamp_cursor; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = ""; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )597; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } /* EXEC SQL WHENEVER not found DO break; */ while (1) { /* EXEC SQL FETCH filamp_cursor INTO :filamp_id:ind, :name:ind, :serial_nb:ind, :ondate:ind, :offdate:ind, :nb_pchannel:ind; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )612; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)&filamp_id; sqlstm.sqhstl[0] = (unsigned int )4; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)&ind; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqhstv[1] = ( void *)name; sqlstm.sqhstl[1] = (unsigned int )81; sqlstm.sqhsts[1] = ( int )0; sqlstm.sqindv[1] = ( void *)&ind; sqlstm.sqinds[1] = ( int )0; sqlstm.sqharm[1] = (unsigned int )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqhstv[2] = ( void *)serial_nb; sqlstm.sqhstl[2] = (unsigned int )81; sqlstm.sqhsts[2] = ( int )0; sqlstm.sqindv[2] = ( void *)&ind; sqlstm.sqinds[2] = ( int )0; sqlstm.sqharm[2] = (unsigned int )0; sqlstm.sqadto[2] = (unsigned short )0; sqlstm.sqtdso[2] = (unsigned short )0; sqlstm.sqhstv[3] = ( void *)ondate; sqlstm.sqhstl[3] = (unsigned int )32; sqlstm.sqhsts[3] = ( int )0; sqlstm.sqindv[3] = ( void *)&ind; sqlstm.sqinds[3] = ( int )0; sqlstm.sqharm[3] = (unsigned int )0; sqlstm.sqadto[3] = (unsigned short )0; sqlstm.sqtdso[3] = (unsigned short )0; sqlstm.sqhstv[4] = ( void *)offdate; sqlstm.sqhstl[4] = (unsigned int )32; sqlstm.sqhsts[4] = ( int )0; sqlstm.sqindv[4] = ( void *)&ind; sqlstm.sqinds[4] = ( int )0; sqlstm.sqharm[4] = (unsigned int )0; sqlstm.sqadto[4] = (unsigned short )0; sqlstm.sqtdso[4] = (unsigned short )0; sqlstm.sqhstv[5] = ( void *)&nb_pchannel; sqlstm.sqhstl[5] = (unsigned int )4; sqlstm.sqhsts[5] = ( int )0; sqlstm.sqindv[5] = ( void *)&ind; sqlstm.sqinds[5] = ( int )0; sqlstm.sqharm[5] = (unsigned int )0; sqlstm.sqadto[5] = (unsigned short )0; sqlstm.sqtdso[5] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode == 1403) break; if (sqlca.sqlcode < 0) sql_error(); } printf ("\n\n\n Found Filter-Amplifier ...\n"); printf ("\n\t %.26s %.26s -- Nb. channel: %d", name, serial_nb, nb_pchannel); for (j=1;j<=nb_pchannel;j++) { /* EXEC SQL SELECT gain, frequency, seqresp_id INTO :gain, :frequency, :seqresp_id:ind FROM filamp_pchannel WHERE filamp_id = :filamp_id AND pchannel_nb = :j; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "select gain ,frequency ,seqresp_id into :b0,:b1,:b2:b3 fr\ om filamp_pchannel where (filamp_id=:b4 and pchannel_nb=:b5)"; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )651; sqlstm.selerr = (unsigned short)1; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)&gain; sqlstm.sqhstl[0] = (unsigned int )4; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqhstv[1] = ( void *)&frequency; sqlstm.sqhstl[1] = (unsigned int )4; sqlstm.sqhsts[1] = ( int )0; sqlstm.sqindv[1] = ( void *)0; sqlstm.sqinds[1] = ( int )0; sqlstm.sqharm[1] = (unsigned int )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqhstv[2] = ( void *)&seqresp_id; sqlstm.sqhstl[2] = (unsigned int )4; sqlstm.sqhsts[2] = ( int )0; sqlstm.sqindv[2] = ( void *)&ind; sqlstm.sqinds[2] = ( int )0; sqlstm.sqharm[2] = (unsigned int )0; sqlstm.sqadto[2] = (unsigned short )0; sqlstm.sqtdso[2] = (unsigned short )0; sqlstm.sqhstv[3] = ( void *)&filamp_id; sqlstm.sqhstl[3] = (unsigned int )4; sqlstm.sqhsts[3] = ( int )0; sqlstm.sqindv[3] = ( void *)0; sqlstm.sqinds[3] = ( int )0; sqlstm.sqharm[3] = (unsigned int )0; sqlstm.sqadto[3] = (unsigned short )0; sqlstm.sqtdso[3] = (unsigned short )0; sqlstm.sqhstv[4] = ( void *)&j; sqlstm.sqhstl[4] = (unsigned int )4; sqlstm.sqhsts[4] = ( int )0; sqlstm.sqindv[4] = ( void *)0; sqlstm.sqinds[4] = ( int )0; sqlstm.sqharm[4] = (unsigned int )0; sqlstm.sqadto[4] = (unsigned short )0; sqlstm.sqtdso[4] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode == 1403) break; if (sqlca.sqlcode < 0) sql_error(); } printf ("\n\t\t Gain: %5.2f -- Freq: %5.2f Hz", gain, frequency); if (ind == (-1)) printf ("\n\t\t\t No response"); else { /* EXEC SQL DECLARE resp_cursor2 CURSOR FOR SELECT resp_nb, resp_type, resp_id, unit_in, unit_out, r_type FROM response WHERE seqresp_id = :seqresp_id ORDER BY resp_nb; */ /* EXEC SQL OPEN resp_cursor2; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = sq0016; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )686; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)&seqresp_id; sqlstm.sqhstl[0] = (unsigned int )4; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } /* EXEC SQL WHENEVER not found DO break; */ while (1) { /* EXEC SQL FETCH resp_cursor2 INTO :resp_nb, :resp_type, :resp_id, :unit_in, :unit_out, :r_type; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )705; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)&resp_nb; sqlstm.sqhstl[0] = (unsigned int )4; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqhstv[1] = ( void *)&resp_type; sqlstm.sqhstl[1] = (unsigned int )1; sqlstm.sqhsts[1] = ( int )0; sqlstm.sqindv[1] = ( void *)0; sqlstm.sqinds[1] = ( int )0; sqlstm.sqharm[1] = (unsigned int )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqhstv[2] = ( void *)&resp_id; sqlstm.sqhstl[2] = (unsigned int )4; sqlstm.sqhsts[2] = ( int )0; sqlstm.sqindv[2] = ( void *)0; sqlstm.sqinds[2] = ( int )0; sqlstm.sqharm[2] = (unsigned int )0; sqlstm.sqadto[2] = (unsigned short )0; sqlstm.sqtdso[2] = (unsigned short )0; sqlstm.sqhstv[3] = ( void *)&unit_in; sqlstm.sqhstl[3] = (unsigned int )4; sqlstm.sqhsts[3] = ( int )0; sqlstm.sqindv[3] = ( void *)0; sqlstm.sqinds[3] = ( int )0; sqlstm.sqharm[3] = (unsigned int )0; sqlstm.sqadto[3] = (unsigned short )0; sqlstm.sqtdso[3] = (unsigned short )0; sqlstm.sqhstv[4] = ( void *)&unit_out; sqlstm.sqhstl[4] = (unsigned int )4; sqlstm.sqhsts[4] = ( int )0; sqlstm.sqindv[4] = ( void *)0; sqlstm.sqinds[4] = ( int )0; sqlstm.sqharm[4] = (unsigned int )0; sqlstm.sqadto[4] = (unsigned short )0; sqlstm.sqtdso[4] = (unsigned short )0; sqlstm.sqhstv[5] = ( void *)&r_type; sqlstm.sqhstl[5] = (unsigned int )1; sqlstm.sqhsts[5] = ( int )0; sqlstm.sqindv[5] = ( void *)0; sqlstm.sqinds[5] = ( int )0; sqlstm.sqharm[5] = (unsigned int )0; sqlstm.sqadto[5] = (unsigned short )0; sqlstm.sqtdso[5] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode == 1403) break; if (sqlca.sqlcode < 0) sql_error(); } /* EXEC SQL SELECT name INTO :unitin FROM D_Unit WHERE id = :unit_in; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "select name into :b0 from D_Unit where id=:b1"; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )744; sqlstm.selerr = (unsigned short)1; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)unitin; sqlstm.sqhstl[0] = (unsigned int )81; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqhstv[1] = ( void *)&unit_in; sqlstm.sqhstl[1] = (unsigned int )4; sqlstm.sqhsts[1] = ( int )0; sqlstm.sqindv[1] = ( void *)0; sqlstm.sqinds[1] = ( int )0; sqlstm.sqharm[1] = (unsigned int )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode == 1403) break; if (sqlca.sqlcode < 0) sql_error(); } /* EXEC SQL SELECT name INTO :unitout FROM D_Unit WHERE id = :unit_out; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "select name into :b0 from D_Unit where id=:b1"; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )767; sqlstm.selerr = (unsigned short)1; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)unitout; sqlstm.sqhstl[0] = (unsigned int )81; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqhstv[1] = ( void *)&unit_out; sqlstm.sqhstl[1] = (unsigned int )4; sqlstm.sqhsts[1] = ( int )0; sqlstm.sqindv[1] = ( void *)0; sqlstm.sqinds[1] = ( int )0; sqlstm.sqharm[1] = (unsigned int )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode == 1403) break; if (sqlca.sqlcode < 0) sql_error(); } printf ("\n\t\t\t Type: %c -- In: %.12s Out: %.12s", r_type, unitin, unitout); switch (resp_type) { case 'H': /* EXEC SQL SELECT filter_type, nb_pole, corner_freq, damping_value INTO :filter_type, :nb_pole, :corner_freq, :damping_value FROM response_hp WHERE hp_id = :resp_id; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "select filter_type ,nb_pole ,corner_freq ,damping_v\ alue into :b0,:b1,:b2,:b3 from response_hp where hp_id=:b4"; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )790; sqlstm.selerr = (unsigned short)1; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)filter_type; sqlstm.sqhstl[0] = (unsigned int )3; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqhstv[1] = ( void *)&nb_pole; sqlstm.sqhstl[1] = (unsigned int )4; sqlstm.sqhsts[1] = ( int )0; sqlstm.sqindv[1] = ( void *)0; sqlstm.sqinds[1] = ( int )0; sqlstm.sqharm[1] = (unsigned int )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqhstv[2] = ( void *)&corner_freq; sqlstm.sqhstl[2] = (unsigned int )4; sqlstm.sqhsts[2] = ( int )0; sqlstm.sqindv[2] = ( void *)0; sqlstm.sqinds[2] = ( int )0; sqlstm.sqharm[2] = (unsigned int )0; sqlstm.sqadto[2] = (unsigned short )0; sqlstm.sqtdso[2] = (unsigned short )0; sqlstm.sqhstv[3] = ( void *)&damping_value; sqlstm.sqhstl[3] = (unsigned int )4; sqlstm.sqhsts[3] = ( int )0; sqlstm.sqindv[3] = ( void *)0; sqlstm.sqinds[3] = ( int )0; sqlstm.sqharm[3] = (unsigned int )0; sqlstm.sqadto[3] = (unsigned short )0; sqlstm.sqtdso[3] = (unsigned short )0; sqlstm.sqhstv[4] = ( void *)&resp_id; sqlstm.sqhstl[4] = (unsigned int )4; sqlstm.sqhsts[4] = ( int )0; sqlstm.sqindv[4] = ( void *)0; sqlstm.sqinds[4] = ( int )0; sqlstm.sqharm[4] = (unsigned int )0; sqlstm.sqadto[4] = (unsigned short )0; sqlstm.sqtdso[4] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode == 1403) break; if (sqlca.sqlcode < 0) sql_error(); } printf ("\n\t\t\t High-Pass filter: Type: %s -- Nb. Pole: %d -- Corner Freq: %5.2f -- Damping: %5.2f", filter_type, nb_pole, corner_freq, damping_value); break; case 'L': /* EXEC SQL SELECT filter_type, nb_pole, corner_freq, damping_value INTO :filter_type, :nb_pole, :corner_freq, :damping_value FROM response_lp WHERE lp_id = :resp_id; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "select filter_type ,nb_pole ,corner_freq ,damping_va\ lue into :b0,:b1,:b2,:b3 from response_lp where lp_id=:b4"; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )825; sqlstm.selerr = (unsigned short)1; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)filter_type; sqlstm.sqhstl[0] = (unsigned int )3; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqhstv[1] = ( void *)&nb_pole; sqlstm.sqhstl[1] = (unsigned int )4; sqlstm.sqhsts[1] = ( int )0; sqlstm.sqindv[1] = ( void *)0; sqlstm.sqinds[1] = ( int )0; sqlstm.sqharm[1] = (unsigned int )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqhstv[2] = ( void *)&corner_freq; sqlstm.sqhstl[2] = (unsigned int )4; sqlstm.sqhsts[2] = ( int )0; sqlstm.sqindv[2] = ( void *)0; sqlstm.sqinds[2] = ( int )0; sqlstm.sqharm[2] = (unsigned int )0; sqlstm.sqadto[2] = (unsigned short )0; sqlstm.sqtdso[2] = (unsigned short )0; sqlstm.sqhstv[3] = ( void *)&damping_value; sqlstm.sqhstl[3] = (unsigned int )4; sqlstm.sqhsts[3] = ( int )0; sqlstm.sqindv[3] = ( void *)0; sqlstm.sqinds[3] = ( int )0; sqlstm.sqharm[3] = (unsigned int )0; sqlstm.sqadto[3] = (unsigned short )0; sqlstm.sqtdso[3] = (unsigned short )0; sqlstm.sqhstv[4] = ( void *)&resp_id; sqlstm.sqhstl[4] = (unsigned int )4; sqlstm.sqhsts[4] = ( int )0; sqlstm.sqindv[4] = ( void *)0; sqlstm.sqinds[4] = ( int )0; sqlstm.sqharm[4] = (unsigned int )0; sqlstm.sqadto[4] = (unsigned short )0; sqlstm.sqtdso[4] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode == 1403) break; if (sqlca.sqlcode < 0) sql_error(); } printf ("\n\t\t\t Low-Pass filter: Type: %s -- Nb. Pole: %d -- Corner Freq: %5.2f -- Damping: %5.2f", filter_type, nb_pole, corner_freq, damping_value); break; case 'Z': /* EXEC SQL DECLARE pz_cursor2 CURSOR FOR SELECT type, r_value, i_value FROM response_pz WHERE pz_id = :resp_id ORDER BY pz_nb; */ /* EXEC SQL OPEN pz_cursor2; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = sq0021; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )860; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)&resp_id; sqlstm.sqhstl[0] = (unsigned int )4; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } /* EXEC SQL WHENEVER not found DO break; */ while (1) { /* EXEC SQL FETCH pz_cursor2 INTO :type, :r_value, :i_value; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )879; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)&type; sqlstm.sqhstl[0] = (unsigned int )1; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqhstv[1] = ( void *)&r_value; sqlstm.sqhstl[1] = (unsigned int )4; sqlstm.sqhsts[1] = ( int )0; sqlstm.sqindv[1] = ( void *)0; sqlstm.sqinds[1] = ( int )0; sqlstm.sqharm[1] = (unsigned int )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqhstv[2] = ( void *)&i_value; sqlstm.sqhstl[2] = (unsigned int )4; sqlstm.sqhsts[2] = ( int )0; sqlstm.sqindv[2] = ( void *)0; sqlstm.sqinds[2] = ( int )0; sqlstm.sqharm[2] = (unsigned int )0; sqlstm.sqadto[2] = (unsigned short )0; sqlstm.sqtdso[2] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode == 1403) break; if (sqlca.sqlcode < 0) sql_error(); } printf ("\n\t\t\t Type: %c -- Real: %5.2f -- Imag: %5.2f", type, r_value, i_value); } /* EXEC SQL CLOSE pz_cursor2; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )906; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } break; case 'P': /* EXEC SQL SELECT poly_type, lower_bound, upper_bound, max_error, nb_coeff INTO :poly_type, :lower_bound, :upper_bound, :max_error, :nb_coeff FROM response_pn WHERE pn_id = :resp_id; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "select poly_type ,lower_bound ,upper_bound ,max_error\ ,nb_coeff into :b0,:b1,:b2,:b3,:b4 from response_pn where pn_id=:b5"; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )921; sqlstm.selerr = (unsigned short)1; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)&poly_type; sqlstm.sqhstl[0] = (unsigned int )1; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqhstv[1] = ( void *)&lower_bound; sqlstm.sqhstl[1] = (unsigned int )4; sqlstm.sqhsts[1] = ( int )0; sqlstm.sqindv[1] = ( void *)0; sqlstm.sqinds[1] = ( int )0; sqlstm.sqharm[1] = (unsigned int )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqhstv[2] = ( void *)&upper_bound; sqlstm.sqhstl[2] = (unsigned int )4; sqlstm.sqhsts[2] = ( int )0; sqlstm.sqindv[2] = ( void *)0; sqlstm.sqinds[2] = ( int )0; sqlstm.sqharm[2] = (unsigned int )0; sqlstm.sqadto[2] = (unsigned short )0; sqlstm.sqtdso[2] = (unsigned short )0; sqlstm.sqhstv[3] = ( void *)&max_error; sqlstm.sqhstl[3] = (unsigned int )4; sqlstm.sqhsts[3] = ( int )0; sqlstm.sqindv[3] = ( void *)0; sqlstm.sqinds[3] = ( int )0; sqlstm.sqharm[3] = (unsigned int )0; sqlstm.sqadto[3] = (unsigned short )0; sqlstm.sqtdso[3] = (unsigned short )0; sqlstm.sqhstv[4] = ( void *)&nb_coeff; sqlstm.sqhstl[4] = (unsigned int )4; sqlstm.sqhsts[4] = ( int )0; sqlstm.sqindv[4] = ( void *)0; sqlstm.sqinds[4] = ( int )0; sqlstm.sqharm[4] = (unsigned int )0; sqlstm.sqadto[4] = (unsigned short )0; sqlstm.sqtdso[4] = (unsigned short )0; sqlstm.sqhstv[5] = ( void *)&resp_id; sqlstm.sqhstl[5] = (unsigned int )4; sqlstm.sqhsts[5] = ( int )0; sqlstm.sqindv[5] = ( void *)0; sqlstm.sqinds[5] = ( int )0; sqlstm.sqharm[5] = (unsigned int )0; sqlstm.sqadto[5] = (unsigned short )0; sqlstm.sqtdso[5] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode == 1403) break; if (sqlca.sqlcode < 0) sql_error(); } printf ("\n\t\t\t Polynomial: Type: %c -- Lower: %5.2f -- Upper: %5.2f -- Max. Error: %5.2f -- Nb Coeff: %d", poly_type, lower_bound, upper_bound, max_error, nb_coeff); /* EXEC SQL DECLARE pn_cursor2 CURSOR FOR SELECT pn_nb, pn_value FROM response_pn_data WHERE pn_id = :resp_id ORDER BY pn_nb; */ /* EXEC SQL OPEN pn_cursor2; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = sq0023; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )960; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)&resp_id; sqlstm.sqhstl[0] = (unsigned int )4; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } /* EXEC SQL WHENEVER not found DO break; */ while (1) { /* EXEC SQL FETCH pn_cursor2 INTO :pn_nb, :pn_value; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )979; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)&pn_nb; sqlstm.sqhstl[0] = (unsigned int )4; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqhstv[1] = ( void *)&pn_value; sqlstm.sqhstl[1] = (unsigned int )4; sqlstm.sqhsts[1] = ( int )0; sqlstm.sqindv[1] = ( void *)0; sqlstm.sqinds[1] = ( int )0; sqlstm.sqharm[1] = (unsigned int )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode == 1403) break; if (sqlca.sqlcode < 0) sql_error(); } printf ("\n\t\t\t Coeff: %d -- Value: %5.2f", pn_nb, pn_value); } /* EXEC SQL CLOSE pn_cursor2; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )1002; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } break; } } /* EXEC SQL CLOSE resp_cursor2; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )1017; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } } } /* Filter-Amplifier installed ? */ Flag_Installed = 0; /* EXEC SQL DECLARE fi_cursor CURSOR FOR SELECT sta, net, ondate, offdate FROM Station_Filamp WHERE filamp_id = :filamp_id; */ /* EXEC SQL OPEN fi_cursor; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = sq0024; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )1032; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)&filamp_id; sqlstm.sqhstl[0] = (unsigned int )4; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } /* EXEC SQL WHENEVER not found DO break; */ while (1) { /* EXEC SQL FETCH fi_cursor INTO :sta, :net, :sondate:ind, :soffdate:ind; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )1051; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)sta; sqlstm.sqhstl[0] = (unsigned int )7; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqhstv[1] = ( void *)net; sqlstm.sqhstl[1] = (unsigned int )9; sqlstm.sqhsts[1] = ( int )0; sqlstm.sqindv[1] = ( void *)0; sqlstm.sqinds[1] = ( int )0; sqlstm.sqharm[1] = (unsigned int )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqhstv[2] = ( void *)sondate; sqlstm.sqhstl[2] = (unsigned int )32; sqlstm.sqhsts[2] = ( int )0; sqlstm.sqindv[2] = ( void *)&ind; sqlstm.sqinds[2] = ( int )0; sqlstm.sqharm[2] = (unsigned int )0; sqlstm.sqadto[2] = (unsigned short )0; sqlstm.sqtdso[2] = (unsigned short )0; sqlstm.sqhstv[3] = ( void *)soffdate; sqlstm.sqhstl[3] = (unsigned int )32; sqlstm.sqhsts[3] = ( int )0; sqlstm.sqindv[3] = ( void *)&ind; sqlstm.sqinds[3] = ( int )0; sqlstm.sqharm[3] = (unsigned int )0; sqlstm.sqadto[3] = (unsigned short )0; sqlstm.sqtdso[3] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode == 1403) break; if (sqlca.sqlcode < 0) sql_error(); } Flag_Installed = 1; printf ("\n\n --> Filter-Amplifier installed at %s %.3s -- %.20s %.20s.", sta, net, sondate, soffdate); } if (Flag_Installed == 0) printf ("\n\n --> Filter-Amplifier not installed."); /* EXEC SQL CLOSE fi_cursor; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )1082; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } } /* EXEC SQL CLOSE filamp_cursor; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )1097; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } /* Looking in Datalogger table */ if (Flag_Search == 1) { sprintf (DC_Command, "SELECT data_id, data_type, serial_nb, firmware_nb, ondate, offdate, nb_board, word_32, word_16, software, software_nb FROM Datalogger WHERE data_type LIKE '%s' ORDER BY ondate", Param); } else { sprintf (DC_Command, "SELECT data_id, data_type, serial_nb, firmware_nb, ondate, offdate, nb_board, word_32, word_16, software, software_nb FROM Datalogger WHERE serial_nb LIKE '%s' ORDER BY ondate", Param); } /* EXEC SQL PREPARE dc_stmt FROM :DC_Command; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = ""; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )1112; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)DC_Command; sqlstm.sqhstl[0] = (unsigned int )512; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } /* EXEC SQL DECLARE data_cursor CURSOR FOR dc_stmt; */ /* EXEC SQL OPEN data_cursor; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 7; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = ""; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )1131; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } /* EXEC SQL WHENEVER not found DO break; */ while (1) { /* EXEC SQL FETCH data_cursor INTO :data_id:ind, :data_type:ind, :serial_nb:ind, :firmware_nb:ind, :ondate:ind, :offdate:ind, :nb_board:ind, :word_32:ind, :word_16:ind, :software:ind, :software_nb:ind; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 11; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )1146; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)&data_id; sqlstm.sqhstl[0] = (unsigned int )4; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)&ind; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqhstv[1] = ( void *)data_type; sqlstm.sqhstl[1] = (unsigned int )81; sqlstm.sqhsts[1] = ( int )0; sqlstm.sqindv[1] = ( void *)&ind; sqlstm.sqinds[1] = ( int )0; sqlstm.sqharm[1] = (unsigned int )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqhstv[2] = ( void *)serial_nb; sqlstm.sqhstl[2] = (unsigned int )81; sqlstm.sqhsts[2] = ( int )0; sqlstm.sqindv[2] = ( void *)&ind; sqlstm.sqinds[2] = ( int )0; sqlstm.sqharm[2] = (unsigned int )0; sqlstm.sqadto[2] = (unsigned short )0; sqlstm.sqtdso[2] = (unsigned short )0; sqlstm.sqhstv[3] = ( void *)firmware_nb; sqlstm.sqhstl[3] = (unsigned int )81; sqlstm.sqhsts[3] = ( int )0; sqlstm.sqindv[3] = ( void *)&ind; sqlstm.sqinds[3] = ( int )0; sqlstm.sqharm[3] = (unsigned int )0; sqlstm.sqadto[3] = (unsigned short )0; sqlstm.sqtdso[3] = (unsigned short )0; sqlstm.sqhstv[4] = ( void *)ondate; sqlstm.sqhstl[4] = (unsigned int )32; sqlstm.sqhsts[4] = ( int )0; sqlstm.sqindv[4] = ( void *)&ind; sqlstm.sqinds[4] = ( int )0; sqlstm.sqharm[4] = (unsigned int )0; sqlstm.sqadto[4] = (unsigned short )0; sqlstm.sqtdso[4] = (unsigned short )0; sqlstm.sqhstv[5] = ( void *)offdate; sqlstm.sqhstl[5] = (unsigned int )32; sqlstm.sqhsts[5] = ( int )0; sqlstm.sqindv[5] = ( void *)&ind; sqlstm.sqinds[5] = ( int )0; sqlstm.sqharm[5] = (unsigned int )0; sqlstm.sqadto[5] = (unsigned short )0; sqlstm.sqtdso[5] = (unsigned short )0; sqlstm.sqhstv[6] = ( void *)&nb_board; sqlstm.sqhstl[6] = (unsigned int )4; sqlstm.sqhsts[6] = ( int )0; sqlstm.sqindv[6] = ( void *)&ind; sqlstm.sqinds[6] = ( int )0; sqlstm.sqharm[6] = (unsigned int )0; sqlstm.sqadto[6] = (unsigned short )0; sqlstm.sqtdso[6] = (unsigned short )0; sqlstm.sqhstv[7] = ( void *)&word_32; sqlstm.sqhstl[7] = (unsigned int )4; sqlstm.sqhsts[7] = ( int )0; sqlstm.sqindv[7] = ( void *)&ind; sqlstm.sqinds[7] = ( int )0; sqlstm.sqharm[7] = (unsigned int )0; sqlstm.sqadto[7] = (unsigned short )0; sqlstm.sqtdso[7] = (unsigned short )0; sqlstm.sqhstv[8] = ( void *)&word_16; sqlstm.sqhstl[8] = (unsigned int )4; sqlstm.sqhsts[8] = ( int )0; sqlstm.sqindv[8] = ( void *)&ind; sqlstm.sqinds[8] = ( int )0; sqlstm.sqharm[8] = (unsigned int )0; sqlstm.sqadto[8] = (unsigned short )0; sqlstm.sqtdso[8] = (unsigned short )0; sqlstm.sqhstv[9] = ( void *)software; sqlstm.sqhstl[9] = (unsigned int )81; sqlstm.sqhsts[9] = ( int )0; sqlstm.sqindv[9] = ( void *)&ind; sqlstm.sqinds[9] = ( int )0; sqlstm.sqharm[9] = (unsigned int )0; sqlstm.sqadto[9] = (unsigned short )0; sqlstm.sqtdso[9] = (unsigned short )0; sqlstm.sqhstv[10] = ( void *)software_nb; sqlstm.sqhstl[10] = (unsigned int )81; sqlstm.sqhsts[10] = ( int )0; sqlstm.sqindv[10] = ( void *)&ind; sqlstm.sqinds[10] = ( int )0; sqlstm.sqharm[10] = (unsigned int )0; sqlstm.sqadto[10] = (unsigned short )0; sqlstm.sqtdso[10] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode == 1403) break; if (sqlca.sqlcode < 0) sql_error(); } printf ("\n\n\n Found Datalogger ...\n"); printf ("\n\t Type: %.12s -- Serial: %.12s Firmware: %.12s Soft: %.12s Version: %.12s\n\t Nb Board: %d -- Word 32: %d Word 16: %d", data_type, serial_nb, firmware_nb, software, software_nb, nb_board, word_32, word_16); for (j=1;j<=nb_board;j++) { strcpy (serial_nb, ""); /* EXEC SQL SELECT serial_nb, nb_module INTO :serial_nb:ind, :nb_module FROM datalogger_board WHERE data_id = :data_id AND board_nb = :j; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 11; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "select serial_nb ,nb_module into :b0:b1,:b2 from datalogg\ er_board where (data_id=:b3 and board_nb=:b4)"; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )1205; sqlstm.selerr = (unsigned short)1; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)serial_nb; sqlstm.sqhstl[0] = (unsigned int )81; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)&ind; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqhstv[1] = ( void *)&nb_module; sqlstm.sqhstl[1] = (unsigned int )4; sqlstm.sqhsts[1] = ( int )0; sqlstm.sqindv[1] = ( void *)0; sqlstm.sqinds[1] = ( int )0; sqlstm.sqharm[1] = (unsigned int )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqhstv[2] = ( void *)&data_id; sqlstm.sqhstl[2] = (unsigned int )4; sqlstm.sqhsts[2] = ( int )0; sqlstm.sqindv[2] = ( void *)0; sqlstm.sqinds[2] = ( int )0; sqlstm.sqharm[2] = (unsigned int )0; sqlstm.sqadto[2] = (unsigned short )0; sqlstm.sqtdso[2] = (unsigned short )0; sqlstm.sqhstv[3] = ( void *)&j; sqlstm.sqhstl[3] = (unsigned int )4; sqlstm.sqhsts[3] = ( int )0; sqlstm.sqindv[3] = ( void *)0; sqlstm.sqinds[3] = ( int )0; sqlstm.sqharm[3] = (unsigned int )0; sqlstm.sqadto[3] = (unsigned short )0; sqlstm.sqtdso[3] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode == 1403) break; if (sqlca.sqlcode < 0) sql_error(); } printf ("\n\t\t Serial: %.12s -- Nb Module: %d", serial_nb, nb_module); for (k=1;k<=nb_module;k++) { strcpy (serial_nb, ""); /* EXEC SQL SELECT serial_nb, sensitivity INTO :serial_nb:ind, :sensitivity FROM datalogger_module WHERE data_id = :data_id AND board_nb = :j AND module_nb = :k; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 11; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "select serial_nb ,sensitivity into :b0:b1,:b2 from datal\ ogger_module where ((data_id=:b3 and board_nb=:b4) and module_nb=:b5)"; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )1236; sqlstm.selerr = (unsigned short)1; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)serial_nb; sqlstm.sqhstl[0] = (unsigned int )81; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)&ind; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqhstv[1] = ( void *)&sensitivity; sqlstm.sqhstl[1] = (unsigned int )4; sqlstm.sqhsts[1] = ( int )0; sqlstm.sqindv[1] = ( void *)0; sqlstm.sqinds[1] = ( int )0; sqlstm.sqharm[1] = (unsigned int )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqhstv[2] = ( void *)&data_id; sqlstm.sqhstl[2] = (unsigned int )4; sqlstm.sqhsts[2] = ( int )0; sqlstm.sqindv[2] = ( void *)0; sqlstm.sqinds[2] = ( int )0; sqlstm.sqharm[2] = (unsigned int )0; sqlstm.sqadto[2] = (unsigned short )0; sqlstm.sqtdso[2] = (unsigned short )0; sqlstm.sqhstv[3] = ( void *)&j; sqlstm.sqhstl[3] = (unsigned int )4; sqlstm.sqhsts[3] = ( int )0; sqlstm.sqindv[3] = ( void *)0; sqlstm.sqinds[3] = ( int )0; sqlstm.sqharm[3] = (unsigned int )0; sqlstm.sqadto[3] = (unsigned short )0; sqlstm.sqtdso[3] = (unsigned short )0; sqlstm.sqhstv[4] = ( void *)&k; sqlstm.sqhstl[4] = (unsigned int )4; sqlstm.sqhsts[4] = ( int )0; sqlstm.sqindv[4] = ( void *)0; sqlstm.sqinds[4] = ( int )0; sqlstm.sqharm[4] = (unsigned int )0; sqlstm.sqadto[4] = (unsigned short )0; sqlstm.sqtdso[4] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode == 1403) break; if (sqlca.sqlcode < 0) sql_error(); } printf ("\n\t\t\t Serial: %.12s -- Sensitivity: %f", serial_nb, sensitivity); } } /* Datalogger installed ? */ Flag_Installed = 0; /* EXEC SQL DECLARE di_cursor CURSOR FOR SELECT sta, net, ondate, offdate FROM Station_Datalogger WHERE data_id = :data_id; */ /* EXEC SQL OPEN di_cursor; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 11; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = sq0027; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )1271; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)&data_id; sqlstm.sqhstl[0] = (unsigned int )4; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } /* EXEC SQL WHENEVER not found DO break; */ while (1) { /* EXEC SQL FETCH di_cursor INTO :sta, :net, :sondate:ind, :soffdate:ind; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 11; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )1290; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlstm.sqhstv[0] = ( void *)sta; sqlstm.sqhstl[0] = (unsigned int )7; sqlstm.sqhsts[0] = ( int )0; sqlstm.sqindv[0] = ( void *)0; sqlstm.sqinds[0] = ( int )0; sqlstm.sqharm[0] = (unsigned int )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqhstv[1] = ( void *)net; sqlstm.sqhstl[1] = (unsigned int )9; sqlstm.sqhsts[1] = ( int )0; sqlstm.sqindv[1] = ( void *)0; sqlstm.sqinds[1] = ( int )0; sqlstm.sqharm[1] = (unsigned int )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqhstv[2] = ( void *)sondate; sqlstm.sqhstl[2] = (unsigned int )32; sqlstm.sqhsts[2] = ( int )0; sqlstm.sqindv[2] = ( void *)&ind; sqlstm.sqinds[2] = ( int )0; sqlstm.sqharm[2] = (unsigned int )0; sqlstm.sqadto[2] = (unsigned short )0; sqlstm.sqtdso[2] = (unsigned short )0; sqlstm.sqhstv[3] = ( void *)soffdate; sqlstm.sqhstl[3] = (unsigned int )32; sqlstm.sqhsts[3] = ( int )0; sqlstm.sqindv[3] = ( void *)&ind; sqlstm.sqinds[3] = ( int )0; sqlstm.sqharm[3] = (unsigned int )0; sqlstm.sqadto[3] = (unsigned short )0; sqlstm.sqtdso[3] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode == 1403) break; if (sqlca.sqlcode < 0) sql_error(); } Flag_Installed = 1; printf ("\n\n --> Datalogger installed at %s %.3s -- %.20s %.20s.", sta, net, sondate, soffdate); } if (Flag_Installed == 0) printf ("\n\n --> Datalogger not installed."); /* EXEC SQL CLOSE di_cursor; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 11; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )1321; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } } /* EXEC SQL CLOSE data_cursor; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 11; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )1336; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } printf ("\n\n"); /* Disconnect from the database */ printf ("\n Disconnecting from ORACLE ...\n\n"); /* EXEC SQL COMMIT WORK RELEASE; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 11; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )1351; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; if (sqlca.sqlcode < 0) sql_error(); } exit(0); } /* Handle errors. Exit on any error. */ void sql_error() { char msg[512]; size_t buf_len, msg_len; /* EXEC SQL WHENEVER SQLERROR CONTINUE; */ buf_len = sizeof(msg); sqlglm (msg, &buf_len, &msg_len); printf ("\nORACLE error detected:"); printf ("\n%.*s \n", msg_len, msg); /* EXEC SQL ROLLBACK WORK RELEASE; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 11; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int )1; sqlstm.offset = (unsigned int )1366; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char *)&sqlca; sqlstm.sqlety = (unsigned short)0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); SQLCODE = sqlca.sqlcode; } exit(1); }