dtn_types.h File Reference

#include <rpc/rpc.h>
#include <limits.h>

Go to the source code of this file.

Classes

struct  dtn_endpoint_id_t
 Specification of a dtn endpoint id, i.e. More...
struct  dtn_service_tag_t
 Specification of a service tag used in building a local endpoint identifier. More...
struct  dtn_reg_info_t
 Registration state. More...
struct  dtn_bundle_spec_t
 Bundle metadata. More...
struct  dtn_bundle_payload_t
struct  dtn_bundle_id_t
 Type definition for a bundle identifier as returned from dtn_send. More...
struct  dtn_bundle_auth_t
 Bundle authentication data. More...

Defines

#define ARG_MAX   _POSIX_ARG_MAX
#define DTN_MAX_ENDPOINT_ID   256
#define DTN_MAX_PATH_LEN   PATH_MAX
#define DTN_MAX_EXEC_LEN   ARG_MAX
#define DTN_MAX_AUTHDATA   1024
#define DTN_MAX_REGION_LEN   64
#define DTN_MAX_BUNDLE_MEM   50000
#define DTN_TIMEOUT_INF   ((dtn_timeval_t)-1)
 An infinite wait is a timeout of -1.
#define DTN_REGID_NONE   0
 Value for an unspecified registration cookie (i.e.

Typedefs

typedef dtn_endpoint_id_t dtn_endpoint_id_t
typedef u_int dtn_reg_id_t
 A registration cookie.
typedef u_int dtn_timeval_t
 DTN timeouts are specified in seconds.
typedef dtn_service_tag_t dtn_service_tag_t
typedef enum dtn_reg_failure_action_t dtn_reg_failure_action_t
typedef dtn_reg_info_t dtn_reg_info_t
typedef enum dtn_bundle_priority_t dtn_bundle_priority_t
typedef enum dtn_bundle_delivery_opts_t dtn_bundle_delivery_opts_t
typedef dtn_bundle_spec_t dtn_bundle_spec_t
typedef enum dtn_bundle_payload_location_t dtn_bundle_payload_location_t
typedef dtn_bundle_payload_t dtn_bundle_payload_t
typedef dtn_bundle_id_t dtn_bundle_id_t
typedef dtn_bundle_auth_t dtn_bundle_auth_t

Enumerations

enum  dtn_reg_failure_action_t { DTN_REG_DROP = 1, DTN_REG_DEFER = 2, DTN_REG_EXEC = 3 }
 Registration delivery failure actions DTN_REG_DROP - drop bundle if registration not active DTN_REG_DEFER - spool bundle for later retrieval DTN_REG_EXEC - exec program on bundle arrival. More...
enum  dtn_bundle_priority_t { COS_BULK = 0, COS_NORMAL = 1, COS_EXPEDITED = 2, COS_RESERVED = 3 }
 Bundle priority specifier. More...
enum  dtn_bundle_delivery_opts_t {
  DOPTS_NONE = 0, DOPTS_CUSTODY = 1, DOPTS_DELIVERY_RCPT = 2, DOPTS_RECEIVE_RCPT = 4,
  DOPTS_FORWARD_RCPT = 8, DOPTS_CUSTODY_RCPT = 16, DOPTS_DELETE_RCPT = 32
}
 Bundle delivery option flags. More...
enum  dtn_bundle_payload_location_t { DTN_PAYLOAD_FILE = 0, DTN_PAYLOAD_MEM = 1 }
 The payload of a bundle can be sent or received either in a file, in which case the payload structure contains the filename, or in memory where the struct has the actual data. More...

Functions

bool_t xdr_dtn_endpoint_id_t ()
bool_t xdr_dtn_reg_id_t ()
bool_t xdr_dtn_timeval_t ()
bool_t xdr_dtn_service_tag_t ()
bool_t xdr_dtn_reg_failure_action_t ()
bool_t xdr_dtn_reg_info_t ()
bool_t xdr_dtn_bundle_priority_t ()
bool_t xdr_dtn_bundle_delivery_opts_t ()
bool_t xdr_dtn_bundle_spec_t ()
bool_t xdr_dtn_bundle_payload_location_t ()
bool_t xdr_dtn_bundle_payload_t ()
bool_t xdr_dtn_bundle_id_t ()
bool_t xdr_dtn_bundle_auth_t ()


Define Documentation

#define ARG_MAX   _POSIX_ARG_MAX

Definition at line 64 of file dtn_types.h.

#define DTN_MAX_AUTHDATA   1024

Definition at line 77 of file dtn_types.h.

Referenced by xdr_dtn_bundle_auth_t().

#define DTN_MAX_BUNDLE_MEM   50000

Definition at line 79 of file dtn_types.h.

Referenced by dtn_set_payload(), and xdr_dtn_bundle_payload_t().

#define DTN_MAX_ENDPOINT_ID   256

Definition at line 74 of file dtn_types.h.

Referenced by dtn::EndpointID::copyto(), dtn_build_local_eid(), dtn_copy_eid(), dtn_parse_eid_string(), dtn::APIEndpointIDOpt::set(), xdr_dtn_endpoint_id_t(), and xdr_dtn_service_tag_t().

#define DTN_MAX_EXEC_LEN   ARG_MAX

Definition at line 76 of file dtn_types.h.

Referenced by xdr_dtn_reg_info_t().

#define DTN_MAX_PATH_LEN   PATH_MAX

Definition at line 75 of file dtn_types.h.

Referenced by xdr_dtn_bundle_payload_t().

#define DTN_MAX_REGION_LEN   64

Definition at line 78 of file dtn_types.h.

#define DTN_REGID_NONE   0

Value for an unspecified registration cookie (i.e.

indication that the daemon should allocate a new unique id).

Definition at line 130 of file dtn_types.h.

Referenced by TcaController::dtn_reg(), main(), parse_options(), and reader_thread().

#define DTN_TIMEOUT_INF   ((dtn_timeval_t)-1)

An infinite wait is a timeout of -1.

Definition at line 110 of file dtn_types.h.

Referenced by dtntunnel::DTNTunnel::main().


Typedef Documentation

typedef struct dtn_bundle_auth_t dtn_bundle_auth_t

Definition at line 268 of file dtn_types.h.

typedef enum dtn_bundle_delivery_opts_t dtn_bundle_delivery_opts_t

Definition at line 201 of file dtn_types.h.

typedef struct dtn_bundle_id_t dtn_bundle_id_t

Definition at line 256 of file dtn_types.h.

typedef enum dtn_bundle_payload_location_t dtn_bundle_payload_location_t

Definition at line 230 of file dtn_types.h.

typedef struct dtn_bundle_payload_t dtn_bundle_payload_t

Definition at line 245 of file dtn_types.h.

typedef enum dtn_bundle_priority_t dtn_bundle_priority_t

Definition at line 177 of file dtn_types.h.

typedef struct dtn_bundle_spec_t dtn_bundle_spec_t

Definition at line 215 of file dtn_types.h.

typedef struct dtn_endpoint_id_t dtn_endpoint_id_t

Definition at line 93 of file dtn_types.h.

typedef enum dtn_reg_failure_action_t dtn_reg_failure_action_t

Definition at line 144 of file dtn_types.h.

typedef u_int dtn_reg_id_t

A registration cookie.

Definition at line 99 of file dtn_types.h.

typedef struct dtn_reg_info_t dtn_reg_info_t

Definition at line 161 of file dtn_types.h.

typedef struct dtn_service_tag_t dtn_service_tag_t

Definition at line 124 of file dtn_types.h.

typedef u_int dtn_timeval_t

DTN timeouts are specified in seconds.

Definition at line 105 of file dtn_types.h.


Enumeration Type Documentation

enum dtn_bundle_delivery_opts_t

Bundle delivery option flags.

Note that multiple options may be selected for a given bundle.

DOPTS_NONE - no custody, etc DOPTS_CUSTODY - custody xfer DOPTS_DELIVERY_RCPT - end to end delivery (i.e. return receipt) DOPTS_RECEIVE_RCPT - per hop arrival receipt DOPTS_FORWARD_RCPT - per hop departure receipt DOPTS_CUSTODY_RCPT - per custodian receipt DOPTS_DELETE_RCPT - request deletion receipt

Enumerator:
DOPTS_NONE 
DOPTS_CUSTODY 
DOPTS_DELIVERY_RCPT 
DOPTS_RECEIVE_RCPT 
DOPTS_FORWARD_RCPT 
DOPTS_CUSTODY_RCPT 
DOPTS_DELETE_RCPT 

Definition at line 192 of file dtn_types.h.

enum dtn_bundle_payload_location_t

The payload of a bundle can be sent or received either in a file, in which case the payload structure contains the filename, or in memory where the struct has the actual data.

Note that there is a limit (DTN_MAX_BUNDLE_MEM) on the maximum size bundle payload that can be sent or received in memory.

Enumerator:
DTN_PAYLOAD_FILE 
DTN_PAYLOAD_MEM 

Definition at line 226 of file dtn_types.h.

enum dtn_bundle_priority_t

Bundle priority specifier.

COS_BULK - lowest priority COS_NORMAL - regular priority COS_EXPEDITED - important COS_RESERVED - TBD

Enumerator:
COS_BULK 
COS_NORMAL 
COS_EXPEDITED 
COS_RESERVED 

Definition at line 171 of file dtn_types.h.

enum dtn_reg_failure_action_t

Registration delivery failure actions DTN_REG_DROP - drop bundle if registration not active DTN_REG_DEFER - spool bundle for later retrieval DTN_REG_EXEC - exec program on bundle arrival.

Enumerator:
DTN_REG_DROP 
DTN_REG_DEFER 
DTN_REG_EXEC 

Definition at line 139 of file dtn_types.h.


Function Documentation

bool_t xdr_dtn_bundle_auth_t (  ) 

bool_t xdr_dtn_bundle_delivery_opts_t (  ) 

bool_t xdr_dtn_bundle_id_t (  ) 

Referenced by dtn_send(), and dtn::APIClient::handle_send().

bool_t xdr_dtn_bundle_payload_location_t (  ) 

Referenced by dtn_recv(), dtn::APIClient::handle_recv(), and xdr_dtn_bundle_payload_t().

bool_t xdr_dtn_bundle_payload_t (  ) 

Referenced by dtn_free_payload(), dtn_recv(), dtn_send(), dtn::APIClient::handle_recv(), and dtn::APIClient::handle_send().

bool_t xdr_dtn_bundle_priority_t (  ) 

Referenced by xdr_dtn_bundle_spec_t().

bool_t xdr_dtn_bundle_spec_t (  ) 

Referenced by dtn_recv(), dtn_send(), dtn::APIClient::handle_recv(), and dtn::APIClient::handle_send().

bool_t xdr_dtn_endpoint_id_t (  ) 

Referenced by dtn_build_local_eid(), dtn_find_registration(), dtn::APIClient::handle_find_registration(), dtn::APIClient::handle_local_eid(), xdr_dtn_bundle_id_t(), xdr_dtn_bundle_spec_t(), and xdr_dtn_reg_info_t().

bool_t xdr_dtn_reg_failure_action_t (  ) 

Referenced by xdr_dtn_reg_info_t().

bool_t xdr_dtn_reg_id_t (  ) 

Referenced by dtn_bind(), dtn_find_registration(), dtn_register(), dtn_unbind(), dtn_unregister(), dtn::APIClient::handle_bind(), dtn::APIClient::handle_find_registration(), dtn::APIClient::handle_register(), dtn::APIClient::handle_unbind(), dtn::APIClient::handle_unregister(), and xdr_dtn_reg_info_t().

bool_t xdr_dtn_reg_info_t (  ) 

Referenced by dtn_register(), and dtn::APIClient::handle_register().

bool_t xdr_dtn_service_tag_t (  ) 

Referenced by dtn_build_local_eid(), and dtn::APIClient::handle_local_eid().

bool_t xdr_dtn_timeval_t (  ) 

Referenced by dtn_begin_poll(), dtn_recv(), dtn::APIClient::handle_begin_poll(), dtn::APIClient::handle_recv(), xdr_dtn_bundle_spec_t(), and xdr_dtn_reg_info_t().


Generated on Fri Dec 22 14:48:01 2006 for DTN Reference Implementation by  doxygen 1.5.1