This is Unofficial EPICS BASE Doxygen Site
caProto.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ca_hdr
 
struct  mon_info
 

Macros

#define capStrOf(A)   #A
 
#define capStrOfX(A)   capStrOf ( A )
 
#define CA_MAJOR_PROTOCOL_REVISION   4
 
#define CA_VERSION_STRING(MINOR_REVISION)   ( capStrOfX ( CA_MAJOR_PROTOCOL_REVISION ) "." capStrOfX ( MINOR_REVISION ) )
 
#define CA_UKN_MINOR_VERSION   0u /* unknown minor version */
 
#define CA_MINIMUM_SUPPORTED_VERSION   4u
 
#define CA_VSUPPORTED(MINOR)   ((MINOR)>=CA_MINIMUM_SUPPORTED_VERSION)
 
#define CA_V41(MINOR)   ((MINOR)>=1u)
 
#define CA_V42(MINOR)   ((MINOR)>=2u)
 
#define CA_V43(MINOR)   ((MINOR)>=3u)
 
#define CA_V44(MINOR)   ((MINOR)>=4u)
 
#define CA_V45(MINOR)   ((MINOR)>=5u)
 
#define CA_V46(MINOR)   ((MINOR)>=6u)
 
#define CA_V47(MINOR)   ((MINOR)>=7u)
 
#define CA_V48(MINOR)   ((MINOR)>=8u)
 
#define CA_V49(MINOR)   ((MINOR)>=9u) /* large arrays, dispatch priorities */
 
#define CA_V410(MINOR)   ((MINOR)>=10u) /* beacon counter */
 
#define CA_V411(MINOR)   ((MINOR)>=11u) /* sequence numbers in UDP version command */
 
#define CA_V412(MINOR)   ((MINOR)>=12u) /* TCP-based search requests */
 
#define CA_V413(MINOR)   ((MINOR)>=13u) /* Allow zero length in requests. */
 
#define CA_PORT_BASE   IPPORT_USERRESERVED + 56U
 
#define CA_SERVER_PORT   (CA_PORT_BASE+CA_MAJOR_PROTOCOL_REVISION*2u)
 
#define CA_REPEATER_PORT   (CA_PORT_BASE+CA_MAJOR_PROTOCOL_REVISION*2u+1u)
 
#define ETHERNET_MAX_UDP   ( 1500u - 20u - 8u )
 
#define MAX_UDP_RECV   ( 0xffff + 16u ) /* allow large frames to be received in the future */
 
#define MAX_UDP_SEND   1024u /* original MAX_UDP */
 
#define MAX_TCP   ( 1024 * 16u ) /* so waveforms fit */
 
#define MAX_MSG_SIZE   ( MAX_TCP ) /* the larger of tcp and udp max */
 
#define CA_PROTO_PRIORITY_MIN   0u
 
#define CA_PROTO_PRIORITY_MAX   99u
 
#define ca_uint32_max   0xffffffff
 
#define CA_PROTO_VERSION   0u /* set minor version and priority (used to be NOOP cmd) */
 
#define CA_PROTO_EVENT_ADD   1u /* add an event */
 
#define CA_PROTO_EVENT_CANCEL   2u /* cancel an event */
 
#define CA_PROTO_READ   3u /* read and return a channel value*/
 
#define CA_PROTO_WRITE   4u /* write a channel value */
 
#define CA_PROTO_SNAPSHOT   5u /* snapshot of the system */
 
#define CA_PROTO_SEARCH   6u /* IOC channel search */
 
#define CA_PROTO_BUILD   7u /* build - obsolete */
 
#define CA_PROTO_EVENTS_OFF   8u /* flow control */
 
#define CA_PROTO_EVENTS_ON   9u /* flow control */
 
#define CA_PROTO_READ_SYNC   10u /* purge old reads */
 
#define CA_PROTO_ERROR   11u /* an operation failed */
 
#define CA_PROTO_CLEAR_CHANNEL   12u /* free chan resources */
 
#define CA_PROTO_RSRV_IS_UP   13u /* CA server has joined the net */
 
