OpenDOF Project
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables

Header file for the COS functions, defines and data types. More...

Data Structures

struct  DOSCallbacks
 DOS Callback Structure. More...
 
struct  DOSCallbacks::DOSApplicationCallbacks_t
 The application interface structure. More...
 
struct  DOSCallbacks::DOSDPSSessionCallbacks_t
 The DPS Session interface structure. More...
 
struct  DOSCallbacks::DOSProviderCallbacks_t
 The application provider interface structure. More...
 
struct  DOSCallbacks::DOSRequestorCallbacks_t
 The application requestor interface structure. More...
 
struct  DOSCallbacks::DOSTransportCallbacks_t
 The transport interface structure. More...
 
struct  DOSConfig
 DOS Configuration Structure. More...
 
struct  DOSContext
 DOS Context Structure. More...
 
struct  DOSSecurityConfig
 DOSSecurityConfig Structure. More...
 

Macros

#define DOSCONTEXT_FLAG_ERROR_EXCEPTION
 When set, the exception represents an error exception.
 
#define DOSCONTEXT_FLAG_INTERMEDIATE_RESPONSE
 When set, the provider's response represents an intermediate (not final) response, and the operation is still executing.
 
#define DOSCONTEXT_FLAG_MULTICAST
 When set, the operation was received multicast.
 
#define DOSCONTEXT_FLAG_NEW_SOURCE
 When set, an operation with a lower sequence was found, and will be used as a closer source.
 
#define DOSCONTEXT_FLAG_OPERATION_RETRY
 When set, the received operation is a retry.
 
#define DOSMEMORYMAXSIZE_CONTEXT_SAVE
 Maximum Context Stored size for use with DOSContext_Save().
 
#define DOSMEMORYMAXSIZE_DPS_SESSION
 Potential maximum size of DPS Session.
 
#define DOSMEMORYMAXSIZE_LOCAL_OPERATION
 Maximum Operation size stored by a requestor application.
 
#define DOSMEMORYMAXSIZE_OAP_SESSION
 Potential maximum size of OAP Session.
 
#define DOSMEMORYMAXSIZE_OAP_SESSION_PROVIDE
 Potential maximum size of OAP Session Provide.
 
#define DOSMEMORYMAXSIZE_REMOTE_NODE_SECURITY_STATE
 Potential maximum size of Remote Node Security Data.
 
#define DOSMEMORYMAXSIZE_REMOTE_OPERATION
 Maximum Operation size stored by a provider application.
 
#define DOSMEMORYMAXSIZE_SID_CACHE_ENTRY
 Maximum sid cache entry size.
 
#define DOSMEMORYMAXSIZE_SUBSCRIBE_ITEM_ENTRY
 Maximum subscribe item entry size.
 
#define offsetof(type, member)
 Determine the offset of a member within a structure.
 

Typedefs

typedef DOSStatus(* DOSOpenSessionCallback )(DOSInterfaceID sessionType)
 A provider callback specifically for handling an OAP session request.
 
typedef DOSStatus(* DOSProviderCallback_Process )(void)
 Generic provider callback for handling a request.
 
typedef void(* DOSRequestorCallback_Process )(void)
 Generic requestor callback for handling a response.
 

Enumerations

enum  DOSMemoryHint {
  DOSMEMORYHINT_LOCAL_OPERATION,
  DOSMEMORYHINT_REMOTE_OPERATION,
  DOSMEMORYHINT_REMOTE_OPERATION_DELAYED,
  DOSMEMORYHINT_SUBSCRIBE_ITEM_ENTRY,
  DOSMEMORYHINT_CONTEXT_SAVE,
  DOSMEMORYHINT_SID_CACHE_ENTRY,
  DOSMEMORYHINT_DPS_SESSION ,
  DOSMEMORYHINT_REMOTE_NODE_SECURITY_STATE,
  DOSMEMORYHINT_SECURITY_OPERATION,
  DOSMEMORYHINT_OBJECTID,
  DOSMEMORYHINT_OAPSESSION
}
 Allocation hint identifiers. More...
 

Functions

void DOS_CancelAll (DOSObjectID sourceID)
 Send a Cancel All notification to the network, indicating that any operations with the the given Source ID should be cancelled.
 
DOSAddressDOS_GetAuthenticationAddress (void)
 Get the DOSAddress being used for authentication server traffic.
 
DOSDPSSession * DOS_GetAuthenticationSession (void)
 Get the DOSDPSSession being used to reach the authentication server.
 
