TSP: The Transport Sample Protocol



Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

TSP_rpc.x

Go to the documentation of this file.
00001 
00019 enum TSP_status_t 
00020 {
00022         TSP_STATUS_OK,
00023 
00025         TSP_STATUS_ERROR_UNKNOWN,
00026 
00031         TSP_STATUS_ERROR_SEE_STRING,    
00032 
00036         TSP_STATUS_ERROR_VERSION,
00037 
00041         TSP_STATUS_ERROR_SYMBOLS        
00042         
00043 };
00044 
00045 
00046 struct TSP_answer_open_t
00047 {
00048         int version_id;
00049         unsigned int channel_id;
00050         TSP_status_t status;
00051         string status_str<>;
00052 
00053 };
00054 
00055 typedef string   TSP_argv_item_t<>;
00056 typedef TSP_argv_item_t TSP_argv_t<>;   
00057 
00058 struct TSP_request_open_t
00059 {
00060         int version_id;
00061 /*      string stream_init<>;
00062         int use_stream_init;*/
00063 
00064         TSP_argv_t argv;        
00065 
00066 };
00067 
00068 struct TSP_request_close_t
00069 {
00070         int version_id;
00071         unsigned int channel_id;
00072 };
00073 
00074 struct TSP_request_information_t
00075 {
00076         int version_id;
00077         unsigned int channel_id;
00078 };
00079 
00080 struct TSP_request_feature_t
00081 {
00082         int version_id;
00083         unsigned int channel_id;
00084         unsigned int feature_words[4];
00085 };
00086 
00087 
00088 struct TSP_answer_feature_t
00089 {
00090         int version_id;
00091         unsigned int channel_id;
00092         unsigned int feature_words[4];
00093         int int_value;
00094         double double_value;
00095         string string_value<>;
00096 };
00097 
00098 struct TSP_exec_feature_t
00099 {
00100         int version_id;
00101         unsigned int channel_id;
00102         unsigned int feature_words[4];
00103         int int_value;
00104         double double_value;
00105         string string_value<>;
00106 };
00107 
00108 struct TSP_sample_symbol_info_t
00109 {
00110         string name<>;
00111         int provider_global_index;
00112         int provider_group_index;
00113         int provider_group_rank;
00114         opaque xdr_tsp_t[4];
00115         unsigned int dimension;
00116         int period;
00117         int phase; 
00118 };
00119 
00120 
00121 /*struct TSP_sample_symbol_info_list_t
00122 {
00123         TSP_sample_symbol_info_t TSP_sample_symbol_info_list_t<>;
00124 };
00125 */
00126 
00127 typedef TSP_sample_symbol_info_t TSP_sample_symbol_info_list_t<>;
00128 
00129 /*
00130 FIXME : Use it when the consumer will be able
00131 to ask for a given endianity
00132 enum TSP_endianity_t 
00133 {
00134         TSP_PSEUDO_XDR_LITTLE_ENDIAN,
00135         TSP_XDR_BIG_ENDIAN
00136 };*/
00137 
00138 
00139 struct TSP_request_sample_t
00140 {
00141         int version_id;
00142         unsigned int channel_id;
00143         unsigned int feature_words[4];
00144         int consumer_timeout;
00145         TSP_sample_symbol_info_list_t symbols;
00146 
00147         /* TSP_endianity_t data_endianity; FIXME : implementer */
00148 };
00149 
00150 struct TSP_answer_sample_t
00151 {
00152         int version_id;
00153         unsigned int channel_id;
00154 
00155         int provider_timeout;
00156         int provider_group_number;
00157         TSP_sample_symbol_info_list_t symbols;
00158         double base_frequency;
00159         int max_period; 
00160         int max_client_number; 
00161         int current_client_number; 
00162         TSP_status_t status;            
00163 
00164         /*unsigned int feature_words[4]; FIXME*/
00165         /* TSP_endianity_t data_endianity; FIXME : implementer */
00166 
00167 
00168 };
00169 
00170 struct TSP_request_sample_init_t
00171 {
00172         int version_id;
00173         unsigned int channel_id;
00174 };
00175 
00176 struct TSP_answer_sample_init_t
00177 {
00178         int version_id;
00179         unsigned int channel_id;
00180         string data_address<>;          
00181         TSP_status_t status;                    
00182 };
00183 
00184 
00185 /* FIXME : utiliser ca...*/
00186 struct TSP_asynchronous_sample_symbol_t
00187 {
00188         int provider_index;
00189 };
00190 
00191 
00192 /* FIXME : implementer */
00193 struct TSP_request_sample_destroy_t
00194 {
00195         int version_id;
00196         unsigned int channel_id;        
00197 };
00198 
00199 /* FIXME : implementer */
00200 struct TSP_answer_sample_destroy_t
00201 {
00202         int version_id;
00203         unsigned int channel_id;        
00204         int status;
00205 };
00206 
00207 
00208 
00209 /* This structure is not part of TSP Protocol*/
00210 struct TSP_provider_info_t{
00211         string info<>;
00212 };
00213 
00214 
00215 /*------------------------------------------------------*/
00216 /*              RPC Functions for TSP Provider          */
00217 /*------------------------------------------------------*/
00218 program TSP_RPC {
00219 
00220         version TSP_RPC_VERSION_INITIAL {
00221 
00222         
00223 
00224         /* This function is not part of TSP Protocol */ 
00225         TSP_provider_info_t     TSP_PROVIDER_INFORMATION(void) = 101;
00226 
00227         
00228         /* TSP Protocol */      
00229 
00230         TSP_answer_open_t               TSP_REQUEST_OPEN(TSP_request_open_t req_open) = 102;
00231         
00232         void                            TSP_REQUEST_CLOSE(TSP_request_close_t req_close) = 103;
00233         
00234         TSP_answer_sample_t             TSP_REQUEST_INFORMATION(TSP_request_information_t req_info) = 104;
00235         
00236         TSP_answer_feature_t            TSP_REQUEST_FEATURE(TSP_request_feature_t req_feature) = 105;
00237         
00238         TSP_answer_sample_t             TSP_REQUEST_SAMPLE(TSP_request_sample_t req_sample) = 106;
00239         
00240         TSP_answer_sample_init_t        TSP_REQUEST_SAMPLE_INIT(TSP_request_sample_init_t req_sample) = 107;
00241         
00242         TSP_answer_sample_destroy_t     TSP_REQUEST_SAMPLE_DESTROY(TSP_request_sample_destroy_t req_destroy) = 108;
00243         
00244         void                            TSP_EXEC_FEATURE(TSP_exec_feature_t exec_feature) = 109;
00245         
00246 
00247         } = 1;
00248 } = 0 ;
00249 
00250 
Framework Home Page.

Beware !! TSP wave is coming...