#define CA_PROTO_NOT_FOUND   14u /* channel not found */
 
#define CA_PROTO_READ_NOTIFY   15u /* add a one shot event */
 
#define CA_PROTO_READ_BUILD   16u /* read and build - obsolete */
 
#define REPEATER_CONFIRM   17u /* registration confirmation */
 
#define CA_PROTO_CREATE_CHAN   18u /* client creates channel in server */
 
#define CA_PROTO_WRITE_NOTIFY   19u /* notify after write chan value */
 
#define CA_PROTO_CLIENT_NAME   20u /* CA V4.1 identify client */
 
#define CA_PROTO_HOST_NAME   21u /* CA V4.1 identify client */
 
#define CA_PROTO_ACCESS_RIGHTS   22u /* CA V4.2 asynch access rights chg */
 
#define CA_PROTO_ECHO   23u /* CA V4.3 connection verify */
 
#define REPEATER_REGISTER   24u /* register for repeater fan out */
 
#define CA_PROTO_SIGNAL   25u /* knock the server out of select */
 
#define CA_PROTO_CREATE_CH_FAIL   26u /* unable to create chan resource in server */
 
#define CA_PROTO_SERVER_DISCONN   27u /* server deletes PV (or channel) */
 
#define CA_PROTO_LAST_CMMD   CA_PROTO_SERVER_DISCONN
 
#define DOREPLY   10u
 
#define DONTREPLY   5u
 
#define sequenceNoIsValid   1
 
#define OCT_ROUND(A)   (((A)+7)/8)
 
#define OCT_SIZEOF(A)   (OCT_ROUND(sizeof(A)))
 
#define QUAD_ROUND(A)   ((A)+3)/4)
 
#define QUAD_SIZEOF(A)   (QUAD_ROUND(sizeof(A)))
 
#define BI_ROUND(A)   (((A)+1)/2)
 
#define BI_SIZEOF(A)   (BI_ROUND(sizeof(A)))
 
#define CA_PROTO_ACCESS_RIGHT_READ   (1u<<0u)
 
#define CA_PROTO_ACCESS_RIGHT_WRITE   (1u<<1u)
 
#define CA_MESSAGE_ALIGN(A)   (OCT_ROUND(A)<<3u)
 
#define unreasonablePVNameSize   500u
 

Typedefs

typedef unsigned char ca_uint8_t
 
typedef unsigned short ca_uint16_t
 
typedef unsigned int ca_uint32_t
 
typedef float ca_float32_t
 
typedef ca_uint32_t caResId
 
typedef struct ca_hdr caHdr
 

Macro Definition Documentation

#define BI_ROUND (   A)    (((A)+1)/2)

Definition at line 135 of file caProto.h.

#define BI_SIZEOF (   A)    (BI_ROUND(sizeof(A)))

Definition at line 136 of file caProto.h.

#define CA_MAJOR_PROTOCOL_REVISION   4

Definition at line 26 of file caProto.h.

#define CA_MESSAGE_ALIGN (   A)    (OCT_ROUND(A)<<3u)

Definition at line 154 of file caProto.h.

#define CA_MINIMUM_SUPPORTED_VERSION   4u

Definition at line 30 of file caProto.h.

#define CA_PORT_BASE   IPPORT_USERRESERVED + 56U

Definition at line 52 of file caProto.h.

#define CA_PROTO_ACCESS_RIGHT_READ   (1u<<0u)

Definition at line 143 of file caProto.h.

#define CA_PROTO_ACCESS_RIGHT_WRITE   (1u<<1u)

Definition at line 144 of file caProto.h.

#define CA_PROTO_ACCESS_RIGHTS   22u /* CA V4.2 asynch access rights chg */

Definition at line 105 of file caProto.h.

#define CA_PROTO_BUILD   7u /* build - obsolete */

Definition at line 90 of file caProto.h.

#define CA_PROTO_CLEAR_CHANNEL   12u /* free chan resources */

Definition at line 95 of file caProto.h.

#define CA_PROTO_CLIENT_NAME   20u /* CA V4.1 identify client */