DOSStatus DOS_Init (uint8 *sendBuffer, DOSBufferSize bufferSize)
 Initialize the COS.
 
void DOS_NodeDown (void)
 Send a Node Down notification to the network, indicating that any operations with the node's Source ID or originating from the node's transport address should be cancelled.
 
DOSStatus DOS_Process (void)
 Processes data received by the application transport.
 
DOSOperation DOS_ResolveCredentials (void)
 This creates an sends a request to resolve the security credentials, or this call will be used to rety the request.
 
void DOS_SetAuthenticationAddress (DOSAddress *address)
 There are two methods to indicate how the authentication server can be reached.
 
void DOS_SetAuthenticationSession (DOSDPSSession *session)
 There are two methods to indicate how the authentication server can be reached.
 
void DOS_Shutdown (void)
 Shutdown the COS.
 
uint8 DOS_TimeElapsed (uint16 msElapsed)
 Perform periodic COS timing and maintenance.
 
int DOSAddress_Compare (DOSAddress self, DOSAddress addr)
 Compare the two given address and return 0 if they are identical or non-zero if not.
 
DOSAddress DOSAddress_ConvertAddress (const uint8 *transportAddr)
 Convert a transport address into a DOSAddress.
 
void DOSContext_Clear (void)
 Reset the DOSContext back to default values.
 
void DOSContext_Restore (DOSContext_Saved context)
 Restores a context saved with DOSContext_Save().
 
DOSContext_Saved DOSContext_Save (void)
 Save context (including any data in the send buffer) so the application can make additional requests and/or send signal/change/advertise without losing the current context data.
 
void DOSContext_SetAddress (const uint8 *transportAddr)
 Convert a transport address and set in in DOSContext.
 
DOSStatus DOSProvider_Advertise (void)
 Advertise a binding.
 
void DOSProvider_Changed (DOSProperty *property)
 Notify any subscribers that a property changed.
 
void DOSProvider_SendErrorException (DOSErrorException except)
 Send an error exception as defined by the OpenDOF Protocol Specification (a DOSErrorException) back to the requestor.
 
void DOSProvider_SendProviderException (uint16 itemID)
 Send a provider exception back to the requestor.
 
DOSStatus DOSProvider_SessionProvide (void)
 Begin providing a binding for some OAP session.
 
void DOSProvider_Signal (DOSEvent *event)
 Signal all subscribers with a new event.
 
DOSStatus DOSRequestor_Activate (void)
 Express Activate-level interest for a binding.
 
void DOSRequestor_BeginProviderExclusion (void)
 Begin the exclusion list.
 
DOSStatus DOSRequestor_Cancel (void)
 Cancel an existing operation.
 
DOSStatus DOSRequestor_Connect (void)
 Express Connect-level interest for a binding.
 
void DOSRequestor_EndProviderExclusion (uint8 count)
 End the exclusion list.
 
void DOSRequestor_ExcludeProvider (DOSObjectID provider)
 Add the given Object ID to the exclusion list.
 
DOSStatus DOSRequestor_Get (void)
 Get a property from a provider.
 
DOSStatus DOSRequestor_Invoke (void)
 Invoke a method on a provider.
 
DOSStatus DOSRequestor_OpenSession (DOSInterfaceID sessionType, DOSObjectID *sessionObjectID)
 Attempt to open an OAP session with a remote node.
 
DOSStatus DOSRequestor_Register (void)
 Register for an event on a provider.
 
DOSStatus DOSRequestor_Set (void)
 Set a property on a provider.
 
DOSStatus DOSRequestor_Subscribe (uint16 minDelay)
 Subscribe to a property on a provider.
 
DOSStatus DOSRequestor_Watch (void)
 Express Watch-level interest for a binding.
 
DOSStatus DOSValue_Get_Array_Length (uint16 *array)
 Get the array element count.
 
DOSStatus DOSValue_Get_BLOB (uint32 *len, const uint8 **buf)
 Unmarshal a BLOB from the receive buffer.
 
DOSStatus DOSValue_Get_boolean (boolean *val)
 Unmarshal a boolean from the receive buffer.
 
DOSStatus DOSValue_Get_DateTime (DateTime *array)
 Unmarshal a DateTime from the receive buffer.
 
DOSStatus DOSValue_Get_float32 (float32 *val)
 Unmarshal a float32 from the receive buffer.
 
DOSStatus DOSValue_Get_float64 (float64 *val)
 Unmarshal a float64 from the receive buffer.
 
