If the CA client library does not see a beacon from a server that it is
-connected to for EPICS_CA_CONN_TMO seconds then an echo message is sent to the
-server over TCP/IP. If this echo message isn't promptly replied to then the
-client will assume that the server is no longer present on the network and
-disconnect. Disconnecting implies notification of client side application
+connected to for EPICS_CA_CONN_TMO seconds then an echo message is sent to
+the server over TCP/IP. If this echo message isn't promptly replied to then
+the client will assume that the server is no longer present on the network
+and disconnect. Disconnecting implies notification of client side application
programs. The parameter EPICS_CA_CONN_TMO is specified in floating point
seconds. The default is typically 15.0 seconds.
When a CA server initializes it sends "beacon" messages to each address
specified in EPICS_CA_ADDR_LIST, and also any addresses auto configured from
-network interfaces found, with a short period between "beacons". However, this
-period is doubled each time that a "beacon" is sent until a plateau specified
-by EPICS_CA_BEACON_PERIOD is reached. This parameter is specified in floating
-point seconds. For efficient operation it is recommended that
+network interfaces found, with a short period between "beacons". However,
+this period is doubled each time that a "beacon" is sent until a plateau
+specified by EPICS_CA_BEACON_PERIOD is reached. This parameter is specified
+in floating point seconds. For efficient operation it is recommended that
EPICS_CA_BEACON_PERIOD be set to at least one half of the value specified for
EPICS_CA_CONN_TMO.
@@ -447,16 +449,16 @@ EPICS_CA_CONN_TMO.
While the CA client library does not translate in between the local time
and the time zone independent internal storage of EPICS time stamps, many
EPICS client side applications call core EPICS libraries which provide these
services. To set the correct time zone users must compute the number of
-positive minutes west of GMT (maximum 720 inclusive) or the negative number of
-minutes east of GMT (minimum -720 inclusive). This integer value is then
+positive minutes west of GMT (maximum 720 inclusive) or the negative number
+of minutes east of GMT (minimum -720 inclusive). This integer value is then
placed in the variable EPICS_TS_MIN_WEST.
@@ -509,10 +511,10 @@ placed in the variable EPICS_TS_MIN_WEST.
The environment variable EPICS_CA_MAX_ARRAY_BYTES determines the size of
the largest array that may pass through CA. This parameter must be set
appropriately for both the CA client and the CA server. In EPICS R3.14 CA
-maintains a free list of 16384 byte network buffers that are used for ordinary
-communication. If EPICS_CA_MAX_ARRAY_BYTES is larger than 16384 then a second
-free list of larger data buffers is established when clients request
-transportation of large arrays.
+maintains a free list of 16384 byte network buffers that are used for
+ordinary communication. If EPICS_CA_MAX_ARRAY_BYTES is larger than 16384
+then a second free list of larger data buffers is established when clients
+request transportation of large arrays.
@@ -548,23 +550,23 @@ transportation of large arrays.
The server must build a list of addresses to send beacons to. If
EPICS_CA_AUTO_ADDR_LIST has the value "YES" then the beacon address list will
-contain at least the broadcast address of all LAN interfaces found in the host
-and the destination address of all point-to-point interfaces found in the
-host. If EPICS_CAS_BEACON_ADDR_LIST is defined then its contents will be used
-to augment this list. Otherwise, if EPICS_CA_ADDR_LIST is define its contents
-will be used to augment this list.
+contain at least the broadcast address of all LAN interfaces found in the
+host and the destination address of all point-to-point interfaces found in
+the host. If EPICS_CAS_BEACON_ADDR_LIST is defined then its contents will be
+used to augment this list. Otherwise, if EPICS_CA_ADDR_LIST is define its
+contents will be used to augment this list.
Function Call Interface General Guidelines
If successful, the routines described here return the status code
ECA_NORMAL. Unsuccessful status codes returned from the client library are
-listed with each routine in this manual. Operations that appear to be valid to
-the client can still fail in the server. Writing the string "off" to a
+listed with each routine in this manual. Operations that appear to be valid
+to the client can still fail in the server. Writing the string "off" to a
floating point field is an example of this type of error. If the server for a
channel is located in a different address space than the client then the
-ca_xxx() operations that communicate with the server returns status indicating
-the validity of the request and whether it was successfully enqueued to the
-server.
+ca_xxx() operations that communicate with the server returns status
+indicating the validity of the request and whether it was successfully
+enqueued to the server.
Significant performance gains may be realized if we don't wait for a
response to return from the server after each request. All requests which
@@ -583,16 +585,17 @@ properties such as units, limits, time stamp, or alarm status.
Certain CA client initiated requests asynchronously execute an application
supplied call back in the client when a response arrives. The functions
-ca_put_callback, ca_get_callback, and ca_add_event all request notification of
-asynchronous completion via this mechanism. The structure "event_handler_args"
-is passed to the application supplied callback. In this structure the field
-"dbr" is a void pointer to any data that might be returned. The field "status"
-will be set to one of the CA error codes in caerr.h and will indicate the
-status of the operation performed in the IOC. If the status field isn't set to
-ECA_NORMAL or data isn't normally returned from the operation (i.e. put call
-back) then you should expect that the field "dbr" will be set to NULL. The
-fields "usr", "chid", "type", and "count" are set to the values specified when
-the operation was initiated by the application.
+ca_put_callback, ca_get_callback, and ca_add_event all request notification
+of asynchronous completion via this mechanism. The structure
+"event_handler_args" is passed to the application supplied callback. In this
+structure the field "dbr" is a void pointer to any data that might be
+returned. The field "status" will be set to one of the CA error codes in
+caerr.h and will indicate the status of the operation performed in the IOC.
+If the status field isn't set to ECA_NORMAL or data isn't normally returned
+from the operation (i.e. put call back) then you should expect that the field
+"dbr" will be set to NULL. The fields "usr", "chid", "type", and "count" are
+set to the values specified when the operation was initiated by the
+application.
struct event_handler_args {
void *usr; /* user argument supplied when event added */
chid chid; /* channel id */
@@ -619,35 +622,36 @@ access is to write a value of type DBR_XXXX. Care should be taken to ensure
that you have reserved space of sufficient size. Architecture independent
types are provided in db_access.h to assist programmers in writing portable
code. For example "dbr_short_t" should be used to send or receive type
-DBR_SHORT. The dbr type size returning MACROS provided in db_access.h may also
-be used.
+DBR_SHORT. The dbr type size returning MACROS provided in db_access.h may
+also be used.
For routines that require an argument specifying the number of array
-elements, no more than the process variable's maximum native element count may
-be requested. The process variable's maximum native element count is available
-from ca_element_count() when the channel is connected. If less elements than
-the process variable's native element count are requested the requested values
-will be fetched beginning at element zero. By default CA limits the number of
-elements in an array to be no more than approximately 16k divided by the size
-of one element in the array. Starting with EPICS R3.14 the maximum array size
-may be configured in the client and in the server.
+elements, no more than the process variable's maximum native element count
+may be requested. The process variable's maximum native element count is
+available from ca_element_count() when the channel is connected. If less
+elements than the process variable's native element count are requested the
+requested values will be fetched beginning at element zero. By default CA
+limits the number of elements in an array to be no more than approximately
+16k divided by the size of one element in the array. Starting with EPICS
+R3.14 the maximum array size may be configured in the client and in the
+server.
Channel connections through the network are inherently transient. Channels
are always initially assumed to be disconnected. A connection state change
call back function may be installed to be run whenever a channel connects or
disconnects. If a connection state change call back function is not installed
-(if a nil function pointer is supplied) then the user must wait for successful
-status from ca_pend_io prior to using the channel for the first time. Once the
-channel connects the user can freely perform IO operations through the
-channel, but he should expect that the channel might disconnect at any time
-due to network interruptions or server restarts. Otherwise, if a connection
-state change call back function is supplied, one of the arguments to this
-function distinguishes between connect and disconnect events. If a connection
-state change call back function is installed on a particular channel by the
-user ca_pend_io will not block for the channel to connect. The user's
-connection state change function will be run immediately when the channel is
-created if the CA client and the server are both hosted in the same address
-space (IOC).
+(if a nil function pointer is supplied) then the user must wait for
+successful status from ca_pend_io prior to using the channel for the first
+time. Once the channel connects the user can freely perform IO operations
+through the channel, but he should expect that the channel might disconnect
+at any time due to network interruptions or server restarts. Otherwise, if a
+connection state change call back function is supplied, one of the arguments
+to this function distinguishes between connect and disconnect events. If a
+connection state change call back function is installed on a particular
+channel by the user ca_pend_io will not block for the channel to connect. The
+user's connection state change function will be run immediately when the
+channel is created if the CA client and the server are both hosted in the
+same address space (IOC).
Starting with EPICS R3.14 the CA client libraries are fully thread safe on
all OS (in past releases the library was thread safe only on vxWorks). When
@@ -661,10 +665,10 @@ initiating channel access thread is executing inside of the CA client
library.
If preemptive call back is not enabled, then for proper operation CA must
-periodically be polled to take care of background activity. This requires that
-your application must either wait in one of ca_pend_event(), ca_pend_io(), or
-ca_sg_block() or alternatively it must call ca_poll() every 100
-milli-seconds.
+periodically be polled to take care of background activity. This requires
+that your application must either wait in one of ca_pend_event(),
+ca_pend_io(), or ca_sg_block() or alternatively it must call ca_poll() every
+100 milli-seconds.
When CA invokes a user's call back function it will always wait for the
callback to run to completion prior to executing another call back
@@ -672,9 +676,9 @@ function.
The error number and the error severity are embedded in CA status (error)
constants. Applications shouldn't test the success of a CA function call by
-checking to see if the returned value is zero as is the UNIX convention. Below
-are several methods to test CA function returns. See ca_signal() on page 24
-for more information on this topic.
+checking to see if the returned value is zero as is the UNIX convention.
+Below are several methods to test CA function returns. See ca_signal() on
+page 24 for more information on this topic.
status = ca_XXXX();
SEVCHK( status, "ca_XXXX() returned failure status");
@@ -704,10 +708,10 @@ channel access calls.
SELECT
Specifies if preemptive calback is allowed. If it is allowed your
- callbacks might be called when the thread that calls this routine is not
- executing in the CA client library. Programmers who are unfamiliar with
- mutual exclusion locking in a multi-threaded environment should specify
- ca_disable_preemptive_callback.
+ callbacks might be called when the thread that calls this routine is
+ not executing in the CA client library. Programmers who are unfamiliar
+ with mutual exclusion locking in a multi-threaded environment should
+ specify ca_disable_preemptive_callback.
@@ -727,8 +731,9 @@ channel access calls.
Description
-Shut down a channel access client context and free any resources allocated.
-On most operating systems this is performed automatically at process exit.
+Shut down a channel access client context and free any resources
+allocated. On most operating systems this is performed automatically at
+process exit.
Returns
@@ -738,77 +743,71 @@ On most operating systems this is performed automatically at process exit.
ca_context_create()
-
+
#include <cadef.h>
typedef void ( *pCallBack ) (
struct connection_handler_args );
-int ca_search_and_connect (
- const char *PROCESS_VARIABLE_NAME,
- chid *PCHID;,
- pCallBack USERFUNC,
- void *PUSER );
-int ca_search (
- const char *PROCESS_VARIABLE_NAME,
- chid *PCHID );
+int epicsShareAPI ca_create_channel
+(
+ const char *PROCESS_VARIABLE_NAME,
+ caCh *USERFUNC,
+ void *PUSER,
+ capri priority,
+ chid *PCHID
+);
Description
-Create a CA channel. This function requests that the CA library should
-attempt to establish and maintain a virtual circuit between the caller's
-application and a named process variable in a CA server. Each call to
-ca_search() allocates resources in the CA client library and potentially also
-a CA server. The function ca_clear_channel() is used to release these
-resources. If successful, the routine writes a channel identifier into the
-user supplied variable of type "chid". This identifier can be used with any
-channel access call that operates on a channel.
+This function creates a CA channel. The CA client library will attempt to
+establish and maintain a virtual circuit between the caller's application and
+a named process variable in a CA server. Each call to ca_create_channel
+allocates resources in the CA client library and potentially also a CA
+server. The function ca_clear_channel() is used to release these resources.
+If successful, the routine writes a channel identifier into the user's
+variable of type "chid". This identifier can be used with any channel access
+call that operates on a channel.
The circuit may be initially connected or disconnected depending on the
state of the network and the location of the channel. A channel will
-only enter a connected state after server's address is determined, and only if
-channel access successfully establishes a virtual circuit through the network
-to the server. Channel access routines that send a request to a server will
-return ECA_DISCONNCHID if the channel is currently disconnected.
+only enter a connected state after server's address is determined, and only
+if channel access successfully establishes a virtual circuit through the
+network to the server. Channel access routines that send a request to a
+server will return ECA_DISCONNCHID if the channel is currently
+disconnected.
There are two ways to obtain asynchronous notification when a channel
enters a connected state.
- The first and simplest method requires that you call ca_pend_io(), and
wait for successful completion, prior to using a channel that was created
- will a nil connection call back handler installed ( or by calling
- ca_search() ).
- - The second method requires that you establish a connection handler by
- supplying a non-zero connection callback function. This connection handler
- is called whenever the connection state of the channel changes. If you
- have installed a connection handler then ca_pend_io() will not
- block waiting for the channel to enter a connected state.
+ specifying a nil connection call back function pointer.
+ - The second method requires that you register a connection handler by
+ supplying a valid connection callback function pointer. This connection
+ handler is called whenever the connection state of the channel changes.
+ If you have installed a connection handler then ca_pend_io() will
+ not block waiting for the channel to enter a connected
+ state.
The function ca_state(CHID) can be used to test the connection state of a
channel. Valid connections may be isolated from invalid ones with this
function if ca_pend_io() times out.
-Due to the inherently transient nature of network connections CA will not
-guarantee the order of connection call backs relative to the order that
-ca_search() calls are made by the application, and CA will not guarantee that
-once a channel enters a connected state that it will remain connected.
-
-A better name for this function would be ca_create_channel().
+Due to the inherently transient nature of network connections the order of
+connection call backs relative to the order that ca_create_channel() calls
+are made by the application can't be guaranteed, and application programs may
+need to be prepared for a connected channel to enter a disconnected state at
+any time.
Arguments
PROCESS_VARIABLE_NAME
- A nilerminated process variable name string. EPICS process control
- function block database variable names are of the form "<record
- name>.<field name>". If the field name and the period separator
- are omitted then the "VAL" field is implicit. For example "RFHV01" and
- "RFHV01.VAL" reference the same EPICS process control function block
- database variable
-
-
-
- PCHID
- The user supplied channel identifier storage is overwritten with a
- channel identifier if this routine is successful.
+ A nil terminated process variable name string. EPICS process
+ control function block database variable names are of the form
+ "<record name>.<field name>". If the field name and the
+ period separator are omitted then the "VAL" field is implicit. For
+ example "RFHV01" and "RFHV01.VAL" reference the same EPICS process
+ control function block database variable.
@@ -820,13 +819,26 @@ once a channel enters a connected state that it will remain connected.
- - PUSER
+ PUSER
The value of this void pointer argument is retained in
storage associated with the specified channel. See the MACROS manual
page for reading and writing this field. Casual users of channel access
may wish to set this field to nil or 0.
+
+ PRIORITY
+
+ - The priority level for dispatch within the server and the network in
+ the range 0 through 99. This parameter is ignored if the server is
+ running on a network or operating system that does not have native
+ support for prioritized delivery or execution respectively.
+
+
+ PCHID
+ - The user supplied channel identifier storage is overwritten with a
+ channel identifier if this routine is successful.
+
Returns
@@ -845,7 +857,7 @@ once a channel enters a connected state that it will remain connected.
Description
Shutdown and reclaim resources associated with a channel created by
-ca_search or ca_search_and_connect.
+ca_create_channel().
All remote operation requests such as the above are accumulated (buffered)
and not forwarded to the IOC until one of ca_flush_io, ca_pend_io,
@@ -892,17 +904,18 @@ subscriptions
When ca_array_put or ca_put are invoked the client will receive no
response unless the request can not be fulfilled in the server. If
unsuccessful an exception handler is run on the client side. If a connection
-is lost and then resumed outstanding ca_array_put or ca_put requests are not
-automatically reissued following reconnect, and no additional notification are
-provided to the user for each put request.
+is lost and then resumed outstanding ca_array_put or ca_put requests are
+not automatically reissued following reconnect, and no additional
+notification are provided to the user for each put request.
When ca_array_put_callback are invoked the user supplied asynchronous call
back is called only after the initiated write operation and all actions
resulting from the initiating write operation complete. If unsuccessful the
call back function is invoked indicating bad status. If the channel
disconnects before a put callback request can be completed, then the client's
-call back function is called with bad status, but this does not gaurantee that
-the server did not receive and process the request before it disconnected.
+call back function is called with bad status, but this does not gaurantee
+that the server did not receive and process the request before it
+disconnected.
All put requests are accumulated (buffered) and not forwarded to the IOC
until one of ca_flush_io, ca_pend_io, ca_pend_event, or ca_sg_pend are calle.
@@ -985,20 +998,20 @@ ca_flush_io()
Read a scalar or array value from a process variable.
When ca_get or ca_array_get are invoked the returned channel value cant be
-assumed to be stable in the application supplied buffer until after ECA_NORMAL
-is returned from ca_pend_io. If a connection is lost outstanding get requests
-are not automatically reissued following reconnect.
+assumed to be stable in the application supplied buffer until after
+ECA_NORMAL is returned from ca_pend_io. If a connection is lost outstanding
+get requests are not automatically reissued following reconnect.
When ca_get_callback or ca_array_get_callback are invoked a value is read
-from the channel and then the user's callback is invoked with a pointer to the
-retrieved value. Note that ca_pend_io will not block for the delivery of
+from the channel and then the user's callback is invoked with a pointer to
+the retrieved value. Note that ca_pend_io will not block for the delivery of
values requested by ca_get_callback. If the channel disconnects before a get
callback request can be completed, then the clients call back function is
called with bad status.
All get requests are accumulated (buffered) and not forwarded to the IOC
-until one of ca_flush_io, ca_pend_io, ca_pend_event, or ca_sg_pend are called.
-This allows several requests to be efficiently sent over the network in one
-message.
+until one of ca_flush_io, ca_pend_io, ca_pend_event, or ca_sg_pend are
+called. This allows several requests to be efficiently sent over the network
+in one message.
Arguments
@@ -1010,8 +1023,8 @@ message.
COUNT
- Element count to be read from the specified channel. Must match the
- array pointed to by PVALUE.
+ Element count to be read from the specified channel. Must match
+ the array pointed to by PVALUE.
@@ -1105,17 +1118,17 @@ over the network in one message.
If at any time after subscribing, read access to the specified process
variable is lost, then the call back will be invoked immediately indicating
that read access was lost via the status argument. When read access is
-restored normal event processing will resume starting always with at least one
-update indicating the current state of the channel.
+restored normal event processing will resume starting always with at
+least one update indicating the current state of the channel.
A better name for this function might have been ca_subscribe.
Arguments
TYPE
- - The type of value presented to the call back funstion. Conversion will
- occur if it does not match native type. Specify one from the set of
- DBR_XXXX in db_access.h
+ - The type of value presented to the call back funstion. Conversion
+ will occur if it does not match native type. Specify one from the set
+ of DBR_XXXX in db_access.h
COUNT
@@ -1210,44 +1223,43 @@ efficiently sent together in one message.
ECA_BADCHID - Corrupted CHID SEE ALSO ca_add_event()
-ca_pend_io()
+
#include <cadef.h>
int ca_pend_io ( double TIMEOUT );
Description
-This function flushes the send buffer and then waits until outstanding ca_get, and possibly also ca_search requests, complete or the specified time out
-expires.
+This function flushes the send buffer and then blocks until outstanding ca_get requests complete, and until channels created
+specifying nill connection handler function pointers connect for the first
+time.
- If ECA_NORMAL is returned then it can be safely assumed that all
- outstanding ca_get, and possibly also ca_search requests, have completed
- successfully.
+ outstanding ca_get requests have completed
+ successfully and channels created specifying nill connection handler
+ function pointers have connected for the first time.
- If ECA_TIMEOUT is returned then it must be assumed for all previous ca_get, and possibly also ca_search requests, requests have failed.
+ href="#ca_get">ca_get requests and properly qualified first time
+ channel connects have failed.
If ECA_TIMEOUT is returned then get requests may be reissued followed by a
-subsequent call to ca_pend_io. Specifically, the function will block only for
-outstanding outstanding ca_get, and possibly also ca_search requests issued after the last call to
-ca_pend_io() or issued after ca client context initialization whichever is
-later. In contrast, a ca_search request should not be
+subsequent call to ca_pend_io(). Specifically, the function will block only
+for outstanding outstanding ca_get requests issued, and
+also any channels created specifying a nill connection handler function
+pointer, after the last call to ca_pend_io() or ca client context creation
+whichever is later. Note that ca_create_channel requests should not be
reissued unless ca_clear_channel is called
first.
-If no ca_get, and possibly also ca_search requests, are outstanding then ca_pend_io()
-will flush the send buffer and return immediately without processing any
-outstanding channel access background activities.
+If no ca_get or connection state change events are
+outstanding then ca_pend_io() will flush the send buffer and return
+immediately without processing any outstanding channel access background
+activities.
-The delay specified to ca_pend_io() should be long enough to take care of
-what needs to be done taking into account worst case network delays. If
-requests are timing out during situations when the network isn't broken then
-you may need to increase the specified time-out.
+The delay specified to ca_pend_io() should take into account worst case
+network delays such as Ethernet collision backoff and retransmission.
Arguments
@@ -1265,21 +1277,22 @@ you may need to increase the specified time-out.
See Also
ca_get()
-ca_search()
+ca_create_channel()
ca_test_io()
-ca_test_io()
+
#include <cadef.h>
int ca_test_io();
Description
-This function tests to see if any ca_get, and
-possibly also ca_search requests, are incomplete. It
-will report the status of outstanding ca_get, and
-possibly also ca_search requests, issued after the
-last call to ca_pend_io() or CA context initialization whichever is later.
+This function tests to see if all ca_get requests
+are complete and channels created specifying a nill connection callback
+function pointer are connected. It will report the status of outstanding ca_get requests issued, and channels created specifying a
+nill connection callback function pointer, after the last call to
+ca_pend_io() or CA context initialization whichever is later.
Returns
@@ -1349,12 +1362,12 @@ becomes full.
Provide the error message character string associated with the supplied
channel access error code and the supplied error context to diagnostics. If
-the error code indicates an unsuccessful operation a stack dump is printed, if
-this capability is available on the local operating system, and execution is
-terminated.
+the error code indicates an unsuccessful operation a stack dump is printed,
+if this capability is available on the local operating system, and execution
+is terminated.
-SEVCHK is a macro envelope around ca_signal which only calls ca_signal() if
-the supplied error code indicates an unsuccessful operation. SEVCHK is the
+
SEVCHK is a macro envelope around ca_signal which only calls ca_signal()
+if the supplied error code indicates an unsuccessful operation. SEVCHK is the
recommended error handler for simple applications which do not wish to write
code testing the status returned from each channel access call.
@@ -1402,9 +1415,9 @@ the error condition is severe.
Note that certain fields in "struct exception_handler_args" are not
applicable in the context of some error messages. For instance, a failed get
-will supply the address in the client taskwhere thereturned value wasrequested
-tobe written. For other failed operations the value of the addr field should
-not be used.
+will supply the address in the client taskwhere thereturned value
+wasrequested tobe written. For other failed operations the value of the addr
+field should not be used.
Arguments
@@ -1459,9 +1472,9 @@ default handler uses fprintf to send messages to 'stderr'.
Arguments
PFUNC
- The address of a user supplied call back handler to be invoked when
- CA prints diagnostic messages. Installing a nil pointer will cause the
- default call back handler to be reinstalled.
+ The address of a user supplied call back handler to be invoked
+ when CA prints diagnostic messages. Installing a nil pointer will cause
+ the default call back handler to be reinstalled.
@@ -1485,8 +1498,8 @@ default handler uses fprintf to send messages to 'stderr'.
Description
-Install or replace the access rights state change call back handler for the
-specified channel.
+Install or replace the access rights state change call back handler for
+the specified channel.
The call back handler is called in the following situations.
@@ -1566,8 +1579,8 @@ channel.
Returns
COUNT
- The maximum array element count in the server. An element count of
- zero is returned if the channel is disconnected.
+ The maximum array element count in the server. An element count
+ of zero is returned if the channel is disconnected.
@@ -1602,8 +1615,8 @@ created.
Description
-Set a user private void pointer variable retained with each channel for use
-at the users discretion.
+Set a user private void pointer variable retained with each channel for
+use at the users discretion.
Arguments
@@ -1653,8 +1666,8 @@ use at the users discretion.
Description
-Returns an enumerated type indicating the current state of the specified IO
-channel.
+Returns an enumerated type indicating the current state of the specified
+IO channel.
Arguments
@@ -1841,8 +1854,8 @@ field is returned otherwise the size of the type is returned.
Returns
SIZE
- the size in bytes of the value field if the type is a structure and
- otherwise the size in bytes of the type
+ the size in bytes of the value field if the type is a structure
+ and otherwise the size in bytes of the type
@@ -1880,8 +1893,8 @@ be used to block for and test for completion respectively. The routine
ca_sg_reset() is used to discard knowledge of old requests which have timed
out and in all likelihood will never be satisfied.
-Any number of asynchronous groups can have application requested operations
-outstanding within them at any given time.
+Any number of asynchronous groups can have application requested
+operations outstanding within them at any given time.
Arguments
@@ -1956,9 +1969,9 @@ calls to ca_sg_array_get() and calls to ca_sg_array_put(). If ECA_TIMEOUT is
returned then failure must be assumed for all outstanding queries. Operations
can be reissued followed by another ca_sg_block(). This routine will only
block on outstanding queries issued after the last call to ca_sg_block(),
-ca_sg_reset(), or ca_sg_create() whichever occurs later in time. If no queries
-are outstanding then ca_sg_block() will return immediately without processing
-any pending channel access activities.
+ca_sg_reset(), or ca_sg_create() whichever occurs later in time. If no
+queries are outstanding then ca_sg_block() will return immediately without
+processing any pending channel access activities.
Values written into your program's variables by a channel access
synchronous group request should not be referenced by your program until
@@ -2093,8 +2106,8 @@ reissued.
PVALUE
- A pointer to an application supplied buffer containing the value or
- array of valuesReturns
+ A pointer to an application supplied buffer containing the value
+ or array of valuesReturns
@@ -2129,9 +2142,9 @@ reissued.
Read a value from a channel and increment the outstanding request count of
a synchronous group.
-The values written into your program's variables by ca_sg_get should not be
-referenced by your program until ECA_NORMAL has been received from ca_sg_block
-, or until ca_sg_test returns ECA_IODONE.
+The values written into your program's variables by ca_sg_get should not
+be referenced by your program until ECA_NORMAL has been received from
+ca_sg_block , or until ca_sg_test returns ECA_IODONE.
All remote operation requests such as the above are accumulated (buffered)
and not forwarded to the server until one of ca_flush_io, ca_pend_io,
@@ -2149,8 +2162,8 @@ reissued.
TYPE
- External type of returned value. Conversion will occur if this does
- not match native type. Specify one from the set of DBR_XXXX in
+
External type of returned value. Conversion will occur if this
+ does not match native type. Specify one from the set of DBR_XXXX in
db_access.h
@@ -2167,8 +2180,8 @@ reissued.
PVALUE
- Pointer to application supplied buffer that is to contain the value
- or array of values to be returned
+ Pointer to application supplied buffer that is to contain the
+ value or array of values to be returned
@@ -2244,44 +2257,6 @@ returned.
ca_current_context()
-
-
-
-
#include <cadef.h>
-int ca_task_initialize();
-
-Description
-
-This function should be called once prior to making any of the other
-channel access calls.
-
-Returns
-
-ECA_NORMAL - Normal successful completion
-
-ECA_ALLOCMEM - Failed, unable to allocate space in pool
-
-See Also
-
-ca_task_exit()
-
-ca_task_exit()
-#include <cadef.h>
-int ca_task_exit();
-
-Description
-
-Shut down a channel access client context and free any resources allocated.
-On most operating systems this is performed automatically at process exit.
-
-Returns
-
-ECA_NORMAL - Normal successful completion
-
-See Also
-
-ca_task_initialize()
-
@@ -2289,7 +2264,7 @@ On most operating systems this is performed automatically at process exit.
Description
-Channel access Client Library regression test.
+Channel Access Client Library regression test.
Test failure is indicated if the program stops prior to printing "test
complete". If unspecified, the channel duplication count is 20000. If
@@ -2316,16 +2291,16 @@ channel names in the test are numbered as follows.
CA server "beacon anomaly" logging.
CA server beacon anomalies occur when a new server joins the network, a
-server is rebooted, network connectivity to a server is reestablished, or if a
-server's CPU exits a CPU load saturated state.
+server is rebooted, network connectivity to a server is reestablished, or if
+a server's CPU exits a CPU load saturated state.
CA clients with unresolved channels reset their search request schedualing
timers whenever they see a beacon anomaly.
This program can be useful to verify that configuration problems have not
resulted in false beacon anomalies that might cause CA to use unnecessary
-additional network bandwidth and server CPU load when searching for unresolved
-channels.
+additional network bandwidth and server CPU load when searching for
+unresolved channels.
@@ -2341,8 +2316,8 @@ channels.
Description
-If a value is specified it is written to the PV. Next, the current value of
-the PV is converted to each of the many external data type that can be
+
If a value is specified it is written to the PV. Next, the current value
+of the PV is converted to each of the many external data type that can be
specified at the CA client library interface, and each of these is formated
and then output to the console.