Definition at line 103 of file caProto.h.

#define CA_PROTO_CREATE_CH_FAIL   26u /* unable to create chan resource in server */

Definition at line 109 of file caProto.h.

#define CA_PROTO_CREATE_CHAN   18u /* client creates channel in server */

Definition at line 101 of file caProto.h.

#define CA_PROTO_ECHO   23u /* CA V4.3 connection verify */

Definition at line 106 of file caProto.h.

#define CA_PROTO_ERROR   11u /* an operation failed */

Definition at line 94 of file caProto.h.

#define CA_PROTO_EVENT_ADD   1u /* add an event */

Definition at line 84 of file caProto.h.

#define CA_PROTO_EVENT_CANCEL   2u /* cancel an event */

Definition at line 85 of file caProto.h.

#define CA_PROTO_EVENTS_OFF   8u /* flow control */

Definition at line 91 of file caProto.h.

#define CA_PROTO_EVENTS_ON   9u /* flow control */

Definition at line 92 of file caProto.h.

#define CA_PROTO_HOST_NAME   21u /* CA V4.1 identify client */

Definition at line 104 of file caProto.h.

#define CA_PROTO_LAST_CMMD   CA_PROTO_SERVER_DISCONN

Definition at line 112 of file caProto.h.

#define CA_PROTO_NOT_FOUND   14u /* channel not found */

Definition at line 97 of file caProto.h.

#define CA_PROTO_PRIORITY_MAX   99u

Definition at line 67 of file caProto.h.

#define CA_PROTO_PRIORITY_MIN   0u

Definition at line 66 of file caProto.h.

#define CA_PROTO_READ   3u /* read and return a channel value*/

Definition at line 86 of file caProto.h.

#define CA_PROTO_READ_BUILD   16u /* read and build - obsolete */

Definition at line 99 of file caProto.h.

#define CA_PROTO_READ_NOTIFY   15u /* add a one shot event */

Definition at line 98 of file caProto.h.

#define CA_PROTO_READ_SYNC   10u /* purge old reads */

Definition at line 93 of file caProto.h.

#define CA_PROTO_RSRV_IS_UP   13u /* CA server has joined the net */

Definition at line 96 of file caProto.h.

#define CA_PROTO_SEARCH   6u /* IOC channel search */

Definition at line 89 of file caProto.h.

#define CA_PROTO_SERVER_DISCONN   27u /* server deletes PV (or channel) */

Definition at line 110 of file caProto.h.

#define CA_PROTO_SIGNAL   25u /* knock the server out of select */

Definition at line 108 of file caProto.h.

#define CA_PROTO_SNAPSHOT   5u /* snapshot of the system */

Definition at line 88 of file caProto.h.

#define CA_PROTO_VERSION   0u /* set minor version and priority (used to be NOOP cmd) */

Definition at line 83 of file caProto.h.

#define CA_PROTO_WRITE   4u /* write a channel value */

Definition at line 87 of file caProto.h.

#define CA_PROTO_WRITE_NOTIFY   19u /* notify after write chan value */

Definition at line 102 of file caProto.h.

#define CA_REPEATER_PORT   (CA_PORT_BASE+CA_MAJOR_PROTOCOL_REVISION*2u+1u)

Definition at line 54 of file caProto.h.

#define CA_SERVER_PORT   (CA_PORT_BASE+CA_MAJOR_PROTOCOL_REVISION*2u)

Definition at line 53 of file caProto.h.

#define ca_uint32_max   0xffffffff

Definition at line 80 of file caProto.h.

#define CA_UKN_MINOR_VERSION   0u /* unknown minor version */

Definition at line 29 of file caProto.h.

#define CA_V41 (   MINOR)    ((MINOR)>=1u)

Definition at line 32 of file caProto.h.

#define CA_V410 (   MINOR)    ((MINOR)>=10u) /* beacon counter */

Definition at line 41 of file caProto.h.

#define CA_V411 (   MINOR)    ((MINOR)>=11u) /* sequence numbers in UDP version command */

