dtn_types_xdr.c

Go to the documentation of this file.
00001 /*
00002  * Please do not edit this file.
00003  * It was generated using rpcgen.
00004  */
00005 
00006 #include "dtn_types.h"
00007 /*
00008  *    Copyright 2004-2006 Intel Corporation
00009  * 
00010  *    Licensed under the Apache License, Version 2.0 (the "License");
00011  *    you may not use this file except in compliance with the License.
00012  *    You may obtain a copy of the License at
00013  * 
00014  *        http://www.apache.org/licenses/LICENSE-2.0
00015  * 
00016  *    Unless required by applicable law or agreed to in writing, software
00017  *    distributed under the License is distributed on an "AS IS" BASIS,
00018  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00019  *    See the License for the specific language governing permissions and
00020  *    limitations under the License.
00021 */
00022 
00023 /**********************************
00024  * This file defines the types used in the DTN client API. The structures are
00025  * autogenerated using rpcgen, as are the marshalling and unmarshalling
00026  * XDR routines.
00027  */
00028 
00029 #include <limits.h>
00030 #ifndef ARG_MAX
00031 #define ARG_MAX _POSIX_ARG_MAX
00032 #endif
00033 
00034 #include <rpc/rpc.h>
00035 
00036 
00037 /**********************************
00038  * Constants.
00039  * (Note that we use #defines to get the comments as well)
00040  */
00041 #define DTN_MAX_ENDPOINT_ID 256 /* max endpoint_id size (bytes) */
00042 #define DTN_MAX_PATH_LEN PATH_MAX       /* max path length */
00043 #define DTN_MAX_EXEC_LEN ARG_MAX        /* length of string passed to exec() */
00044 #define DTN_MAX_AUTHDATA 1024           /* length of auth/security data*/
00045 #define DTN_MAX_REGION_LEN 64           /* 64 chars "should" be long enough */
00046 #define DTN_MAX_BUNDLE_MEM 50000        /* biggest in-memory bundle is ~50K*/
00047 #define DTN_MAX_BLOCK_LEN 64           /* length of block data */
00048 #define DTN_MAX_BLOCKS 256             /* number of blocks in bundle */
00049 
00059 bool_t
00060 xdr_dtn_endpoint_id_t (XDR *xdrs, dtn_endpoint_id_t *objp)
00061 {
00062         register int32_t *buf;
00063 
00064         int i;
00065          if (!xdr_opaque (xdrs, objp->uri, DTN_MAX_ENDPOINT_ID))
00066                  return FALSE;
00067         return TRUE;
00068 }
00069 
00074 bool_t
00075 xdr_dtn_reg_id_t (XDR *xdrs, dtn_reg_id_t *objp)
00076 {
00077         register int32_t *buf;
00078 
00079          if (!xdr_u_int (xdrs, objp))
00080                  return FALSE;
00081         return TRUE;
00082 }
00083 
00088 bool_t
00089 xdr_dtn_timeval_t (XDR *xdrs, dtn_timeval_t *objp)
00090 {
00091         register int32_t *buf;
00092 
00093          if (!xdr_u_int (xdrs, objp))
00094                  return FALSE;
00095         return TRUE;
00096 }
00097 
00101 #define DTN_TIMEOUT_INF ((dtn_timeval_t)-1)
00102 
00103 bool_t
00104 xdr_dtn_timestamp_t (XDR *xdrs, dtn_timestamp_t *objp)
00105 {
00106         register int32_t *buf;
00107 
00108          if (!xdr_u_int (xdrs, &objp->secs))
00109                  return FALSE;
00110          if (!xdr_u_int (xdrs, &objp->seqno))
00111                  return FALSE;
00112         return TRUE;
00113 }
00114 
00124 bool_t
00125 xdr_dtn_service_tag_t (XDR *xdrs, dtn_service_tag_t *objp)
00126 {
00127         register int32_t *buf;
00128 
00129         int i;
00130          if (!xdr_vector (xdrs, (char *)objp->tag, DTN_MAX_ENDPOINT_ID,
00131                 sizeof (char), (xdrproc_t) xdr_char))
00132                  return FALSE;
00133         return TRUE;
00134 }
00135 
00148 bool_t
00149 xdr_dtn_reg_failure_action_t (XDR *xdrs, dtn_reg_failure_action_t *objp)
00150 {
00151         register int32_t *buf;
00152 
00153          if (!xdr_enum (xdrs, (enum_t *) objp))
00154                  return FALSE;
00155         return TRUE;
00156 }
00157 
00162 bool_t
00163 xdr_dtn_reg_info_t (XDR *xdrs, dtn_reg_info_t *objp)
00164 {
00165         register int32_t *buf;
00166 
00167          if (!xdr_dtn_endpoint_id_t (xdrs, &objp->endpoint))
00168                  return FALSE;
00169          if (!xdr_dtn_reg_id_t (xdrs, &objp->regid))
00170                  return FALSE;
00171          if (!xdr_dtn_reg_failure_action_t (xdrs, &objp->failure_action))
00172                  return FALSE;
00173          if (!xdr_dtn_timeval_t (xdrs, &objp->expiration))
00174                  return FALSE;
00175          if (!xdr_bool (xdrs, &objp->init_passive))
00176                  return FALSE;
00177          if (!xdr_bytes (xdrs, (char **)&objp->script.script_val, (u_int *) &objp->script.script_len, DTN_MAX_EXEC_LEN))
00178                  return FALSE;
00179         return TRUE;
00180 }
00181 
00190 bool_t
00191 xdr_dtn_bundle_priority_t (XDR *xdrs, dtn_bundle_priority_t *objp)
00192 {
00193         register int32_t *buf;
00194 
00195          if (!xdr_enum (xdrs, (enum_t *) objp))
00196                  return FALSE;
00197         return TRUE;
00198 }
00199 
00213 bool_t
00214 xdr_dtn_bundle_delivery_opts_t (XDR *xdrs, dtn_bundle_delivery_opts_t *objp)
00215 {
00216         register int32_t *buf;
00217 
00218          if (!xdr_enum (xdrs, (enum_t *) objp))
00219                  return FALSE;
00220         return TRUE;
00221 }
00222 
00236 bool_t
00237 xdr_dtn_extension_block_flags_t (XDR *xdrs, dtn_extension_block_flags_t *objp)
00238 {
00239         register int32_t *buf;
00240 
00241          if (!xdr_enum (xdrs, (enum_t *) objp))
00242                  return FALSE;
00243         return TRUE;
00244 }
00245 
00250 bool_t
00251 xdr_dtn_extension_block_t (XDR *xdrs, dtn_extension_block_t *objp)
00252 {
00253         register int32_t *buf;
00254 
00255          if (!xdr_u_int (xdrs, &objp->type))
00256                  return FALSE;
00257          if (!xdr_u_int (xdrs, &objp->flags))
00258                  return FALSE;
00259          if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, DTN_MAX_BLOCK_LEN))
00260                  return FALSE;
00261         return TRUE;
00262 }
00263 
00268 bool_t
00269 xdr_dtn_bundle_spec_t (XDR *xdrs, dtn_bundle_spec_t *objp)
00270 {
00271         register int32_t *buf;
00272 
00273          if (!xdr_dtn_endpoint_id_t (xdrs, &objp->source))
00274                  return FALSE;
00275          if (!xdr_dtn_endpoint_id_t (xdrs, &objp->dest))
00276                  return FALSE;
00277          if (!xdr_dtn_endpoint_id_t (xdrs, &objp->replyto))
00278                  return FALSE;
00279          if (!xdr_dtn_bundle_priority_t (xdrs, &objp->priority))
00280                  return FALSE;
00281          if (!xdr_int (xdrs, &objp->dopts))
00282                  return FALSE;
00283          if (!xdr_dtn_timeval_t (xdrs, &objp->expiration))
00284                  return FALSE;
00285          if (!xdr_array (xdrs, (char **)&objp->blocks.blocks_val, (u_int *) &objp->blocks.blocks_len, DTN_MAX_BLOCKS,
00286                 sizeof (dtn_extension_block_t), (xdrproc_t) xdr_dtn_extension_block_t))
00287                  return FALSE;
00288         return TRUE;
00289 }
00290 
00299 bool_t
00300 xdr_dtn_bundle_id_t (XDR *xdrs, dtn_bundle_id_t *objp)
00301 {
00302         register int32_t *buf;
00303 
00304          if (!xdr_dtn_endpoint_id_t (xdrs, &objp->source))
00305                  return FALSE;
00306          if (!xdr_dtn_timestamp_t (xdrs, &objp->creation_ts))
00307                  return FALSE;
00308          if (!xdr_u_int (xdrs, &objp->frag_offset))
00309                  return FALSE;
00310          if (!xdr_u_int (xdrs, &objp->orig_length))
00311                  return FALSE;
00312         return TRUE;
00313 }
00318 bool_t
00319 xdr_dtn_status_report_reason_t (XDR *xdrs, dtn_status_report_reason_t *objp)
00320 {
00321         register int32_t *buf;
00322 
00323          if (!xdr_enum (xdrs, (enum_t *) objp))
00324                  return FALSE;
00325         return TRUE;
00326 }
00332 bool_t
00333 xdr_dtn_status_report_flags_t (XDR *xdrs, dtn_status_report_flags_t *objp)
00334 {
00335         register int32_t *buf;
00336 
00337          if (!xdr_enum (xdrs, (enum_t *) objp))
00338                  return FALSE;
00339         return TRUE;
00340 }
00341 
00346 bool_t
00347 xdr_dtn_bundle_status_report_t (XDR *xdrs, dtn_bundle_status_report_t *objp)
00348 {
00349         register int32_t *buf;
00350 
00351          if (!xdr_dtn_bundle_id_t (xdrs, &objp->bundle_id))
00352                  return FALSE;
00353          if (!xdr_dtn_status_report_reason_t (xdrs, &objp->reason))
00354                  return FALSE;
00355          if (!xdr_dtn_status_report_flags_t (xdrs, &objp->flags))
00356                  return FALSE;
00357          if (!xdr_dtn_timestamp_t (xdrs, &objp->receipt_ts))
00358                  return FALSE;
00359          if (!xdr_dtn_timestamp_t (xdrs, &objp->custody_tv_))
00360                  return FALSE;
00361          if (!xdr_dtn_timestamp_t (xdrs, &objp->forwarding_tv_))
00362                  return FALSE;
00363          if (!xdr_dtn_timestamp_t (xdrs, &objp->delivery_tv_))
00364                  return FALSE;
00365          if (!xdr_dtn_timestamp_t (xdrs, &objp->deletion_tv_))
00366                  return FALSE;
00367          if (!xdr_dtn_timestamp_t (xdrs, &objp->ack_by_app_tv_))
00368                  return FALSE;
00369         return TRUE;
00370 }
00371 
00395 bool_t
00396 xdr_dtn_bundle_payload_location_t (XDR *xdrs, dtn_bundle_payload_location_t *objp)
00397 {
00398         register int32_t *buf;
00399 
00400          if (!xdr_enum (xdrs, (enum_t *) objp))
00401                  return FALSE;
00402         return TRUE;
00403 }
00404 
00405 bool_t
00406 xdr_dtn_bundle_payload_t (XDR *xdrs, dtn_bundle_payload_t *objp)
00407 {
00408         register int32_t *buf;
00409 
00410          if (!xdr_dtn_bundle_payload_location_t (xdrs, &objp->location))
00411                  return FALSE;
00412          if (!xdr_bytes (xdrs, (char **)&objp->filename.filename_val, (u_int *) &objp->filename.filename_len, DTN_MAX_PATH_LEN))
00413                  return FALSE;
00414          if (!xdr_bytes (xdrs, (char **)&objp->buf.buf_val, (u_int *) &objp->buf.buf_len, DTN_MAX_BUNDLE_MEM))
00415                  return FALSE;
00416          if (!xdr_pointer (xdrs, (char **)&objp->status_report, sizeof (dtn_bundle_status_report_t), (xdrproc_t) xdr_dtn_bundle_status_report_t))
00417                  return FALSE;
00418         return TRUE;
00419 }

Generated on Sat Sep 8 08:36:16 2007 for DTN Reference Implementation by  doxygen 1.5.3