DOSStatus DOSValue_Get_int16 (int16 *val)
 Unmarshal an int16 from the receive buffer.
 
DOSStatus DOSValue_Get_int32 (int32 *val)
 Unmarshal an int32 from the receive buffer.
 
DOSStatus DOSValue_Get_int64 (int64 *val)
 Unmarshal an int64 from the receive buffer.
 
DOSStatus DOSValue_Get_int8 (int8 *val)
 Unmarshal an int8 from the receive buffer.
 
DOSStatus DOSValue_Get_InterfaceID (DOSInterfaceID *iid)
 Unmarshal an Interface ID from the receive buffer.
 
DOSStatus DOSValue_Get_Nullable (boolean *val)
 Unmarshal a Nullable flag (boolean) from the receive buffer.
 
DOSStatus DOSValue_Get_ObjectID (DOSObjectID *oid)
 Unmarshal an Object ID from the receive buffer.
 
DOSStatus DOSValue_Get_String (uint32 len, char *buf)
 Unmarshal a string from the receive buffer in standard C form (with a NULL terminating character).
 
DOSStatus DOSValue_Get_uint16 (uint16 *val)
 Unmarshal a uint16 from the receive buffer.
 
DOSStatus DOSValue_Get_uint32 (uint32 *val)
 Unmarshal a uint32 from the receive buffer.
 
DOSStatus DOSValue_Get_uint64 (uint64 *val)
 Unmarshal a uint64 from the receive buffer.
 
DOSStatus DOSValue_Get_uint8 (uint8 *val)
 Unmarshal a uint8 from the receive buffer.
 
DOSStatus DOSValue_Get_uuid (uuid *val)
 Unmarshal a UUID from the receive buffer.
 
DOSStatus DOSValue_Put_Array_Length (uint16 val)
 When marshaling an array, use this after all values are already marshaled (in reverse order) to indicate the element count.
 
DOSStatus DOSValue_Put_BLOB (uint32 len, const uint8 *data)
 Marshal a BLOB into the send buffer.
 
DOSStatus DOSValue_Put_boolean (boolean val)
 Marshal a boolean into the send buffer.
 
DOSStatus DOSValue_Put_DateTime (DateTime val)
 Marshal a DateTime into the send buffer.
 
DOSStatus DOSValue_Put_float32 (float32 val)
 Marshal a float32 into the send buffer.
 
DOSStatus DOSValue_Put_float64 (float64 val)
 Marshal a float64 into the send buffer.
 
DOSStatus DOSValue_Put_int16 (int16 val)
 Marshal an int16 into the send buffer.
 
DOSStatus DOSValue_Put_int32 (int32 val)
 Marshal an int32 into the send buffer.
 
DOSStatus DOSValue_Put_int64 (int64 val)
 Marshal an int64 into the send buffer.
 
DOSStatus DOSValue_Put_int8 (int8 val)
 Marshal an int8 into the send buffer.
 
DOSStatus DOSValue_Put_InterfaceID (DOSInterfaceID iid)
 Marshal an Interface ID into the send buffer.
 
DOSStatus DOSValue_Put_Nullable (boolean val)
 Marshal a nullable flag (boolean) into the send buffer.
 
DOSStatus DOSValue_Put_ObjectID (DOSObjectID oid)
 Marshal an Object ID into the send buffer.
 
DOSStatus DOSValue_Put_String (const char *string)
 Marshal a standard C string (with a NULL terminating character) into the send buffer.
 
DOSStatus DOSValue_Put_uint16 (uint16 val)
 Marshal a uint16 into the send buffer.
 
DOSStatus DOSValue_Put_uint32 (uint32 val)
 Marshal a uint32 into the send buffer.
 
DOSStatus DOSValue_Put_uint64 (uint64 val)
 Marshal a uint64 into the send buffer.
 
DOSStatus DOSValue_Put_uint8 (uint8 val)
 Marshal a uint8 into the send buffer.
 
DOSStatus DOSValue_Put_uuid (uuid val)
 Marshal a UUID into the send buffer.
 

Variables

struct DOSConfig DOSConfig
 Global DOS configuration structure.
 
struct DOSContext DOSContext
 Global DOS context.
 
struct DOSSecurityConfig DOSSecurityConfig
 Global DOS security configuration structure.
 

Detailed Description

Header file for the COS functions, defines and data types.

core-c-cos Version 7.0.1 Build 0
2018-02-08