Definition at line 42 of file caProto.h.

#define CA_V412 (   MINOR)    ((MINOR)>=12u) /* TCP-based search requests */

Definition at line 43 of file caProto.h.

#define CA_V413 (   MINOR)    ((MINOR)>=13u) /* Allow zero length in requests. */

Definition at line 44 of file caProto.h.

#define CA_V42 (   MINOR)    ((MINOR)>=2u)

Definition at line 33 of file caProto.h.

#define CA_V43 (   MINOR)    ((MINOR)>=3u)

Definition at line 34 of file caProto.h.

#define CA_V44 (   MINOR)    ((MINOR)>=4u)

Definition at line 35 of file caProto.h.

#define CA_V45 (   MINOR)    ((MINOR)>=5u)

Definition at line 36 of file caProto.h.

#define CA_V46 (   MINOR)    ((MINOR)>=6u)

Definition at line 37 of file caProto.h.

#define CA_V47 (   MINOR)    ((MINOR)>=7u)

Definition at line 38 of file caProto.h.

#define CA_V48 (   MINOR)    ((MINOR)>=8u)

Definition at line 39 of file caProto.h.

#define CA_V49 (   MINOR)    ((MINOR)>=9u) /* large arrays, dispatch priorities */

Definition at line 40 of file caProto.h.

#define CA_VERSION_STRING (   MINOR_REVISION)    ( capStrOfX ( CA_MAJOR_PROTOCOL_REVISION ) "." capStrOfX ( MINOR_REVISION ) )

Definition at line 27 of file caProto.h.

#define CA_VSUPPORTED (   MINOR)    ((MINOR)>=CA_MINIMUM_SUPPORTED_VERSION)

Definition at line 31 of file caProto.h.

#define capStrOf (   A)    #A

Definition at line 19 of file caProto.h.

#define capStrOfX (   A)    capStrOf ( A )

Definition at line 20 of file caProto.h.

#define DONTREPLY   5u

Definition at line 119 of file caProto.h.

#define DOREPLY   10u

Definition at line 118 of file caProto.h.

#define ETHERNET_MAX_UDP   ( 1500u - 20u - 8u )

Definition at line 60 of file caProto.h.

#define MAX_MSG_SIZE   ( MAX_TCP ) /* the larger of tcp and udp max */

Definition at line 64 of file caProto.h.

#define MAX_TCP   ( 1024 * 16u ) /* so waveforms fit */

Definition at line 63 of file caProto.h.

#define MAX_UDP_RECV   ( 0xffff + 16u ) /* allow large frames to be received in the future */

Definition at line 61 of file caProto.h.

#define MAX_UDP_SEND   1024u /* original MAX_UDP */

Definition at line 62 of file caProto.h.

#define OCT_ROUND (   A)    (((A)+7)/8)

Definition at line 127 of file caProto.h.

#define OCT_SIZEOF (   A)    (OCT_ROUND(sizeof(A)))

Definition at line 128 of file caProto.h.

#define QUAD_ROUND (   A)    ((A)+3)/4)

Definition at line 131 of file caProto.h.

#define QUAD_SIZEOF (   A)    (QUAD_ROUND(sizeof(A)))

Definition at line 132 of file caProto.h.

#define REPEATER_CONFIRM   17u /* registration confirmation */

Definition at line 100 of file caProto.h.

#define REPEATER_REGISTER   24u /* register for repeater fan out */

Definition at line 107 of file caProto.h.

#define sequenceNoIsValid   1

Definition at line 124 of file caProto.h.

#define unreasonablePVNameSize   500u

Definition at line 183 of file caProto.h.

Typedef Documentation

typedef float ca_float32_t

Definition at line 77 of file caProto.h.

typedef unsigned short ca_uint16_t

Definition at line 75 of file caProto.h.

typedef unsigned int ca_uint32_t

Definition at line 76 of file caProto.h.

typedef unsigned char ca_uint8_t

Definition at line 74 of file caProto.h.

typedef struct ca_hdr caHdr

Definition at line 78 of file caProto.h.