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

Midas DOC Version 3.0.0 ---- 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