mrpc.c

Go to the documentation of this file.
00001 /********************************************************************\
00002 
00003   Name:         MRPC.C
00004   Created by:   Stefan Ritt
00005 
00006   Contents:     List of MIDAS RPC functions with parameters
00007 
00008   $Id: mrpc.c 4090 2007-11-27 09:53:51Z ritt@PSI.CH $
00009 
00010 \********************************************************************/
00011 
00012 /**dox***************************************************************/
00013 /** @file mrpc.c
00014 The Midas RPC file
00015 */
00016 
00017 /** @defgroup mrpcstructc Midas RPC_LIST 
00018  */
00019 
00020 /**dox***************************************************************/
00021 /** @addtogroup mrpcincludecode
00022  *  
00023  *  @{  */
00024 
00025 /**dox***************************************************************/
00026 /** @addtogroup mrpcstructc
00027  *  
00028  *  @{  */
00029 
00030 /**dox***************************************************************/
00031 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00032 
00033 #include "midas.h"
00034 #include "msystem.h"
00035 
00036 /**dox***************************************************************/
00037 #endif                          /* DOXYGEN_SHOULD_SKIP_THIS */
00038 
00039 /**dox***************************************************************/
00040 /**
00041 rpc_list_library contains all MIDAS library functions and gets
00042 registerd whenever a connection to the MIDAS server is established 
00043 */
00044 static RPC_LIST rpc_list_library[] = {
00045 
00046    /* common functions */
00047    {RPC_CM_SET_CLIENT_INFO, "cm_set_client_info",
00048     {{TID_INT, RPC_IN},
00049      {TID_INT, RPC_OUT},
00050      {TID_STRING, RPC_IN},
00051      {TID_STRING, RPC_IN},
00052      {TID_INT, RPC_IN},
00053      {TID_STRING, RPC_IN},
00054      {TID_INT, RPC_IN},
00055      {0}}},
00056 
00057    {RPC_CM_SET_WATCHDOG_PARAMS, "cm_set_watchdog_params",
00058     {{TID_BOOL, RPC_IN},
00059      {TID_INT, RPC_IN},
00060      {0}}},
00061 
00062    {RPC_CM_CLEANUP, "cm_cleanup",
00063     {{TID_STRING, RPC_IN},
00064      {TID_BOOL, RPC_IN},
00065      {0}}},
00066 
00067    {RPC_CM_GET_WATCHDOG_INFO, "cm_get_watchdog_info",
00068     {{TID_INT, RPC_IN},
00069      {TID_STRING, RPC_IN},
00070      {TID_DWORD, RPC_OUT},
00071      {TID_DWORD, RPC_OUT},
00072      {0}}},
00073 
00074    {RPC_CM_MSG, "cm_msg",
00075     {{TID_INT, RPC_IN},
00076      {TID_STRING, RPC_IN},
00077      {TID_INT, RPC_IN},
00078      {TID_STRING, RPC_IN},
00079      {TID_STRING, RPC_IN},
00080      {0}}},
00081 
00082    {RPC_CM_MSG_LOG, "cm_msg_log",
00083     {{TID_INT, RPC_IN},
00084      {TID_STRING, RPC_IN},
00085      {0}}},
00086 
00087    {RPC_CM_MSG_LOG1, "cm_msg_log1",
00088     {{TID_INT, RPC_IN},
00089      {TID_STRING, RPC_IN},
00090      {TID_STRING, RPC_IN},
00091      {0}}},
00092 
00093    {RPC_CM_EXECUTE, "cm_execute",
00094     {{TID_STRING, RPC_IN},
00095      {TID_STRING, RPC_OUT},
00096      {TID_INT, RPC_IN},
00097      {0}}},
00098 
00099    {RPC_CM_EXIST, "cm_exist",
00100     {{TID_STRING, RPC_IN},
00101      {TID_BOOL, RPC_IN},
00102      {0}}},
00103 
00104    {RPC_CM_SYNCHRONIZE, "cm_synchronize",
00105     {{TID_DWORD, RPC_OUT},
00106      {0}}},
00107 
00108    {RPC_CM_ASCTIME, "cm_asctime",
00109     {{TID_STRING, RPC_OUT},
00110      {TID_INT, RPC_IN},
00111      {0}}},
00112 
00113    {RPC_CM_TIME, "cm_time",
00114     {{TID_DWORD, RPC_OUT},
00115      {0}}},
00116 
00117    {RPC_CM_MSG_RETRIEVE, "cm_msg_retrieve",
00118     {{TID_INT, RPC_IN},
00119      {TID_STRING, RPC_OUT},
00120      {TID_INT, RPC_IN},
00121      {0}}},
00122 
00123    /* buffer manager functions */
00124 
00125    {RPC_BM_OPEN_BUFFER, "bm_open_buffer",
00126     {{TID_STRING, RPC_IN},
00127      {TID_INT, RPC_IN},
00128      {TID_INT, RPC_OUT},
00129      {0}}},
00130 
00131    {RPC_BM_CLOSE_BUFFER, "bm_close_buffer",
00132     {{TID_INT, RPC_IN},
00133      {0}}},
00134 
00135    {RPC_BM_CLOSE_ALL_BUFFERS, "bm_close_all_buffers",
00136     {{0}}},
00137 
00138    {RPC_BM_GET_BUFFER_INFO, "bm_get_buffer_info",
00139     {{TID_INT, RPC_IN},
00140      {TID_STRUCT, RPC_OUT, sizeof(BUFFER_HEADER)}
00141      ,
00142      {0}
00143      }
00144     }
00145    ,
00146 
00147    {RPC_BM_GET_BUFFER_LEVEL, "bm_get_buffer_level",
00148     {{TID_INT, RPC_IN}
00149      ,
00150      {TID_INT, RPC_OUT}
00151      ,
00152      {0}
00153      }
00154     }
00155    ,
00156 
00157    {RPC_BM_INIT_BUFFER_COUNTERS, "bm_init_buffer_counters",
00158     {{TID_INT, RPC_IN}
00159      ,
00160      {0}
00161      }
00162     }
00163    ,
00164 
00165    {RPC_BM_SET_CACHE_SIZE, "bm_set_cache_size",
00166     {{TID_INT, RPC_IN}
00167      ,
00168      {TID_INT, RPC_IN}
00169      ,
00170      {TID_INT, RPC_IN}
00171      ,
00172      {0}
00173      }
00174     }
00175    ,
00176 
00177    {RPC_BM_ADD_EVENT_REQUEST, "bm_add_event_request",
00178     {{TID_INT, RPC_IN}
00179      ,
00180      {TID_SHORT, RPC_IN}
00181      ,
00182      {TID_SHORT, RPC_IN}
00183      ,
00184      {TID_INT, RPC_IN}
00185      ,
00186      {TID_INT, RPC_IN}
00187      ,
00188      {TID_INT, RPC_IN}
00189      ,
00190      {0}
00191      }
00192     }
00193    ,
00194 
00195    {RPC_BM_REMOVE_EVENT_REQUEST, "bm_remove_event_request",
00196     {{TID_INT, RPC_IN}
00197      ,
00198      {TID_INT, RPC_IN}
00199      ,
00200      {0}
00201      }
00202     }
00203    ,
00204 
00205    {RPC_BM_SEND_EVENT, "bm_send_event",
00206     {{TID_INT, RPC_IN}
00207      ,
00208      {TID_ARRAY, RPC_IN | RPC_VARARRAY}
00209      ,
00210      {TID_INT, RPC_IN}
00211      ,
00212      {TID_INT, RPC_IN}
00213      ,
00214      {0}
00215      }
00216     }
00217    ,
00218 
00219    {RPC_BM_FLUSH_CACHE, "bm_flush_cache",
00220     {{TID_INT, RPC_IN}
00221      ,
00222      {TID_INT, RPC_IN}
00223      ,
00224      {0}
00225      }
00226     }
00227    ,
00228 
00229    {RPC_BM_RECEIVE_EVENT, "bm_receive_event",
00230     {{TID_INT, RPC_IN}
00231      ,
00232      {TID_ARRAY, RPC_OUT | RPC_VARARRAY}
00233      ,
00234      {TID_INT, RPC_IN | RPC_OUT}
00235      ,
00236      {TID_INT, RPC_IN}
00237      ,
00238      {0}
00239      }
00240     }
00241    ,
00242 
00243    {RPC_BM_SKIP_EVENT, "bm_skip_event",
00244     {{TID_INT, RPC_IN}
00245      ,
00246      {0}
00247      }
00248     }
00249    ,
00250 
00251    {RPC_BM_MARK_READ_WAITING, "bm_mark_read_waiting",
00252     {{TID_BOOL, RPC_IN}
00253      ,
00254      {0}
00255      }
00256     }
00257    ,
00258 
00259    {RPC_BM_EMPTY_BUFFERS, "bm_empty_buffers",
00260     {{0}
00261      }
00262     }
00263    ,
00264 
00265    /* online database functions */
00266 
00267    {RPC_DB_OPEN_DATABASE, "db_open_database",
00268     {{TID_STRING, RPC_IN}
00269      ,
00270      {TID_INT, RPC_IN}
00271      ,
00272      {TID_INT, RPC_OUT}
00273      ,
00274      {TID_STRING, RPC_IN}
00275      ,
00276      {0}
00277      }
00278     }
00279    ,
00280 
00281    {RPC_DB_CLOSE_DATABASE, "db_close_database",
00282     {{TID_INT, RPC_IN}
00283      ,
00284      {0}
00285      }
00286     }
00287    ,
00288 
00289    {RPC_DB_FLUSH_DATABASE, "db_flush_database",
00290     {{TID_INT, RPC_IN}
00291      ,
00292      {0}
00293      }
00294     }
00295    ,
00296 
00297    {RPC_DB_CLOSE_ALL_DATABASES, "db_close_all_databases",
00298     {{0}
00299      }
00300     }
00301    ,
00302 
00303    {RPC_DB_CREATE_KEY, "db_create_key",
00304     {{TID_INT, RPC_IN}
00305      ,
00306      {TID_INT, RPC_IN}
00307      ,
00308      {TID_STRING, RPC_IN}
00309      ,
00310      {TID_DWORD, RPC_IN}
00311      ,
00312      {0}
00313      }
00314     }
00315    ,
00316 
00317    {RPC_DB_CREATE_LINK, "db_create_link",
00318     {{TID_INT, RPC_IN}
00319      ,
00320      {TID_INT, RPC_IN}
00321      ,
00322      {TID_STRING, RPC_IN}
00323      ,
00324      {TID_STRING, RPC_IN}
00325      ,
00326      {0}
00327      }
00328     }
00329    ,
00330 
00331    {RPC_DB_SET_VALUE, "db_set_value",
00332     {{TID_INT, RPC_IN}
00333      ,
00334      {TID_INT, RPC_IN}
00335      ,
00336      {TID_STRING, RPC_IN}
00337      ,
00338      {TID_ARRAY, RPC_IN | RPC_VARARRAY}
00339      ,
00340      {TID_INT, RPC_IN}
00341      ,
00342      {TID_INT, RPC_IN}
00343      ,
00344      {TID_DWORD, RPC_IN}
00345      ,
00346      {0}
00347      }
00348     }
00349    ,
00350 
00351    {RPC_DB_GET_VALUE, "db_get_value",
00352     {{TID_INT, RPC_IN}
00353      ,
00354      {TID_INT, RPC_IN}
00355      ,
00356      {TID_STRING, RPC_IN}
00357      ,
00358      {TID_ARRAY, RPC_IN | RPC_OUT | RPC_VARARRAY}
00359      ,
00360      {TID_INT, RPC_IN | RPC_OUT}
00361      ,
00362      {TID_DWORD, RPC_IN}
00363      ,
00364      {TID_BOOL, RPC_IN}
00365      ,
00366      {0}
00367      }
00368     }
00369    ,
00370 
00371    {RPC_DB_FIND_KEY, "db_find_key",
00372     {{TID_INT, RPC_IN}
00373      ,
00374      {TID_INT, RPC_IN}
00375      ,
00376      {TID_STRING, RPC_IN}
00377      ,
00378      {TID_INT, RPC_OUT}
00379      ,
00380      {0}
00381      }
00382     }
00383    ,
00384 
00385    {RPC_DB_FIND_LINK, "db_fink_link",
00386     {{TID_INT, RPC_IN}
00387      ,
00388      {TID_INT, RPC_IN}
00389      ,
00390      {TID_STRING, RPC_IN}
00391      ,
00392      {TID_INT, RPC_OUT}
00393      ,
00394      {0}
00395      }
00396     }
00397    ,
00398 
00399    {RPC_DB_GET_PATH, "db_get_path",
00400     {{TID_INT, RPC_IN}
00401      ,
00402      {TID_INT, RPC_IN}
00403      ,
00404      {TID_STRING, RPC_OUT}
00405      ,
00406      {TID_INT, RPC_IN}
00407      ,
00408      {0}
00409      }
00410     }
00411    ,
00412 
00413    {RPC_DB_DELETE_KEY, "db_delete_key",
00414     {{TID_INT, RPC_IN}
00415      ,
00416      {TID_INT, RPC_IN}
00417      ,
00418      {TID_BOOL, RPC_IN}
00419      ,
00420      {0}
00421      }
00422     }
00423    ,
00424 
00425    {RPC_DB_ENUM_KEY, "db_enum_key",
00426     {{TID_INT, RPC_IN}
00427      ,
00428      {TID_INT, RPC_IN}
00429      ,
00430      {TID_INT, RPC_IN}
00431      ,
00432      {TID_INT, RPC_OUT}
00433      ,
00434      {0}
00435      }
00436     }
00437    ,
00438 
00439    {RPC_DB_ENUM_LINK, "db_enum_link",
00440     {{TID_INT, RPC_IN}
00441      ,
00442      {TID_INT, RPC_IN}
00443      ,
00444      {TID_INT, RPC_IN}
00445      ,
00446      {TID_INT, RPC_OUT}
00447      ,
00448      {0}
00449      }
00450     }
00451    ,
00452 
00453    {RPC_DB_GET_KEY, "db_get_key",
00454     {{TID_INT, RPC_IN}
00455      ,
00456      {TID_INT, RPC_IN}
00457      ,
00458      {TID_STRUCT, RPC_OUT, sizeof(KEY)}
00459      ,
00460      {0}
00461      }
00462     }
00463    ,
00464 
00465    {RPC_DB_GET_LINK, "db_get_link",
00466     {{TID_INT, RPC_IN}
00467      ,
00468      {TID_INT, RPC_IN}
00469      ,
00470      {TID_STRUCT, RPC_OUT, sizeof(KEY)}
00471      ,
00472      {0}
00473      }
00474     }
00475    ,
00476 
00477    {RPC_DB_GET_KEY_INFO, "db_get_key_info",
00478     {{TID_INT, RPC_IN}
00479      ,
00480      {TID_INT, RPC_IN}
00481      ,
00482      {TID_STRING, RPC_OUT}
00483      ,
00484      {TID_INT, RPC_IN}
00485      ,
00486      {TID_INT, RPC_OUT}
00487      ,
00488      {TID_INT, RPC_OUT}
00489      ,
00490      {TID_INT, RPC_OUT}
00491      ,
00492      {0}
00493      }
00494     }
00495    ,
00496 
00497    {RPC_DB_GET_KEY_TIME, "db_get_key_time",
00498     {{TID_INT, RPC_IN}
00499      ,
00500      {TID_INT, RPC_IN}
00501      ,
00502      {TID_DWORD, RPC_OUT}
00503      ,
00504      {0}
00505      }
00506     }
00507    ,
00508 
00509    {RPC_DB_RENAME_KEY, "db_rename_key",
00510     {{TID_INT, RPC_IN}
00511      ,
00512      {TID_INT, RPC_IN}
00513      ,
00514      {TID_STRING, RPC_IN}
00515      ,
00516      {0}
00517      }
00518     }
00519    ,
00520 
00521    {RPC_DB_REORDER_KEY, "db_reorder_key",
00522     {{TID_INT, RPC_IN}
00523      ,
00524      {TID_INT, RPC_IN}
00525      ,
00526      {TID_INT, RPC_IN}
00527      ,
00528      {0}
00529      }
00530     }
00531    ,
00532 
00533    {RPC_DB_GET_DATA, "db_get_data",
00534     {{TID_INT, RPC_IN}
00535      ,
00536      {TID_INT, RPC_IN}
00537      ,
00538      {TID_ARRAY, RPC_OUT | RPC_VARARRAY}
00539      ,
00540      {TID_INT, RPC_IN | RPC_OUT}
00541      ,
00542      {TID_DWORD, RPC_IN}
00543      ,
00544      {0}
00545      }
00546     }
00547    ,
00548 
00549    {RPC_DB_GET_LINK_DATA, "db_get_data",
00550     {{TID_INT, RPC_IN}
00551      ,
00552      {TID_INT, RPC_IN}
00553      ,
00554      {TID_ARRAY, RPC_OUT | RPC_VARARRAY}
00555      ,
00556      {TID_INT, RPC_IN | RPC_OUT}
00557      ,
00558      {TID_DWORD, RPC_IN}
00559      ,
00560      {0}
00561      }
00562     }
00563    ,
00564 
00565    {RPC_DB_GET_DATA1, "db_get_data1",
00566     {{TID_INT, RPC_IN}
00567      ,
00568      {TID_INT, RPC_IN}
00569      ,
00570      {TID_ARRAY, RPC_OUT | RPC_VARARRAY}
00571      ,
00572      {TID_INT, RPC_IN | RPC_OUT}
00573      ,
00574      {TID_DWORD, RPC_IN}
00575      ,
00576      {TID_INT, RPC_OUT}
00577      ,
00578      {0}
00579      }
00580     }
00581    ,
00582 
00583    {RPC_DB_GET_DATA_INDEX, "db_get_data_index",
00584     {{TID_INT, RPC_IN}
00585      ,
00586      {TID_INT, RPC_IN}
00587      ,
00588      {TID_ARRAY, RPC_OUT | RPC_VARARRAY}
00589      ,
00590      {TID_INT, RPC_IN | RPC_OUT}
00591      ,
00592      {TID_INT, RPC_IN}
00593      ,
00594      {TID_DWORD, RPC_IN}
00595      ,
00596      {0}
00597      }
00598     }
00599    ,
00600 
00601    {RPC_DB_SET_DATA, "db_set_data",
00602     {{TID_INT, RPC_IN}
00603      ,
00604      {TID_INT, RPC_IN}
00605      ,
00606      {TID_ARRAY, RPC_IN | RPC_VARARRAY}
00607      ,
00608      {TID_INT, RPC_IN}
00609      ,
00610      {TID_INT, RPC_IN}
00611      ,
00612      {TID_DWORD, RPC_IN}
00613      ,
00614      {0}
00615      }
00616     }
00617    ,
00618 
00619    {RPC_DB_SET_DATA_INDEX, "db_set_data_index",
00620     {{TID_INT, RPC_IN}
00621      ,
00622      {TID_INT, RPC_IN}
00623      ,
00624      {TID_ARRAY, RPC_IN | RPC_VARARRAY}
00625      ,
00626      {TID_INT, RPC_IN}
00627      ,
00628      {TID_INT, RPC_IN}
00629      ,
00630      {TID_DWORD, RPC_IN}
00631      ,
00632      {0}
00633      }
00634     }
00635    ,
00636 
00637    {RPC_DB_SET_DATA_INDEX2, "db_set_data_index2",
00638     {{TID_INT, RPC_IN}
00639      ,
00640      {TID_INT, RPC_IN}
00641      ,
00642      {TID_ARRAY, RPC_IN | RPC_VARARRAY}
00643      ,
00644      {TID_INT, RPC_IN}
00645      ,
00646      {TID_INT, RPC_IN}
00647      ,
00648      {TID_DWORD, RPC_IN}
00649      ,
00650      {TID_BOOL, RPC_IN}
00651      ,
00652      {0}
00653      }
00654     }
00655    ,
00656 
00657    {RPC_DB_SET_NUM_VALUES, "db_set_num_values",
00658     {{TID_INT, RPC_IN}
00659      ,
00660      {TID_INT, RPC_IN}
00661      ,
00662      {TID_INT, RPC_IN}
00663      ,
00664      {0}
00665      }
00666     }
00667    ,
00668 
00669    {RPC_DB_SET_MODE, "db_set_mode",
00670     {{TID_INT, RPC_IN}
00671      ,
00672      {TID_INT, RPC_IN}
00673      ,
00674      {TID_WORD, RPC_IN}
00675      ,
00676      {TID_BOOL, RPC_IN}
00677      ,
00678      {0}
00679      }
00680     }
00681    ,
00682 
00683    {RPC_DB_CREATE_RECORD, "db_create_record",
00684     {{TID_INT, RPC_IN}
00685      ,
00686      {TID_INT, RPC_IN}
00687      ,
00688      {TID_STRING, RPC_IN}
00689      ,
00690      {TID_STRING, RPC_IN}
00691      ,
00692      {0}
00693      }
00694     }
00695    ,
00696 
00697    {RPC_DB_CHECK_RECORD, "db_check_record",
00698     {{TID_INT, RPC_IN}
00699      ,
00700      {TID_INT, RPC_IN}
00701      ,
00702      {TID_STRING, RPC_IN}
00703      ,
00704      {TID_STRING, RPC_IN}
00705      ,
00706      {TID_BOOL, RPC_IN}
00707      ,
00708      {0}
00709      }
00710     }
00711    ,
00712 
00713    {RPC_DB_GET_RECORD, "db_get_record",
00714     {{TID_INT, RPC_IN}
00715      ,
00716      {TID_INT, RPC_IN}
00717      ,
00718      {TID_ARRAY, RPC_OUT | RPC_VARARRAY}
00719      ,
00720      {TID_INT, RPC_IN | RPC_OUT}
00721      ,
00722      {TID_INT, RPC_IN}
00723      ,
00724      {0}
00725      }
00726     }
00727    ,
00728 
00729    {RPC_DB_GET_RECORD_SIZE, "db_get_record_size",
00730     {{TID_INT, RPC_IN}
00731      ,
00732      {TID_INT, RPC_IN}
00733      ,
00734      {TID_INT, RPC_IN}
00735      ,
00736      {TID_INT, RPC_OUT}
00737      ,
00738      {0}
00739      }
00740     }
00741    ,
00742 
00743    {RPC_DB_SET_RECORD, "db_set_record",
00744     {{TID_INT, RPC_IN}
00745      ,
00746      {TID_INT, RPC_IN}
00747      ,
00748      {TID_ARRAY, RPC_IN | RPC_VARARRAY}
00749      ,
00750      {TID_INT, RPC_IN}
00751      ,
00752      {TID_INT, RPC_IN}
00753      ,
00754      {0}
00755      }
00756     }
00757    ,
00758 
00759    {RPC_DB_ADD_OPEN_RECORD, "db_add_open_record",
00760     {{TID_INT, RPC_IN}
00761      ,
00762      {TID_INT, RPC_IN}
00763      ,
00764      {TID_WORD, RPC_IN}
00765      ,
00766      {0}
00767      }
00768     }
00769    ,
00770 
00771    {RPC_DB_REMOVE_OPEN_RECORD, "db_remove_open_record",
00772     {{TID_INT, RPC_IN}
00773      ,
00774      {TID_INT, RPC_IN}
00775      ,
00776      {0}
00777      }
00778     }
00779    ,
00780 
00781    {RPC_DB_LOAD, "db_load",
00782     {{TID_INT, RPC_IN}
00783      ,
00784      {TID_INT, RPC_IN}
00785      ,
00786      {TID_STRING, RPC_IN}
00787      ,
00788      {TID_BOOL, RPC_IN}
00789      ,
00790      {0}
00791      }
00792     }
00793    ,
00794 
00795    {RPC_DB_SAVE, "db_save",
00796     {{TID_INT, RPC_IN}
00797      ,
00798      {TID_INT, RPC_IN}
00799      ,
00800      {TID_STRING, RPC_IN}
00801      ,
00802      {TID_BOOL, RPC_IN}
00803      ,
00804      {0}
00805      }
00806     }
00807    ,
00808 
00809    {RPC_DB_SET_CLIENT_NAME, "db_set_client_name",
00810     {{TID_INT, RPC_IN}
00811      ,
00812      {TID_STRING, RPC_IN}
00813      ,
00814      {0}
00815      }
00816     }
00817    ,
00818 
00819    {RPC_DB_GET_OPEN_RECORDS, "db_get_open_records",
00820     {{TID_INT, RPC_IN}
00821      ,
00822      {TID_INT, RPC_IN}
00823      ,
00824      {TID_STRING, RPC_OUT}
00825      ,
00826      {TID_INT, RPC_IN}
00827      ,
00828      {TID_BOOL, RPC_IN}
00829      ,
00830      {0}
00831      }
00832     }
00833    ,
00834 
00835    /* history functions */
00836 
00837    {RPC_HS_SET_PATH, "hs_set_path",
00838     {{TID_STRING, RPC_IN}
00839      ,
00840      {0}
00841      }
00842     }
00843    ,
00844 
00845    {RPC_HS_DEFINE_EVENT, "hs_define_event",
00846     {{TID_DWORD, RPC_IN}
00847      ,
00848      {TID_STRING, RPC_IN}
00849      ,
00850      {TID_ARRAY, RPC_IN | RPC_VARARRAY}
00851      ,
00852      {TID_INT, RPC_IN}
00853      ,
00854      {0}
00855      }
00856     }
00857    ,
00858 
00859    {RPC_HS_WRITE_EVENT, "hs_write_event",
00860     {{TID_DWORD, RPC_IN}
00861      ,
00862      {TID_ARRAY, RPC_IN | RPC_VARARRAY}
00863      ,
00864      {TID_INT, RPC_IN}
00865      ,
00866      {0}
00867      }
00868     }
00869    ,
00870 
00871    {RPC_HS_COUNT_EVENTS, "hs_count_events",
00872     {{TID_DWORD, RPC_IN}
00873      ,
00874      {TID_DWORD, RPC_OUT}
00875      ,
00876      {0}
00877      }
00878     }
00879    ,
00880 
00881    {RPC_HS_ENUM_EVENTS, "hs_enum_events",
00882     {{TID_DWORD, RPC_IN}
00883      ,
00884      {TID_STRING, RPC_OUT | RPC_VARARRAY}
00885      ,
00886      {TID_INT, RPC_IN | RPC_OUT}
00887      ,
00888      {TID_INT, RPC_OUT | RPC_VARARRAY}
00889      ,
00890      {TID_INT, RPC_IN | RPC_OUT}
00891      ,
00892      {0}
00893      }
00894     }
00895    ,
00896 
00897    {RPC_HS_COUNT_VARS, "hs_count_vars",
00898     {{TID_DWORD, RPC_IN}
00899      ,
00900      {TID_DWORD, RPC_IN}
00901      ,
00902      {TID_DWORD, RPC_OUT}
00903      ,
00904      {0}
00905      }
00906     }
00907    ,
00908 
00909    {RPC_HS_ENUM_VARS, "hs_enum_vars",
00910     {{TID_DWORD, RPC_IN}
00911      ,
00912      {TID_DWORD, RPC_IN}
00913      ,
00914      {TID_STRING, RPC_OUT | RPC_VARARRAY}
00915      ,
00916      {TID_INT, RPC_IN | RPC_OUT}
00917      ,
00918      {TID_DWORD, RPC_OUT | RPC_VARARRAY}
00919      ,
00920      {TID_DWORD, RPC_IN | RPC_OUT}
00921      ,
00922      {0}
00923      }
00924     }
00925    ,
00926 
00927    {RPC_HS_GET_VAR, "hs_get_var",
00928     {{TID_DWORD, RPC_IN}
00929      ,
00930      {TID_DWORD, RPC_IN}
00931      ,
00932      {TID_STRING, RPC_IN}
00933      ,
00934      {TID_DWORD, RPC_OUT}
00935      ,
00936      {TID_INT, RPC_OUT}
00937      ,
00938      {0}
00939      }
00940     }
00941    ,
00942 
00943    {RPC_HS_GET_EVENT_ID, "hs_get_event_id",
00944     {{TID_DWORD, RPC_IN}
00945      ,
00946      {TID_STRING, RPC_IN}
00947      ,
00948      {TID_DWORD, RPC_OUT}
00949      ,
00950      {0}
00951      }
00952     }
00953    ,
00954 
00955    {RPC_HS_READ, "hs_read",
00956     {{TID_DWORD, RPC_IN}
00957      ,
00958      {TID_DWORD, RPC_IN}
00959      ,
00960      {TID_DWORD, RPC_IN}
00961      ,
00962      {TID_DWORD, RPC_IN}
00963      ,
00964      {TID_STRING, RPC_IN}
00965      ,
00966      {TID_DWORD, RPC_IN}
00967      ,
00968      {TID_ARRAY, RPC_OUT | RPC_VARARRAY}
00969      ,
00970      {TID_INT, RPC_IN | RPC_OUT}
00971      ,
00972      {TID_ARRAY, RPC_OUT | RPC_VARARRAY}
00973      ,
00974      {TID_INT, RPC_IN | RPC_OUT}
00975      ,
00976      {TID_DWORD, RPC_OUT}
00977      ,
00978      {TID_DWORD, RPC_OUT}
00979      ,
00980      {0}
00981      }
00982     }
00983    ,
00984 
00985    /* elog funcions */
00986 
00987    {RPC_EL_SUBMIT, "el_submit",
00988     {{TID_INT, RPC_IN}
00989      ,
00990      {TID_STRING, RPC_IN}
00991      ,
00992      {TID_STRING, RPC_IN}
00993      ,
00994      {TID_STRING, RPC_IN}
00995      ,
00996      {TID_STRING, RPC_IN}
00997      ,
00998      {TID_STRING, RPC_IN}
00999      ,
01000      {TID_STRING, RPC_IN}
01001      ,
01002      {TID_STRING, RPC_IN}
01003      ,
01004      {TID_STRING, RPC_IN}
01005      ,
01006      {TID_ARRAY, RPC_IN | RPC_VARARRAY}
01007      ,
01008      {TID_INT, RPC_IN}
01009      ,
01010      {TID_STRING, RPC_IN}
01011      ,
01012      {TID_ARRAY, RPC_IN | RPC_VARARRAY}
01013      ,
01014      {TID_INT, RPC_IN}
01015      ,
01016      {TID_STRING, RPC_IN}
01017      ,
01018      {TID_ARRAY, RPC_IN | RPC_VARARRAY}
01019      ,
01020      {TID_INT, RPC_IN}
01021      ,
01022      {TID_STRING, RPC_IN, RPC_OUT}
01023      ,
01024      {TID_INT, RPC_IN}
01025      ,
01026      {0}
01027      }
01028     }
01029    ,
01030 
01031    /* alarm  funcions */
01032 
01033    {RPC_AL_CHECK, "al_check",
01034     {{0}
01035      }
01036     }
01037    ,
01038 
01039    {RPC_AL_TRIGGER_ALARM, "al_trigger_alarm",
01040     {{TID_STRING, RPC_IN}
01041      ,
01042      {TID_STRING, RPC_IN}
01043      ,
01044      {TID_STRING, RPC_IN}
01045      ,
01046      {TID_STRING, RPC_IN}
01047      ,
01048      {TID_INT, RPC_IN}
01049      ,
01050      {0}
01051      }
01052     }
01053    ,
01054 
01055    /* run control */
01056 
01057    {RPC_RC_TRANSITION, "rc_transition",
01058     {{TID_INT, RPC_IN}
01059      ,
01060      {TID_INT, RPC_IN}
01061      ,
01062      {TID_STRING, RPC_OUT}
01063      ,
01064      {TID_INT, RPC_IN}
01065      ,
01066      {TID_INT, RPC_IN}
01067      ,
01068      {0}
01069      }
01070     }
01071    ,
01072 
01073 
01074    /* analyzer control */
01075 
01076    {RPC_ANA_CLEAR_HISTOS, "ana_clear_histos",
01077     {{TID_INT, RPC_IN}
01078      ,
01079      {TID_INT, RPC_IN}
01080      ,
01081      {0}
01082      }
01083     }
01084    ,
01085 
01086 
01087    /* logger control */
01088 
01089    {RPC_LOG_REWIND, "log_rewind",
01090     {{TID_INT, RPC_IN}
01091      ,
01092      {0}
01093      }
01094     }
01095    ,
01096 
01097 
01098    /* test functions */
01099 
01100    {RPC_TEST, "test",
01101     {{TID_BYTE, RPC_IN}
01102      ,
01103      {TID_WORD, RPC_IN}
01104      ,
01105      {TID_INT, RPC_IN}
01106      ,
01107      {TID_FLOAT, RPC_IN}
01108      ,
01109      {TID_DOUBLE, RPC_IN}
01110      ,
01111      {TID_BYTE, RPC_OUT}
01112      ,
01113      {TID_WORD, RPC_OUT}
01114      ,
01115      {TID_INT, RPC_OUT}
01116      ,
01117      {TID_FLOAT, RPC_OUT}
01118      ,
01119      {TID_DOUBLE, RPC_OUT}
01120      ,
01121      {0}
01122      }
01123     }
01124    ,
01125 
01126    /* CAMAC server */
01127 
01128    {RPC_CNAF16, "cnaf16",
01129     {{TID_DWORD, RPC_IN}
01130      ,                          /* command */
01131      {TID_DWORD, RPC_IN}
01132      ,                          /* branch */
01133      {TID_DWORD, RPC_IN}
01134      ,                          /* crate */
01135      {TID_DWORD, RPC_IN}
01136      ,                          /* station */
01137      {TID_DWORD, RPC_IN}
01138      ,                          /* subaddress */
01139      {TID_DWORD, RPC_IN}
01140      ,                          /* function */
01141      {TID_WORD, RPC_IN | RPC_OUT | RPC_VARARRAY}
01142      ,                          /* data */
01143      {TID_DWORD, RPC_IN | RPC_OUT}
01144      ,                          /* array size */
01145      {TID_DWORD, RPC_OUT}
01146      ,                          /* x */
01147      {TID_DWORD, RPC_OUT}
01148      ,                          /* q */
01149      {0}
01150      }
01151     }
01152    ,
01153 
01154    {RPC_CNAF24, "cnaf24",
01155     {{TID_DWORD, RPC_IN}
01156      ,                                    /**< command */
01157      {TID_DWORD, RPC_IN}
01158      ,                                    /**< branch */
01159      {TID_DWORD, RPC_IN}
01160      ,                                    /**< crate */
01161      {TID_DWORD, RPC_IN}
01162      ,                                    /**< station */
01163      {TID_DWORD, RPC_IN}
01164      ,                                    /**< subaddress */
01165      {TID_DWORD, RPC_IN}
01166      ,                                    /**< function */
01167      {TID_DWORD, RPC_IN | RPC_OUT | RPC_VARARRAY}
01168      ,                                                  /**< data */
01169      {TID_DWORD, RPC_IN | RPC_OUT}
01170      ,                                    /**< array size */
01171      {TID_DWORD, RPC_OUT}
01172      ,                                    /**< x */
01173      {TID_DWORD, RPC_OUT}
01174      ,                                    /**< q */
01175      {0}
01176      }
01177     }
01178    ,
01179 
01180    /* manual triggered equipment */
01181 
01182    {RPC_MANUAL_TRIG, "manual_trig",
01183     {{TID_WORD, RPC_IN}
01184      ,                          /* event id */
01185      {0}
01186      }
01187     }
01188    ,
01189 
01190    {0}
01191 
01192 };
01193 
01194 /**dox***************************************************************/
01195 /** 
01196 rpc_list_system contains MIDAS system functions and gets
01197 registerd whenever a RPC server is registered
01198 */
01199 static RPC_LIST rpc_list_system[] = {
01200 
01201    /* system  functions */
01202    {RPC_ID_WATCHDOG, "id_watchdog",
01203     {{0}}},
01204 
01205    {RPC_ID_SHUTDOWN, "id_shutdown",
01206     {{0}}},
01207 
01208    {RPC_ID_EXIT, "id_exit",
01209     {{0}}},
01210 
01211    {0}
01212 
01213 };
01214 
01215 RPC_LIST *rpc_get_internal_list(INT flag)
01216 {
01217    if (flag)
01218       return rpc_list_library;
01219    else
01220       return rpc_list_system;
01221 }
01222 
01223 /*------------------------------------------------------------------*/
01224 
01225 /**dox***************************************************************/
01226 /** @} */ /* end of mrpcstructc */
01227 
01228 /**dox***************************************************************/
01229 /** @} */ /* end of mrpcincludecode */

Midas DOC Version 2.0.2 ---- PSI Stefan Ritt ----
Contributions: Pierre-Andre Amaudruz - Sergio Ballestrero - Suzannah Daviel - Doxygen - Peter Green - Qing Gu - Greg Hackman - Gertjan Hofman - Paul Knowles - Exaos Lee - Rudi Meier - Glenn Moloney - Dave Morris - John M O'Donnell - Konstantin Olchanski - Renee Poutissou - Tamsen Schurman - Andreas Suter - Jan M.Wouters - Piotr Adam Zolnierczuk