Fix spelling errors
Most errors found with: codespell -L cach,thst,odly,aslo,parm,parms,inpu,ges,prset,pevent,ptd,pring,valu,noo,noe,ned,inout,ro,siz,froms,nd,fo,singl,sart,multy,tthe,allong,ment,inate,nodel,tring,alse,ture,thi,wille,numer Some more manually found (its -> it's) c++20: Do not use apostrophe (e.g. can't) in unquoted #error message
This commit is contained in:
@@ -103,7 +103,7 @@ in the file LICENSE that is included with this distribution.</span></p>
|
||||
<ul>
|
||||
<li><a href="#Broadcast">Client and Server Broadcast Addresses Don't
|
||||
Match</a></li>
|
||||
<li><a href="#Client">Client Isnt Configured to Use the Server's
|
||||
<li><a href="#Client">Client Isn't Configured to Use the Server's
|
||||
Port</a></li>
|
||||
<li><a href="#Unicast">Unicast Addresses in the EPICS_CA_ADDR_LIST Does
|
||||
not Reliably Contact Servers Sharing the Same UDP Port on the Same
|
||||
@@ -759,7 +759,7 @@ to respect the EPICS_CA_MAX_ARRAY_BYTES setting as described below instead.</p>
|
||||
<p>Starting with version R3.14 the environment variable
|
||||
EPICS_CA_MAX_ARRAY_BYTES determines the size of the largest array that may pass
|
||||
through CA. Prior to this version only arrays smaller than 16k bytes could be
|
||||
transfered. The CA libraries maintains a free list of 16384 byte network
|
||||
transferred. The CA libraries 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 and used only after a client send its first large array request.</p>
|
||||
@@ -1085,7 +1085,7 @@ to standard out.</p>
|
||||
|
||||
<p>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
|
||||
specified at the CA client library interface, and each of these is formatted and
|
||||
then output to the console.</p>
|
||||
<hr>
|
||||
|
||||
@@ -1631,7 +1631,7 @@ stdout.</p>
|
||||
|
||||
<p>The -s option allows to specify an interest level for calling Channel
|
||||
Access' internal report function <code>ca_client_status()</code>, that prints lots of
|
||||
internal informations on stdout, including environment settings, used CA ports
|
||||
internal information on stdout, including environment settings, used CA ports
|
||||
etc.</p>
|
||||
|
||||
<table border="1">
|
||||
@@ -1969,7 +1969,7 @@ that the request is sent call <code>ca_flush_io()</code> followed by
|
||||
|
||||
<h3><a name="Problems">ENOBUFS Messages</a></h3>
|
||||
|
||||
<p>Many Berkley UNIX derived Internet Protocol (IP) kernels use a memory
|
||||
<p>Many Berkeley UNIX derived Internet Protocol (IP) kernels use a memory
|
||||
management scheme with a fixed sized low level memory allocation quantum called
|
||||
an "mbuf". Messages about "ENOBUFS" are an indication that your IP kernel is
|
||||
running low on mbuf buffers. An IP kernel mbuf starvation situation may lead to
|
||||
|
||||
@@ -65,7 +65,7 @@ const char * ca_message_text []
|
||||
"Sorry, that feature is planned but not supported at this time",
|
||||
"The supplied string is unusually large",
|
||||
"The request was ignored because the specified channel is disconnected",
|
||||
"The data type specifed is invalid",
|
||||
"The data type specified is invalid",
|
||||
|
||||
"Remote Channel not found",
|
||||
"Unable to locate all user specified channels",
|
||||
@@ -94,7 +94,7 @@ const char * ca_message_text []
|
||||
"The supplied string is empty",
|
||||
"Unable to spawn the CA repeater thread- auto reconnect will fail",
|
||||
"No channel id match for search reply- search reply ignored",
|
||||
"Reseting dead connection- will try to reconnect",
|
||||
"Resetting dead connection- will try to reconnect",
|
||||
"Server (IOC) has fallen behind or is not responding- still waiting",
|
||||
|
||||
"No internet interface with broadcast available",
|
||||
@@ -381,11 +381,11 @@ int epicsStdCall ca_clear_channel ( chid pChan )
|
||||
}
|
||||
else {
|
||||
//
|
||||
// we will definately stall out here if all of the
|
||||
// we will definitely stall out here if all of the
|
||||
// following are true
|
||||
//
|
||||
// o user creates non-preemptive mode client library context
|
||||
// o user doesnt periodically call a ca function
|
||||
// o user doesn't periodically call a ca function
|
||||
// o user calls this function from an auxiliary thread
|
||||
//
|
||||
CallbackGuard cbGuard ( cac.cbMutex );
|
||||
|
||||
@@ -844,7 +844,7 @@ void verifyBlockInPendIO ( chid chan, unsigned interestLevel )
|
||||
}
|
||||
}
|
||||
else if ( resp != -100 ) {
|
||||
printf ( "CA didnt block for get to return?\n" );
|
||||
printf ( "CA didn't block for get to return?\n" );
|
||||
}
|
||||
|
||||
req = 1;
|
||||
@@ -1739,7 +1739,7 @@ void arrayEventExceptionNotify ( struct event_handler_args args )
|
||||
if ( args.status == ECA_NORMAL ) {
|
||||
printf (
|
||||
"arrayEventExceptionNotify: expected "
|
||||
"exception but didnt receive one against \"%s\" \n",
|
||||
"exception but didn't receive one against \"%s\" \n",
|
||||
ca_name ( args.chid ) );
|
||||
}
|
||||
else {
|
||||
@@ -3233,7 +3233,7 @@ void verifyDisconnect (
|
||||
|
||||
/*
|
||||
* if its a local channel and will never disconnect
|
||||
* then skip the portions of this test that cant be
|
||||
* then skip the portions of this test that can't be
|
||||
* completed.
|
||||
*/
|
||||
if ( ca_get_ioc_connection_count () == 0 ) {
|
||||
@@ -3307,7 +3307,7 @@ void verifyContextRundownFlush ( const char * pName, unsigned interestLevel )
|
||||
|
||||
status = ca_create_channel ( pName, 0, 0, 0, & chan );
|
||||
/*
|
||||
* currently in-memory channels cant be used with this test
|
||||
* currently in-memory channels can't be used with this test
|
||||
* !!!! FIX ME, FIX ME, FIX ME, FIX ME !!!!
|
||||
*/
|
||||
if ( status != ECA_UNAVAILINSERV ) {
|
||||
@@ -3335,7 +3335,7 @@ void verifyContextRundownFlush ( const char * pName, unsigned interestLevel )
|
||||
status = ca_create_channel ( pName, 0, 0, 0, & chan );
|
||||
SEVCHK ( status, NULL );
|
||||
/*
|
||||
* currently in-memory channels cant be used with this test
|
||||
* currently in-memory channels can't be used with this test
|
||||
* !!!! FIX ME, FIX ME, FIX ME, FIX ME !!!!
|
||||
*/
|
||||
if ( status != ECA_UNAVAILINSERV ) {
|
||||
@@ -3379,7 +3379,7 @@ void verifyContextRundownChanStillExist (
|
||||
for ( i = 0; i < NELEMENTS ( chan ); i++ ) {
|
||||
status = ca_create_channel ( pName, 0, 0, 0, & chan[i] );
|
||||
/*
|
||||
* currently in-memory channels cant be used with this test
|
||||
* currently in-memory channels can't be used with this test
|
||||
* !!!! FIX ME, FIX ME, FIX ME, FIX ME !!!!
|
||||
*/
|
||||
if ( status == ECA_UNAVAILINSERV ) {
|
||||
|
||||
@@ -192,7 +192,7 @@ bool bhe::updatePeriod (
|
||||
this->beaconAnomalyNotify ( guard );
|
||||
|
||||
/*
|
||||
* this is the 2nd beacon seen. We cant tell about
|
||||
* this is the 2nd beacon seen. We can't tell about
|
||||
* the change in period at this point so we just
|
||||
* initialize the average period and return.
|
||||
*/
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
/*
|
||||
* These port numbers are only used if the CA repeater and
|
||||
* CA server port numbers cant be obtained from the EPICS
|
||||
* CA server port numbers can't be obtained from the EPICS
|
||||
* environment variables "EPICS_CA_REPEATER_PORT" and
|
||||
* "EPICS_CA_SERVER_PORT"
|
||||
*/
|
||||
|
||||
@@ -775,11 +775,11 @@ LIBCA_API int epicsStdCall ca_clear_subscription ( evid pMon )
|
||||
}
|
||||
else {
|
||||
//
|
||||
// we will definately stall out here if all of the
|
||||
// we will definitely stall out here if all of the
|
||||
// following are true
|
||||
//
|
||||
// o user creates non-preemptive mode client library context
|
||||
// o user doesnt periodically call a ca function
|
||||
// o user doesn't periodically call a ca function
|
||||
// o user calls this function from an auxiliary thread
|
||||
//
|
||||
CallbackGuard cbGuard ( cac.cbMutex );
|
||||
|
||||
@@ -7,4 +7,4 @@
|
||||
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.
|
||||
formatted and then output to the console.
|
||||
|
||||
@@ -1461,7 +1461,7 @@ LIBCA_API unsigned epicsStdCall ca_get_host_name ( chid pChan,
|
||||
char *pBuf, unsigned bufLength );
|
||||
|
||||
/** \brief Return the minor protocol version number used by the host to
|
||||
* which a channel is cuurently connected.
|
||||
* which a channel is currently connected.
|
||||
*
|
||||
* \param[in] pChan channel identifier
|
||||
* \returns The minor protocol version number.
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
#define ECA_STRTOBIG DEFMSG(CA_K_WARNING, 12) /* defunct */
|
||||
/// The request was ignored because the specified channel is disconnected
|
||||
#define ECA_DISCONNCHID DEFMSG(CA_K_ERROR, 13) /* defunct */
|
||||
/// The data type specifed is invalid
|
||||
/// The data type specified is invalid
|
||||
#define ECA_BADTYPE DEFMSG(CA_K_ERROR, 14)
|
||||
/// Remote Channel not found
|
||||
#define ECA_CHIDNOTFND DEFMSG(CA_K_INFO, 15) /* defunct */
|
||||
@@ -146,7 +146,7 @@
|
||||
#define ECA_NEWADDR DEFMSG(CA_K_WARNING, 31) /* defunct */
|
||||
/// New or resumed network connection
|
||||
#define ECA_NEWCONN DEFMSG(CA_K_INFO, 32) /* defunct */
|
||||
/// Specified task isnt a member of a CA context
|
||||
/// Specified task isn't a member of a CA context
|
||||
#define ECA_NOCACTX DEFMSG(CA_K_WARNING, 33) /* defunct */
|
||||
/// Attempt to use defunct CA feature failed
|
||||
#define ECA_DEFUNCT DEFMSG(CA_K_FATAL, 34) /* defunct */
|
||||
@@ -156,7 +156,7 @@
|
||||
#define ECA_NOREPEATER DEFMSG(CA_K_WARNING, 36) /* defunct */
|
||||
/// No channel id match for search reply- search reply ignored
|
||||
#define ECA_NOCHANMSG DEFMSG(CA_K_WARNING, 37) /* defunct */
|
||||
/// Reseting dead connection- will try to reconnect
|
||||
/// Resetting dead connection- will try to reconnect
|
||||
#define ECA_DLCKREST DEFMSG(CA_K_WARNING, 38) /* defunct */
|
||||
/// Server (IOC) has fallen behind or is not responding- still waiting
|
||||
#define ECA_SERVBEHIND DEFMSG(CA_K_WARNING, 39) /* defunct */
|
||||
|
||||
@@ -24,14 +24,14 @@
|
||||
|
||||
//
|
||||
// Requirements:
|
||||
// 1) Allow sufficent headroom so that users will be able to perform
|
||||
// 1) Allow sufficient headroom so that users will be able to perform
|
||||
// a reasonable amount of IO within CA callbacks without experiencing
|
||||
// a push/pull deadlock. If a potential push/pull deadlock situation
|
||||
// occurs then detect and avoid it and provide diagnostic to the user
|
||||
// via special status.
|
||||
// 2) Return status to the user when there is insufficient memory to
|
||||
// queue a complete message.
|
||||
// 3) return status to the user when a message cant be flushed because
|
||||
// 3) return status to the user when a message can't be flushed because
|
||||
// a connection dropped.
|
||||
// 4) Do not allocate too much memory in exception situations (such as
|
||||
// after a circuit disconnect).
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
*
|
||||
* 1) All routines in this file have an encode argument which
|
||||
* determines if we are converting from the standard format to
|
||||
* the local format or vise versa. To date only float and double data
|
||||
* the local format or vice versa. To date only float and double data
|
||||
* types must be converted differently depending on the encode
|
||||
* argument - joh
|
||||
*
|
||||
|
||||
@@ -154,7 +154,7 @@ void nciu::connect ( unsigned nativeType,
|
||||
// the callback lock is also taken when a channel
|
||||
// disconnects to prevent a race condition with the
|
||||
// code below - ie we hold the callback lock here
|
||||
// so a channel cant be destroyed out from under us.
|
||||
// so a channel can't be destroyed out from under us.
|
||||
this->notify().connectNotify ( guard );
|
||||
}
|
||||
|
||||
@@ -625,7 +625,7 @@ unsigned channelNode::getSearchTimerIndex (
|
||||
}
|
||||
else {
|
||||
throw std::runtime_error (
|
||||
"channel was expected to be in a search timer, but wasnt" );;
|
||||
"channel was expected to be in a search timer, but wasn't" );;
|
||||
}
|
||||
return index;
|
||||
}
|
||||
|
||||
@@ -167,7 +167,7 @@ void netiiu::uninstallChanDueToSuccessfulSearchResponse (
|
||||
epicsGuard < epicsMutex > &, nciu &, const epicsTime & )
|
||||
{
|
||||
throw std::runtime_error (
|
||||
"search response occured when not attached to udpiiu?" );
|
||||
"search response occurred when not attached to udpiiu?" );
|
||||
}
|
||||
|
||||
bool netiiu::searchMsg (
|
||||
|
||||
@@ -597,11 +597,11 @@ void ca_client_context :: whenThereIsAnExceptionDestroySyncGroupIO (
|
||||
epicsGuardRelease < epicsMutex > guardRelease ( guard );
|
||||
{
|
||||
//
|
||||
// we will definately stall out here if all of the
|
||||
// we will definitely stall out here if all of the
|
||||
// following are true
|
||||
//
|
||||
// o user creates non-preemptive mode client library context
|
||||
// o user doesnt periodically call a ca function
|
||||
// o user doesn't periodically call a ca function
|
||||
// o user calls this function from an auxiliary thread
|
||||
//
|
||||
CallbackGuard cbGuard ( this->cbMutex );
|
||||
|
||||
@@ -353,7 +353,7 @@ void searchTimer::uninstallChanDueToSuccessfulSearchResponse (
|
||||
// when we get 100% success immediately
|
||||
// send another search request
|
||||
//
|
||||
debugPrintf ( ( "All requests succesful, set timer delay to zero\n" ) );
|
||||
debugPrintf ( ( "All requests successful, set timer delay to zero\n" ) );
|
||||
this->timer.start ( *this, currentTime );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,11 +79,11 @@ extern "C" int epicsStdCall ca_sg_delete ( const CA_SYNC_GID gid )
|
||||
}
|
||||
else {
|
||||
//
|
||||
// we will definately stall out here if all of the
|
||||
// we will definitely stall out here if all of the
|
||||
// following are true
|
||||
//
|
||||
// o user creates non-preemptive mode client library context
|
||||
// o user doesnt periodically call a ca function
|
||||
// o user doesn't periodically call a ca function
|
||||
// o user calls this function from an auxiliary thread
|
||||
//
|
||||
CallbackGuard cbGuard ( pcac->cbMutex );
|
||||
@@ -103,11 +103,11 @@ void sync_group_reset ( ca_client_context & client, CASG & sg )
|
||||
}
|
||||
else {
|
||||
//
|
||||
// we will definately stall out here if all of the
|
||||
// we will definitely stall out here if all of the
|
||||
// following are true
|
||||
//
|
||||
// o user creates non-preemptive mode client library context
|
||||
// o user doesnt periodically call a ca function
|
||||
// o user doesn't periodically call a ca function
|
||||
// o user calls this function from an auxiliary thread
|
||||
//
|
||||
CallbackGuard cbGuard ( client.cbMutex );
|
||||
@@ -216,11 +216,11 @@ extern "C" int epicsStdCall ca_sg_test ( const CA_SYNC_GID gid )
|
||||
}
|
||||
else {
|
||||
//
|
||||
// we will definately stall out here if all of the
|
||||
// we will definitely stall out here if all of the
|
||||
// following are true
|
||||
//
|
||||
// o user creates non-preemptive mode client library context
|
||||
// o user doesnt periodically call a ca function
|
||||
// o user doesn't periodically call a ca function
|
||||
// o user calls this function from an auxiliary thread
|
||||
//
|
||||
CallbackGuard cbGuard ( pcac->cbMutex );
|
||||
|
||||
@@ -97,7 +97,7 @@ void tcpRecvWatchdog::beaconArrivalNotify (
|
||||
guard.assertIdenticalMutex ( this->mutex );
|
||||
if ( ! ( this->shuttingDown || this->beaconAnomaly || this->probeResponsePending ) ) {
|
||||
this->timer.start ( *this, this->period );
|
||||
debugPrintf ( ("saw a normal beacon - reseting circuit receive watchdog\n") );
|
||||
debugPrintf ( ("saw a normal beacon - resetting circuit receive watchdog\n") );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@ void tcpRecvWatchdog::messageArrivalNotify (
|
||||
if ( ! ( this->shuttingDown || this->probeResponsePending ) ) {
|
||||
this->beaconAnomaly = false;
|
||||
this->timer.start ( *this, this->period );
|
||||
debugPrintf ( ("received a message - reseting circuit recv watchdog\n") );
|
||||
debugPrintf ( ("received a message - resetting circuit recv watchdog\n") );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -182,7 +182,7 @@ void tcpRecvWatchdog::sendBacklogProgressNotify (
|
||||
// receive at least one message from the server.
|
||||
if ( this->probeResponsePending && ! this->shuttingDown ) {
|
||||
this->timer.start ( *this, CA_ECHO_TIMEOUT );
|
||||
debugPrintf ( ("saw heavy send backlog - reseting circuit recv watchdog\n") );
|
||||
debugPrintf ( ("saw heavy send backlog - resetting circuit recv watchdog\n") );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1824,7 +1824,7 @@ void tcpiiu::disconnectAllChannels (
|
||||
}
|
||||
|
||||
while ( nciu * pChan = this->createRespPend.get () ) {
|
||||
// we don't yet know the server's id so we cant
|
||||
// we don't yet know the server's id so we can't
|
||||
// send a channel delete request and will instead
|
||||
// trust that the server can do the proper cleanup
|
||||
// when the circuit disconnects
|
||||
@@ -1890,7 +1890,7 @@ void tcpiiu::unlinkAllChannels (
|
||||
while ( nciu * pChan = this->createRespPend.get () ) {
|
||||
pChan->channelNode::listMember =
|
||||
channelNode::cs_none;
|
||||
// we don't yet know the server's id so we cant
|
||||
// we don't yet know the server's id so we can't
|
||||
// send a channel delete request and will instead
|
||||
// trust that the server can do the proper cleanup
|
||||
// when the circuit disconnects
|
||||
|
||||
@@ -83,7 +83,7 @@ double getMaxPeriod()
|
||||
}
|
||||
}
|
||||
else {
|
||||
epicsPrintf ( "EPICS \"%s\" wasnt a real number\n",
|
||||
epicsPrintf ( "EPICS \"%s\" wasn't a real number\n",
|
||||
EPICS_CA_MAX_SEARCH_PERIOD.name );
|
||||
epicsPrintf ( "Setting \"%s\" = %f seconds\n",
|
||||
EPICS_CA_MAX_SEARCH_PERIOD.name, maxPeriod );
|
||||
|
||||
@@ -64,7 +64,7 @@ const char * get_error_msg(int status) {
|
||||
"ECA_NOSUPPORT - Sorry, that feature is planned but not supported at this time",
|
||||
"ECA_STRTOBIG - The supplied string is unusually large",
|
||||
"ECA_DISCONNCHID - The request was ignored because the specified channel is disconnected",
|
||||
"ECA_BADTYPE - The data type specifed is invalid",
|
||||
"ECA_BADTYPE - The data type specified is invalid",
|
||||
"ECA_CHIDNOTFND - Remote Channel not found",
|
||||
"ECA_CHIDRETRY - Unable to locate all user specified channels",
|
||||
"ECA_INTERNAL - Channel Access Internal Failure",
|
||||
@@ -83,12 +83,12 @@ const char * get_error_msg(int status) {
|
||||
"ECA_BADMONID - Bad event subscription (monitor) identifier",
|
||||
"ECA_NEWADDR - Remote channel has new network address",
|
||||
"ECA_NEWCONN - New or resumed network connection",
|
||||
"ECA_NOCACTX - Specified task isnt a member of a CA context",
|
||||
"ECA_NOCACTX - Specified task isn't a member of a CA context",
|
||||
"ECA_DEFUNCT - Attempt to use defunct CA feature failed",
|
||||
"ECA_EMPTYSTR - The supplied string is empty",
|
||||
"ECA_NOREPEATER - Unable to spawn the CA repeater thread- auto reconnect will fail",
|
||||
"ECA_NOCHANMSG - No channel id match for search reply- search reply ignored",
|
||||
"ECA_DLCKREST - Reseting dead connection- will try to reconnect",
|
||||
"ECA_DLCKREST - Resetting dead connection- will try to reconnect",
|
||||
"ECA_SERVBEHIND - Server (IOC) has fallen behind or is not responding- still waiting",
|
||||
"ECA_NOCAST - No internet interface with broadcast available",
|
||||
"ECA_BADMASK - Invalid event selection mask",
|
||||
@@ -886,7 +886,7 @@ void CA_get_callback(SV *ca_ref, SV *sub, ...) {
|
||||
while (items > i
|
||||
&& SvOK(ST(i))) {
|
||||
if (SvIOK(ST(i))) {
|
||||
/* Interger => Count arg, zero means current size */
|
||||
/* Integer => Count arg, zero means current size */
|
||||
count = SvIV(ST(i));
|
||||
if (count < 0 || count > ca_element_count(pch->chan)) {
|
||||
croak_msg = "Requested array size is out of range";
|
||||
@@ -962,7 +962,7 @@ SV * CA_create_subscription(SV *ca_ref, const char *mask_str, SV *sub, ...) {
|
||||
while (items > i
|
||||
&& SvOK(ST(i))) {
|
||||
if (SvIOK(ST(i))) {
|
||||
/* Interger => Count arg, zero means current size */
|
||||
/* Integer => Count arg, zero means current size */
|
||||
count = SvIV(ST(i));
|
||||
if (count < 0 || count > ca_element_count(pch->chan)) {
|
||||
croak_msg = "Requested array size is out of range";
|
||||
|
||||
@@ -23,7 +23,7 @@ ifdef T_A
|
||||
# Special settings for Darwin:
|
||||
ifeq ($(OS_CLASS),Darwin)
|
||||
# Use hdepends command (not GNU compiler flags)
|
||||
# to generate header file dependancies for Darwin.
|
||||
# to generate header file dependencies for Darwin.
|
||||
# Darwin has multiple -arch compiler flags.
|
||||
HDEPENDS_METHOD = MKMF
|
||||
|
||||
|
||||
@@ -167,7 +167,7 @@ sub HELP_MESSAGE {
|
||||
" -w <sec>: Wait time, specifies CA timeout, default is $opt_w second\n",
|
||||
" -c: Use put_callback to wait for completion\n",
|
||||
"Format options:\n",
|
||||
" -t: Terse mode - print only sucessfully written value, without name\n",
|
||||
" -t: Terse mode - print only successfully written value, without name\n",
|
||||
" -l: Long mode \"name timestamp value stat sevr\" (read PVs as DBR_TIME_xxx)\n",
|
||||
" -S: Put string as an array of char (long string)\n",
|
||||
"Enum format:\n",
|
||||
|
||||
@@ -14,7 +14,7 @@ to stdout.
|
||||
|
||||
The {option}`-s` option allows to specify an interest level for calling Channel
|
||||
Access' internal report function `ca_client_status()`, that prints lots
|
||||
of internal informations on stdout, including environment settings, used
|
||||
of internal information on stdout, including environment settings, used
|
||||
CA ports etc.
|
||||
|
||||
## Options
|
||||
|
||||
@@ -68,7 +68,7 @@ void usage (void)
|
||||
" -c: Asynchronous put (use ca_put_callback and wait for completion)\n"
|
||||
" -p <prio>: CA priority (0-%u, default 0=lowest)\n"
|
||||
"Format options:\n"
|
||||
" -t: Terse mode - print only sucessfully written value, without name\n"
|
||||
" -t: Terse mode - print only successfully written value, without name\n"
|
||||
" -l: Long mode \"name timestamp value stat sevr\" (read PVs as DBR_TIME_xxx)\n"
|
||||
"Enum format:\n"
|
||||
" Default: Auto - try value as ENUM string, then as index number\n"
|
||||
@@ -571,7 +571,7 @@ int main (int argc, char *argv[])
|
||||
}
|
||||
|
||||
if (result != ECA_NORMAL) {
|
||||
fprintf(stderr, ERL_ERROR " occured writing data: %s\n", ca_message(result));
|
||||
fprintf(stderr, ERL_ERROR " occurred writing data: %s\n", ca_message(result));
|
||||
free(sbuf); free(dbuf); free(ebuf);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ static const iocshArg asSetSubstitutionsArg0 = { "substitutions",iocshArgString}
|
||||
static const iocshArg * const asSetSubstitutionsArgs[] = {&asSetSubstitutionsArg0};
|
||||
static const iocshFuncDef asSetSubstitutionsFuncDef =
|
||||
{"asSetSubstitutions",1,asSetSubstitutionsArgs,
|
||||
"Set subtitutions used when reading ACF file.\n"
|
||||
"Set substitutions used when reading ACF file.\n"
|
||||
"No immediate effect. Run asInit to (re)load.\n"
|
||||
"Example: asSetSubstitutions var1=5,var2=hello\n"};
|
||||
static void asSetSubstitutionsCallFunc(const iocshArgBuf *args)
|
||||
|
||||
@@ -360,7 +360,7 @@ static int create_break( struct brkCreateInfo *pbci, brkInt *pabrkInt,
|
||||
if (inc < 1)
|
||||
inc = 1;
|
||||
valid = TRUE;
|
||||
/* keep trying intervals until cant do better */
|
||||
/* keep trying intervals until can't do better */
|
||||
expanding = TRUE; /* originally we are trying larger and larger
|
||||
* intervals */
|
||||
while (valid) {
|
||||
|
||||
@@ -183,7 +183,7 @@ static void get_enum_strs(DBADDR *paddr, char **ppbuffer,
|
||||
}
|
||||
|
||||
if(nchoices > NELEMENTS(penum->strs))
|
||||
nchoices = NELEMENTS(penum->strs); /* availible > capacity, truncated list */
|
||||
nchoices = NELEMENTS(penum->strs); /* available > capacity, truncated list */
|
||||
|
||||
penum->no_str = nchoices;
|
||||
|
||||
@@ -1130,7 +1130,7 @@ static long dbPutFieldLink(DBADDR *paddr,
|
||||
}
|
||||
|
||||
if (dbCanSetLink(plink, &link_info, new_devsup)) {
|
||||
/* link type mis-match prevents assignment */
|
||||
/* link type mismatch prevents assignment */
|
||||
status = S_dbLib_badField;
|
||||
goto unlock;
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ static int dbca_chan_count;
|
||||
* The libca callbacks take no action if pca->plink==NULL.
|
||||
*
|
||||
* dbCaPutLinkCallback causes an additional complication because
|
||||
* when dbCaRemoveLink is called the callback may not have occured.
|
||||
* when dbCaRemoveLink is called the callback may not have occurred.
|
||||
* If putComplete sees plink==0 it will not call the user's code.
|
||||
* If pca->putCallback is non-zero, dbCaTask will call the
|
||||
* user's callback AFTER it has called ca_clear_channel.
|
||||
|
||||
@@ -346,7 +346,7 @@ DBCORE_API void dbChannelInit(void);
|
||||
/** \brief Cleanup the dbChannel subsystem. */
|
||||
DBCORE_API void dbChannelExit(void);
|
||||
|
||||
/** \brief Test the given PV name for existance.
|
||||
/** \brief Test the given PV name for existence.
|
||||
*
|
||||
* This routine looks up the given record and field name, but does not check
|
||||
* whether any field modifiers given after the field name are correct.
|
||||
|
||||
@@ -521,7 +521,7 @@ hardware.
|
||||
|
||||
=item *
|
||||
|
||||
Positive values (normally between 1-255) get the time of the last occurance of
|
||||
Positive values (normally between 1-255) get the time of the last occurrence of
|
||||
the numbered generalTime event.
|
||||
|
||||
=back
|
||||
|
||||
@@ -199,7 +199,7 @@ static const iocshFuncDef dblFuncDef = {"dbl",2,dblArgs,
|
||||
"Database list.\n"
|
||||
"List record/field names.\n"
|
||||
"With no arguments, lists all record names.\n"
|
||||
"If record type is given, then only the names of records maching the type are printed\n"
|
||||
"If record type is given, then only the names of records matching the type are printed\n"
|
||||
"If a field list is given, then their values are also printed\n\n"
|
||||
"Example: dbl(\"\")\n"
|
||||
" dbl(\"ai\")\n"
|
||||
@@ -440,7 +440,7 @@ static const iocshArg scanOnceQueueShowArg0 = { "reset",iocshArgInt};
|
||||
static const iocshArg * const scanOnceQueueShowArgs[1] =
|
||||
{&scanOnceQueueShowArg0};
|
||||
static const iocshFuncDef scanOnceQueueShowFuncDef = {"scanOnceQueueShow",1,scanOnceQueueShowArgs,
|
||||
"Show details and statitics of scan once queue processing.\n"};
|
||||
"Show details and statistics of scan once queue processing.\n"};
|
||||
static void scanOnceQueueShowCallFunc(const iocshArgBuf *args)
|
||||
{
|
||||
scanOnceQueueShow(args[0].ival);
|
||||
|
||||
@@ -112,7 +112,7 @@ DBCORE_API void scanIoInit(IOSCANPVT *ppios);
|
||||
* @return
|
||||
*/
|
||||
DBCORE_API unsigned int scanIoRequest(IOSCANPVT pios);
|
||||
/** @brief Process all records on the scan list for the specificed priority.
|
||||
/** @brief Process all records on the scan list for the specified priority.
|
||||
*
|
||||
* Also executes the callback set by scanIoSetComplete()
|
||||
*
|
||||
|
||||
@@ -27,7 +27,7 @@ DBCORE_API long dbnr(int verbose);
|
||||
/* list aliases */
|
||||
DBCORE_API long dbla(const char *pmask);
|
||||
/* list infos */
|
||||
DBCORE_API long dbli(const char *patern);
|
||||
DBCORE_API long dbli(const char *pattern);
|
||||
/*list records filtered by glob pattern*/
|
||||
DBCORE_API long dbglob(const char *ppattern,const char *fields);
|
||||
/*list records filtered by glob pattern; alias for dbglob*/
|
||||
|
||||
@@ -307,7 +307,7 @@ void testdbGetArrFieldEqual(const char* pv, short dbfType, long nRequest, unsign
|
||||
long n, N = nRequest < cnt ? nRequest : cnt;
|
||||
|
||||
if(!match)
|
||||
testDiag("Length mis-match. expected=%lu actual=%lu", cnt, nRequest);
|
||||
testDiag("Length mismatch. expected=%lu actual=%lu", cnt, nRequest);
|
||||
|
||||
for(n=0; n<N; n++, gbuf+=vSize, pbuf+=vSize) {
|
||||
|
||||
|
||||
@@ -170,7 +170,7 @@ DBCORE_API void testMonitorWait(testMonitor*);
|
||||
* @since UNRELEASED
|
||||
*/
|
||||
DBCORE_API void testMonitorSync(testMonitor*);
|
||||
/** Return the number of monitor events which have occured since create,
|
||||
/** Return the number of monitor events which have occurred since create,
|
||||
* or a previous reset (called reset=1).
|
||||
* Calling w/ reset=0 only returns the count.
|
||||
* Calling w/ reset=1 resets the count to zero and ensures that the next
|
||||
|
||||
@@ -126,7 +126,7 @@ typedef struct dbRecordNode {
|
||||
struct dbRecordNode *aliasedRecnode; /* NULL unless flags|DBRN_FLAGS_ISALIAS */
|
||||
}dbRecordNode;
|
||||
|
||||
/*dbRecordAttribute is for "psuedo" fields */
|
||||
/*dbRecordAttribute is for "pseudo" fields */
|
||||
/*pdbFldDes is so that other access routines work correctly*/
|
||||
/*Until base supports char * value MUST be fixed length string*/
|
||||
typedef struct dbRecordAttribute {
|
||||
|
||||
@@ -712,7 +712,7 @@ static void dbRecordtypeEmpty(void)
|
||||
ptempListNode = (tempListNode *)ellFirst(&tempList);
|
||||
pdbRecordType = ptempListNode->item;
|
||||
fprintf(stderr, ERL_ERROR
|
||||
": Declaration of recordtype(%s) preceeded full definition.\n",
|
||||
": Declaration of recordtype(%s) preceded full definition.\n",
|
||||
pdbRecordType->name);
|
||||
yyerrorAbort(NULL);
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ static const iocshArg dbDumpMenuArg1 = { "menuName",iocshArgString};
|
||||
static const iocshArg * const dbDumpMenuArgs[] = {
|
||||
&argPdbbase, &dbDumpMenuArg1};
|
||||
static const iocshFuncDef dbDumpMenuFuncDef = {"dbDumpMenu",2,dbDumpMenuArgs,
|
||||
"Dump information about the available menuNames and choices defined withing each menuName.\n"
|
||||
"Dump information about the available menuNames and choices defined within each menuName.\n"
|
||||
"Example: dbDumpMenu pdbbase menuAlarmStat \n"
|
||||
"If last argument(s) are missing, dump all menuNames information in the database.\n"};
|
||||
static void dbDumpMenuCallFunc(const iocshArgBuf *args)
|
||||
|
||||
@@ -26,7 +26,7 @@ static const iocshFuncDef dbLoadTemplateFuncDef = {
|
||||
"for each template in the substitution file, and load them using 'dbLoadRecords'.\n\n"
|
||||
"The second argument provides extra variables to substitute in the\n"
|
||||
"template files (not the substitution file). The third argument provides\n"
|
||||
"a list of paths to search through for the subsitution and template files.\n\n"
|
||||
"a list of paths to search through for the substitution and template files.\n\n"
|
||||
"See 'help dbLoadRecords' for more information.\n\n"
|
||||
"Example: dbLoadTemplate db/my.substitutions 'user=myself,host=myhost' 'path/to/subst:path2/to2/subst2'\n",
|
||||
};
|
||||
|
||||
@@ -49,7 +49,7 @@ discouraged.
|
||||
:::
|
||||
|
||||
::: {option} -o <file>
|
||||
Output will be written to the specifed \<file\> rather than to the
|
||||
Output will be written to the specified \<file\> rather than to the
|
||||
standard output.
|
||||
:::
|
||||
|
||||
@@ -166,7 +166,7 @@ expanded properly.
|
||||
However neither back-slash characters nor quotes of either variety are
|
||||
removed when generating the output file, so depending on what is being
|
||||
output the single quote behaviour may not be useful and may even be a
|
||||
hinderance. It cannot be disabled in the current version of msi.
|
||||
hindrance. It cannot be disabled in the current version of msi.
|
||||
|
||||
|
||||
### Template file commands
|
||||
|
||||
@@ -1452,7 +1452,7 @@ static void sendAllUpdateAS ( struct client *client )
|
||||
}
|
||||
else {
|
||||
errlogPrintf (
|
||||
"%s at %d: corrupt channel state detected durring AR update\n",
|
||||
"%s at %d: corrupt channel state detected during AR update\n",
|
||||
__FILE__, __LINE__);
|
||||
}
|
||||
pciu->state = rsrvCS_inService;
|
||||
@@ -1493,7 +1493,7 @@ static void putNotifyErrorReply ( struct client *client, caHdrLargeArray *mp, in
|
||||
mp->m_available, 0 );
|
||||
if ( status != ECA_NORMAL ) {
|
||||
SEND_UNLOCK ( client );
|
||||
errlogPrintf ("%s at %d: should always get sufficent space for put notify error reply\n",
|
||||
errlogPrintf ("%s at %d: should always get sufficient space for put notify error reply\n",
|
||||
__FILE__, __LINE__);
|
||||
return;
|
||||
}
|
||||
@@ -1835,7 +1835,7 @@ static int event_add_action (caHdrLargeArray *mp, void *pPayload, struct client
|
||||
* the monitors and I could get deadlocked.
|
||||
* The client is blocked sending and the server
|
||||
* task for the client is blocked sending in
|
||||
* this case. I cant check the recv part of the
|
||||
* this case. I can't check the recv part of the
|
||||
* socket in the client since I am still handling an
|
||||
* outstanding recv ( they must be processed in order).
|
||||
* I handle this problem in the server by using
|
||||
@@ -2080,7 +2080,7 @@ static void search_fail_reply ( caHdrLargeArray *mp, void *pPayload, struct clie
|
||||
0u, mp->m_dataType, mp->m_count, mp->m_cid, mp->m_available, NULL );
|
||||
if ( status != ECA_NORMAL ) {
|
||||
SEND_UNLOCK ( client );
|
||||
errlogPrintf ( "%s at %d: should always get sufficent space for search fail reply?\n",
|
||||
errlogPrintf ( "%s at %d: should always get sufficient space for search fail reply?\n",
|
||||
__FILE__, __LINE__ );
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -367,7 +367,7 @@ void cas_commit_msg ( struct client *pClient, ca_uint32_t size )
|
||||
|
||||
/*
|
||||
* this assumes that we have already checked to see
|
||||
* if sufficent bytes are available
|
||||
* if sufficient bytes are available
|
||||
*/
|
||||
ca_uint16_t rsrvGetUInt16 ( struct message_buffer *recv )
|
||||
{
|
||||
@@ -375,7 +375,7 @@ ca_uint16_t rsrvGetUInt16 ( struct message_buffer *recv )
|
||||
ca_uint16_t result;
|
||||
/*
|
||||
* this assumes that we have already checked to see
|
||||
* if sufficent bytes are available
|
||||
* if sufficient bytes are available
|
||||
*/
|
||||
assert ( recv->cnt - recv->stk >= 2u );
|
||||
result = pBuf[recv->stk++] << 8u;
|
||||
@@ -385,7 +385,7 @@ ca_uint16_t rsrvGetUInt16 ( struct message_buffer *recv )
|
||||
|
||||
/*
|
||||
* this assumes that we have already checked to see
|
||||
* if sufficent bytes are available
|
||||
* if sufficient bytes are available
|
||||
*/
|
||||
ca_uint32_t rsrvGetUInt32 ( struct message_buffer *recv )
|
||||
{
|
||||
@@ -393,7 +393,7 @@ ca_uint32_t rsrvGetUInt32 ( struct message_buffer *recv )
|
||||
ca_uint32_t result;
|
||||
/*
|
||||
* this assumes that we have already checked to see
|
||||
* if sufficent bytes are available
|
||||
* if sufficient bytes are available
|
||||
*/
|
||||
assert ( recv->cnt - recv->stk >= 4u );
|
||||
result = pBuf[recv->stk++] << 24u;
|
||||
|
||||
@@ -40,7 +40,7 @@ link(const, lnkConstIf)
|
||||
|
||||
=head3 Constant Link C<"const">
|
||||
|
||||
Constant links are input links that provide literal values at link initalization
|
||||
Constant links are input links that provide literal values at link initialization
|
||||
time, but do not return any data when their C<getValue()> routine is called.
|
||||
Most record types support the use of constant links on their input links by
|
||||
calling C<recGblInitConstantLink()> at record initialization, which results in
|
||||
|
||||
@@ -338,7 +338,7 @@ during record processing.
|
||||
|
||||
=head3 Input Value Fields
|
||||
|
||||
Thse fields hold the scalar or array values fetched through the input links
|
||||
These fields hold the scalar or array values fetched through the input links
|
||||
INPA,...,INPU.
|
||||
|
||||
=fields A - U
|
||||
|
||||
@@ -113,7 +113,7 @@ static long init_record(struct dbCommon *pcommon, int pass)
|
||||
return(S_dev_missingSup);
|
||||
}
|
||||
prec->init = TRUE;
|
||||
/*The following is for old device support that doesnt know about eoff*/
|
||||
/*The following is for old device support that doesn't know about eoff*/
|
||||
if ((prec->eslo==1.0) && (prec->eoff==0.0)) {
|
||||
prec->eoff = prec->egul;
|
||||
}
|
||||
|
||||
@@ -118,7 +118,7 @@ static long init_record(struct dbCommon *pcommon, int pass)
|
||||
return(S_dev_missingSup);
|
||||
}
|
||||
prec->init = TRUE;
|
||||
/*The following is for old device support that doesnt know about eoff*/
|
||||
/*The following is for old device support that doesn't know about eoff*/
|
||||
if ((prec->eslo==1.0) && (prec->eoff==0.0)) {
|
||||
prec->eoff = prec->egul;
|
||||
}
|
||||
|
||||
@@ -224,8 +224,8 @@ alarms that are common to all record types.
|
||||
These parameters are used to specify deadbands for monitors on the VAL
|
||||
field. The monitors are sent when the value field exceeds the last
|
||||
monitored field by the specified deadband. If these fields have a value
|
||||
of zero, everytime the value changes, a monitor will be triggered; if
|
||||
they have a value of -1, everytime the record is processed, monitors
|
||||
of zero, every time the value changes, a monitor will be triggered; if
|
||||
they have a value of -1, every time the record is processed, monitors
|
||||
are triggered. ADEL is the deadband for archive monitors, and MDEL the
|
||||
deadband for all other types of monitors. See Monitor Specification for
|
||||
a complete explanation of monitors.
|
||||
|
||||
@@ -99,7 +99,7 @@ These parameters are used to determine if the binary input is in alarm
|
||||
condition and to determine the severity of that condition. The possible
|
||||
alarm conditions for binary inputs are the SCAN, READ state alarms, and the
|
||||
change of state alarm. The SCAN and READ alarms are called by the device
|
||||
supprt routines.
|
||||
support routines.
|
||||
|
||||
The user can choose the severity of each state in the ZSV and OSV fields.
|
||||
The possible values for these fields are C<NO_ALARM>, C<MINOR>, and
|
||||
@@ -126,7 +126,7 @@ MASK is given a value by ithe device support routines. This value is used to
|
||||
manipulate the record's value, but is only the concern of the hardware device
|
||||
support routines.
|
||||
|
||||
The LALM fields holds the value of the last occurence of the change of
|
||||
The LALM fields holds the value of the last occurrence of the change of
|
||||
state alarm. It is used to implement the change of state alarm, and thus
|
||||
only has meaning if COSV is MAJOR or MINOR.
|
||||
|
||||
@@ -407,7 +407,7 @@ Scan forward link if necessary, set PACT FALSE, and return.
|
||||
=head3 Fields of Interest to Device Support
|
||||
|
||||
Each binary input record must have an associated set of device support
|
||||
routines. The primary resposibility of the device support routines is to
|
||||
routines. The primary responsibility of the device support routines is to
|
||||
obtain a new raw input value whenever C<read_bi()> is called. The device
|
||||
support routines are primarily interested in the following fields:
|
||||
|
||||
|
||||
@@ -391,7 +391,7 @@ If either device support or the device support write routine does not
|
||||
exist, and error message is issued and processing is terminated.
|
||||
|
||||
If DOL is a constant, then VAL is initialized to 1 if its value is nonzero
|
||||
or initialzed to 0 if DOL is zero, and UDF is set to FALSE.
|
||||
or initialized to 0 if DOL is zero, and UDF is set to FALSE.
|
||||
|
||||
If device support includes C<init_record()>, it is called. VAL is set using
|
||||
RVAL, and UDF is set to FALSE.
|
||||
|
||||
@@ -442,7 +442,7 @@ Result is C<E> if C<<< (A + B)<(C + D) >>>
|
||||
=item *
|
||||
Result is unchanged if C<<< (A + B)>=(C + D) >>>
|
||||
|
||||
From 3.14.9 onwards, this expresion must be written as
|
||||
From 3.14.9 onwards, this expression must be written as
|
||||
C<<< (A + B) < (C + D) ? E : VAL >>>
|
||||
|
||||
=back
|
||||
@@ -537,8 +537,8 @@ These paramaeters are used to determine when to send monitors for the value
|
||||
fields. These monitors are sent when the value field exceeds the last
|
||||
monitored field by the appropriate deadband, the ADEL for archiver monitors
|
||||
and the MDEL field for all other types of monitors. If these fields have a
|
||||
value of zero, everytime the value changes, monitors are triggered; if they have a
|
||||
value of -1, everytime the record is scanned, monitors are triggered. See
|
||||
value of zero, every time the value changes, monitors are triggered; if they have a
|
||||
value of -1, every time the record is scanned, monitors are triggered. See
|
||||
L<Monitor Specification> for a complete explanation of monitors.
|
||||
|
||||
=fields ADEL, MDEL
|
||||
|
||||
@@ -121,7 +121,7 @@ holds the average of the first element of INP over N samples, VAL[1] holds the
|
||||
average of the next element of INP over N samples, and so on. The following
|
||||
shows the equation:
|
||||
|
||||
=for comment Latex form of equation bellow : VAL[i] \leftarrow \frac{1}{N}\sum_{n=1}^NINP_{n}[i]
|
||||
=for comment Latex form of equation below : VAL[i] \leftarrow \frac{1}{N}\sum_{n=1}^NINP_{n}[i]
|
||||
|
||||
=begin html
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ These fields are listed in L<Scan Fields|dbCommonRecord/Scan Fields>.
|
||||
=head3 Desired Output Parameters
|
||||
|
||||
The data fanout record must specify where the desired output value
|
||||
originates, i.e., the data which is to be fowarded to the records in its
|
||||
originates, i.e., the data which is to be forwarded to the records in its
|
||||
output links. The output mode select (OMSL) field determines whether the
|
||||
output originates from another record or from run-time database access.
|
||||
When set to C<closed_loop>, the desired output is retrieved from the link
|
||||
@@ -156,8 +156,8 @@ These parameters are used to determine when to send monitors placed on the
|
||||
VAL field. These monitors are sent when the value field exceeds the last
|
||||
monitored fields by the specified deadband, ADEL for archivers monitors and
|
||||
MDEL for all other types of monitors. If these fields have a value of zero,
|
||||
everytime the value changes, a monitor will be triggered; if they have a
|
||||
value of -1, everytime the record is scanned, monitors are triggered. See
|
||||
every time the value changes, a monitor will be triggered; if they have a
|
||||
value of -1, every time the record is scanned, monitors are triggered. See
|
||||
L<Monitor Specification> for a complete explanation of monitors.
|
||||
|
||||
=fields ADEL, MDEL
|
||||
@@ -165,7 +165,7 @@ L<Monitor Specification> for a complete explanation of monitors.
|
||||
=head3 Run-Time Parameters and Simulation Mode Parameters
|
||||
|
||||
These parameters are used by the run-time code for processing the data
|
||||
fanout record. Ther are not configurable. They are used to implement the
|
||||
fanout record. They are not configurable. They are used to implement the
|
||||
hysteresis factors for monitor callbacks.
|
||||
|
||||
=fields LALM, ALST, MLST
|
||||
|
||||
@@ -70,7 +70,7 @@ alarms that are common to all record types.
|
||||
|
||||
The MDEL field implements the monitor count deadband. Only when MCNT is greater
|
||||
than the value given to MDEL are monitors triggered, MCNT being the number of
|
||||
counts since the last time the record was processed. If MDEL is -1, everytime
|
||||
counts since the last time the record was processed. If MDEL is -1, every time
|
||||
the record is processed, a monitor is triggered regardless.
|
||||
|
||||
If SDEL is greater than 0, it causes a callback routine to be called. The number
|
||||
|
||||
@@ -93,8 +93,8 @@ alarms that are common to all record types.
|
||||
These parameters are used to determine when to send monitors placed on the value
|
||||
field. The monitors are sent when the value field exceeds the last monitored
|
||||
field (see the next section) by the appropriate deadband. If these fields have a
|
||||
value of zero, everytime the value changes, a monitor will be triggered; if they
|
||||
have a value of -1, everytime the record is scanned, monitors are triggered. The
|
||||
value of zero, every time the value changes, a monitor will be triggered; if they
|
||||
have a value of -1, every time the record is scanned, monitors are triggered. The
|
||||
ADEL field is used by archive monitors and the MDEL field for all other types of
|
||||
monitors.
|
||||
|
||||
|
||||
@@ -312,9 +312,9 @@ to alarms that are common to all record types.
|
||||
|
||||
These parameters are used to determine when to send monitors placed on the value
|
||||
field. The monitors are sent when the value field exceeds the last monitored
|
||||
field by the appropriate delta. If these fields have a value of zero, everytime
|
||||
field by the appropriate delta. If these fields have a value of zero, every time
|
||||
the value changes, a monitor will be triggered; if they have a value of -1,
|
||||
everytime the record is scanned, monitors are triggered. The ADEL field is the
|
||||
every time the record is scanned, monitors are triggered. The ADEL field is the
|
||||
delta for archive monitors, and the MDEL field is the delta for all other types
|
||||
of monitors. See L<Monitor Specification> for a complete explanation of
|
||||
monitors.
|
||||
|
||||
@@ -16,7 +16,7 @@ It can accept boolean values in its 32 bit fields (B0-B9, BA-BF, B10-B19 and
|
||||
B1A-B1F), and converts them to a 32-bit signed integer in VAL which is provided
|
||||
to the device support. A zero value in a bit field becomes a zero bit in VAL, a
|
||||
non-zero value in a bit field becomes a one bit in VAL, with B0 being the least
|
||||
signficant bit and B1F the MSB/sign bit.
|
||||
significant bit and B1F the MSB/sign bit.
|
||||
|
||||
=recordtype mbboDirect
|
||||
|
||||
@@ -47,7 +47,7 @@ placed into the VAL field.
|
||||
|
||||
When OMSL is set to C<<< supervisory >>>, the DOL field is ignored during
|
||||
processing and the contents of VAL are used. A value to be output may thus be
|
||||
written direcly into the VAL field from elsewhere as long as the record is in
|
||||
written directly into the VAL field from elsewhere as long as the record is in
|
||||
C<<< supervisory >>> mode.
|
||||
|
||||
=fields OMSL, DOL, VAL
|
||||
|
||||
@@ -36,7 +36,7 @@ These fields are described in L<Scan Fields|dbCommonRecord/Scan Fields>.
|
||||
The printf record must specify the desired output string with embedded format
|
||||
specifiers in the FMT field. Plain characters are copied directly to the output
|
||||
string. A pair of percent characters 'C<%%>' are converted into a single percent
|
||||
character in the output string. A single precent character 'C<%>' introduces a
|
||||
character in the output string. A single percent character 'C<%>' introduces a
|
||||
format specifier and is followed by zero or more of the standard C<printf()>
|
||||
format flags and modifiers:
|
||||
|
||||
|
||||
@@ -133,8 +133,8 @@ alarms that are common to all record types.
|
||||
These fields are configurable by the user. They are used as deadbands for the
|
||||
archiver and monitor calls for the VAL field. Unless, VAL changes by more than
|
||||
the value specified by each, then the respective monitors will not be called. If
|
||||
these fields have a value of zero, everytime the VAL changes, monitors are
|
||||
triggered; if they have a value of -1, everytime the record is processed,
|
||||
these fields have a value of zero, every time the VAL changes, monitors are
|
||||
triggered; if they have a value of -1, every time the record is processed,
|
||||
monitors are triggered.
|
||||
|
||||
=fields ADEL, MDEL
|
||||
|
||||
@@ -100,8 +100,8 @@ field. The appropriate monitors are invoked when VAL differs from the values in
|
||||
the ALST and MLST run-time fields, i.e., when the value of VAL changes by more
|
||||
than the deadband specified in these fields. The ADEL and MDEL fields specify a
|
||||
minimum delta which the change must surpass before the value-change monitors are
|
||||
invoked. If these fields have a value of zero, everytime the value changes, a
|
||||
monitor will be triggered; if they have a value of -1, everytime the record is
|
||||
invoked. If these fields have a value of zero, every time the value changes, a
|
||||
monitor will be triggered; if they have a value of -1, every time the record is
|
||||
processed, monitors are triggered. The ADEL field is used by archive monitors
|
||||
and the MDEL field for all other types of monitors.
|
||||
|
||||
@@ -290,7 +290,7 @@ This example for a VxWorks IOC shows an asynchronous subroutine. It uses
|
||||
(actually misuses) fields A and B. Field A is taken as the number of seconds
|
||||
until asynchronous completion. Field B is a flag to decide if messages should be
|
||||
printed. Lets assume A E<gt> 0 and B = 1. The following sequence of actions will
|
||||
occcur:
|
||||
occur:
|
||||
|
||||
=over
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# Fixed menus
|
||||
include "menuGlobal.dbd"
|
||||
|
||||
# Modifyable menus
|
||||
# Modifiable menus
|
||||
include "menuConvert.dbd"
|
||||
include "menuScan.dbd"
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ void usage(const char *arg0, const std::string& base_dbd) {
|
||||
" -D <dbd> If used, must come first. Specify the path to the softIoc.dbdfile."
|
||||
" The compile-time install location is saved in the binary as a default.\n"
|
||||
"\n"
|
||||
" -h Print this mesage and exit.\n"
|
||||
" -h Print this message and exit.\n"
|
||||
"\n"
|
||||
" -S Prevents an interactive shell being started.\n"
|
||||
"\n"
|
||||
|
||||
@@ -405,7 +405,7 @@ field tables that refer to a locally-defined menu will generate a link to a
|
||||
document section which must be titled "Menu [menuName]".
|
||||
|
||||
The "title" keyword should only appear once in each file, it sets the document
|
||||
title as well as generating a "head1" heading with "EPICS Reference:" pre-pended
|
||||
title as well as generating a "head1" heading with "EPICS Reference:" prepended
|
||||
to the text.
|
||||
|
||||
=cut
|
||||
|
||||
@@ -98,7 +98,7 @@ static void testLinkParse(void)
|
||||
if (td->info.target && info.target)
|
||||
testStrcmp(0, info.target, td->info.target);
|
||||
else if(!!td->info.target ^ !!info.target)
|
||||
testFail("info target NULL mis-match %s %s", info.target, td->info.target);
|
||||
testFail("info target NULL mismatch %s %s", info.target, td->info.target);
|
||||
else
|
||||
testPass("info target NULL as expected");
|
||||
if (info.ltype == td->info.ltype) {
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# ERROR: alias using name of exising alias for different record
|
||||
# ERROR: alias using name of existing alias for different record
|
||||
alias("testrec", "testaliasAgain1")
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# ERROR: alias using name of exising record fails
|
||||
# ERROR: alias using name of existing record fails
|
||||
alias("testrecAgain", "testrec")
|
||||
|
||||
@@ -35,7 +35,7 @@ record(x, "testdelrec8") {
|
||||
}
|
||||
|
||||
record("#", "no:such:record") { }
|
||||
record("#", "also:non:existant") {
|
||||
record("#", "also:non:existent") {
|
||||
field(FOO, "5")
|
||||
}
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ xdrv *xdrv_get(int group)
|
||||
return curd;
|
||||
}
|
||||
}
|
||||
cantProceed("xdrv_get() for non-existant group");
|
||||
cantProceed("xdrv_get() for non-existent group");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ record(sub, "done1") {
|
||||
|
||||
|
||||
# original problem case
|
||||
# async record chained after syncronous record
|
||||
# async record chained after synchronous record
|
||||
record(calcout, "chain2:1") {
|
||||
field(CALC, "A:=A+1;B")
|
||||
# ODLY=0 synchronous
|
||||
|
||||
@@ -53,7 +53,7 @@ static void test_high(void){
|
||||
/* set VAL to process record */
|
||||
testdbPutFieldOk("test_bo_rec.VAL", DBF_SHORT, TRUE);
|
||||
|
||||
/* wait and verfiy time */
|
||||
/* wait and verify time */
|
||||
testMonitorWait(test_mon);
|
||||
epicsTimeGetCurrent(&endTime);
|
||||
|
||||
|
||||
@@ -1018,7 +1018,7 @@ POSIX_Init ( void *argument __attribute__((unused)))
|
||||
#if defined(QEMU_FIXUPS) && defined(__i386__)
|
||||
// glorious hack to stub out useless EEPROM check
|
||||
// which takes sooooo longggg w/ QEMU
|
||||
// Writes a 'ret' instruction to immediatly return to the caller
|
||||
// Writes a 'ret' instruction to immediately return to the caller
|
||||
extern void _bsd_e1000_validate_nvm_checksum(void);
|
||||
*(char*)&_bsd_e1000_validate_nvm_checksum = 0xc3;
|
||||
#endif
|
||||
|
||||
@@ -40,7 +40,7 @@ static int cond_search(const char **ppinst, int match);
|
||||
|
||||
/* calcPerform
|
||||
*
|
||||
* Evalutate the postfix expression
|
||||
* Evaluate the postfix expression
|
||||
*/
|
||||
LIBCOM_API long
|
||||
calcPerform(double *parg, double *presult, const char *pinst)
|
||||
|
||||
@@ -42,7 +42,7 @@ typedef enum {
|
||||
UNARY_OPERATOR,
|
||||
VARARG_OPERATOR,
|
||||
BINARY_OPERATOR,
|
||||
SEPERATOR,
|
||||
SEPARATOR,
|
||||
CLOSE_PAREN,
|
||||
CONDITIONAL,
|
||||
EXPR_TERMINATOR,
|
||||
@@ -155,7 +155,7 @@ static const ELEMENT operators[] = {
|
||||
{"*", 5, 5, -1, BINARY_OPERATOR,MULT},
|
||||
{"**", 6, 6, -1, BINARY_OPERATOR,POWER},
|
||||
{"+", 4, 4, -1, BINARY_OPERATOR,ADD},
|
||||
{",", 0, 0, 0, SEPERATOR, NOT_GENERATED},
|
||||
{",", 0, 0, 0, SEPARATOR, NOT_GENERATED},
|
||||
{"-", 4, 4, -1, BINARY_OPERATOR,SUB},
|
||||
{"/", 5, 5, -1, BINARY_OPERATOR,DIV},
|
||||
{":", 0, 0, -1, CONDITIONAL, COND_ELSE},
|
||||
@@ -343,7 +343,7 @@ LIBCOM_API long
|
||||
operand_needed = TRUE;
|
||||
break;
|
||||
|
||||
case SEPERATOR:
|
||||
case SEPARATOR:
|
||||
if (pstacktop == stack) {
|
||||
*perror = CALC_ERR_BAD_SEPERATOR;
|
||||
goto bad;
|
||||
|
||||
@@ -323,7 +323,7 @@ LIBCOM_API long
|
||||
|
||||
/** \brief Run the calculation engine
|
||||
*
|
||||
* Evaluates the postfix expression against a set ot input values.
|
||||
* Evaluates the postfix expression against a set of input values.
|
||||
*
|
||||
* \param parg Pointer to an array of double values for the arguments
|
||||
* \c A-U that can appear in the expression.
|
||||
|
||||
@@ -423,7 +423,7 @@ void resTable<T,ID>::show ( unsigned level ) const
|
||||
mean, stdDev, maxEntries );
|
||||
printf("%u empty buckets\n", empty);
|
||||
if ( X != this->nInUse ) {
|
||||
printf ("this->nInUse didnt match items counted which was %f????\n", X );
|
||||
printf ("this->nInUse didn't match items counted which was %f????\n", X );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1140,7 +1140,7 @@ stringId::~stringId()
|
||||
//
|
||||
// the HP-UX compiler gives us a warning on
|
||||
// each cast away of const, but in this case
|
||||
// it cant be avoided.
|
||||
// it can't be avoided.
|
||||
//
|
||||
// The DEC compiler complains that const isn't
|
||||
// really significant in a cast if it is present.
|
||||
|
||||
@@ -78,7 +78,7 @@ int dbmfInit(size_t size, int chunkItems)
|
||||
pdbmfPvt = &dbmfPvt;
|
||||
ellInit(&pdbmfPvt->chunkList);
|
||||
pdbmfPvt->lock = epicsMutexMustCreate();
|
||||
/*allign to at least a double*/
|
||||
/*align to at least a double*/
|
||||
pdbmfPvt->size = size + size%sizeof(double);
|
||||
/* layout is
|
||||
* | itemHeader | REDZONE | size | REDZONE |
|
||||
|
||||
2
modules/libcom/src/env/envDefs.h
vendored
2
modules/libcom/src/env/envDefs.h
vendored
@@ -82,7 +82,7 @@ LIBCOM_API extern const ENV_PARAM EPICS_ALLOW_POSIX_THREAD_PRIORITY_SCHEDULING;
|
||||
*
|
||||
* A NULL terminated array of all ENV_PARAM known to EPICS Base.
|
||||
* This array is assembled during the EPICS Base build, and
|
||||
* contains at least the preceeding parameters.
|
||||
* contains at least the preceding parameters.
|
||||
*/
|
||||
LIBCOM_API extern const ENV_PARAM *env_param_list[];
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ extern "C" {
|
||||
*
|
||||
* Handles EPICS message codes, and "errno" codes.
|
||||
*
|
||||
* Copies in a mesage for any status code. Unknown status codes
|
||||
* Copies in a message for any status code. Unknown status codes
|
||||
* are printed numerically.
|
||||
*/
|
||||
LIBCOM_API void errSymLookup(long status, char *pBuf, size_t bufLength);
|
||||
@@ -65,7 +65,7 @@ LIBCOM_API void errSymTest(epicsUInt16 modnum, epicsUInt16 begErrNum,
|
||||
LIBCOM_API void errSymTestPrint(long errNum);
|
||||
LIBCOM_API int errSymBld(void);
|
||||
/** @brief Define new custom error code and associate message string.
|
||||
* @param errNum New error code. Caller is reponsible for avoiding reuse of existing codes.
|
||||
* @param errNum New error code. Caller is responsible for avoiding reuse of existing codes.
|
||||
* @param message New message. Pointer stored. Caller must not free pointed storage.
|
||||
* @return 0 on success
|
||||
*/
|
||||
|
||||
@@ -71,7 +71,7 @@ LIBCOM_API fdctx * epicsStdCall fdmgr_init(void);
|
||||
* Specify a function to be called with a specified parameter
|
||||
* after a specified delay relative to the current time
|
||||
*
|
||||
* Returns fdmgrNoAlarm (zero) if alarm cant be created
|
||||
* Returns fdmgrNoAlarm (zero) if alarm can't be created
|
||||
*/
|
||||
#define fdmgrNoAlarm 0
|
||||
LIBCOM_API fdmgrAlarmId epicsStdCall fdmgr_add_timeout(
|
||||
|
||||
@@ -41,7 +41,7 @@ Changes between 2.3 Patch #2 (02Aug90) and original 2.3 release:
|
||||
Reordered #ifdef maze in the scanner skeleton in the hope of
|
||||
getting the declarations right for cfront and g++, too.
|
||||
|
||||
- Note that this patch supercedes patch #1 for release 2.3,
|
||||
- Note that this patch supersedes patch #1 for release 2.3,
|
||||
which was never announced but was available briefly for
|
||||
anonymous ftp.
|
||||
|
||||
@@ -56,7 +56,7 @@ Changes between 2.3 (full) release of 28Jun90 and 2.2 (alpha) release:
|
||||
given. To specify an end-of-file action for just the initial
|
||||
state, use <INITIAL><<EOF>>.
|
||||
|
||||
- -d debug output is now contigent on the global yy_flex_debug
|
||||
- -d debug output is now contingent on the global yy_flex_debug
|
||||
being set to a non-zero value, which it is by default.
|
||||
|
||||
- A new macro, YY_USER_INIT, is provided for the user to specify
|
||||
@@ -99,7 +99,7 @@ Changes between 2.3 (full) release of 28Jun90 and 2.2 (alpha) release:
|
||||
- yy_switch_to_buffer() can be used in the yywrap() macro/routine.
|
||||
|
||||
- flex scanners do not use stdio for their input, and hence when
|
||||
writing an interactive scanner one must explictly call fflush()
|
||||
writing an interactive scanner one must explicitly call fflush()
|
||||
after writing out a prompt.
|
||||
|
||||
- flex scanner can be made reentrant (after a fashion) by using
|
||||
|
||||
@@ -341,7 +341,7 @@
|
||||
|
||||
- yy_create_buffer( file, size ) takes a <I>FILE</I> pointer and
|
||||
an integer <I>size</I>. It returns a YY_BUFFER_STATE handle to
|
||||
a new input buffer large enough to accomodate <I>size</I>
|
||||
a new input buffer large enough to accommodate <I>size</I>
|
||||
characters and associated with the given file. When in
|
||||
doubt, use YY_BUF_SIZE for the size.
|
||||
|
||||
|
||||
@@ -602,7 +602,7 @@ extern void *reallocate_array(void *array, int size, int element_size);
|
||||
#define reallocate_character_array(array,size) \
|
||||
(Char *) reallocate_array( (void *) array, size, sizeof( Char ) )
|
||||
|
||||
#if 0 /* JRW this might couse trouble... but not for IOC usage */
|
||||
#if 0 /* JRW this might cause trouble... but not for IOC usage */
|
||||
/* used to communicate between scanner and parser. The type should really
|
||||
* be YYSTYPE, but we can't easily get our hands on it.
|
||||
*/
|
||||
@@ -710,7 +710,7 @@ extern void lerrsf (char[], char[]) NORETURN;
|
||||
/* spit out a "# line" statement */
|
||||
extern void line_directive_out (FILE*);
|
||||
|
||||
/* generate a data statment for a two-dimensional array */
|
||||
/* generate a data statement for a two-dimensional array */
|
||||
extern void mk2data (int);
|
||||
|
||||
/* generate a data statement */
|
||||
|
||||
@@ -500,7 +500,7 @@ void mkdeftbl(void)
|
||||
* (i.e., jam entries) into the table. It is assumed that by linking to
|
||||
* "JAMSTATE" they will be taken care of. In any case, entries in "state"
|
||||
* marking transitions to "SAME_TRANS" are treated as though they will be
|
||||
* taken care of by whereever "deflink" points. "totaltrans" is the total
|
||||
* taken care of by wherever "deflink" points. "totaltrans" is the total
|
||||
* number of transitions out of the state. If it is below a certain threshold,
|
||||
* the tables are searched for an interior spot that will accommodate the
|
||||
* state array.
|
||||
|
||||
@@ -83,7 +83,7 @@ typedef enum {
|
||||
initHookAfterInitDatabase, /**< Records and locksets init (also autosave pass 1) */
|
||||
initHookAfterFinishDevSup, /**< Device support init pass 1 */
|
||||
initHookAfterScanInit, /**< Scan, AS, ProcessNotify init */
|
||||
initHookAfterInitialProcess, /**< Records with PINI = YES processsed */
|
||||
initHookAfterInitialProcess, /**< Records with PINI = YES processed */
|
||||
initHookAfterCaServerInit, /**< RSRV init */
|
||||
initHookAfterIocBuilt, /**< End of iocBuild() */
|
||||
|
||||
@@ -154,7 +154,7 @@ typedef enum {
|
||||
|
||||
/** \brief Type for application callback functions
|
||||
*
|
||||
* Application callback functions must match this typdef.
|
||||
* Application callback functions must match this typedef.
|
||||
* \param state initHook enumeration value
|
||||
*/
|
||||
typedef void (*initHookFunction)(initHookState state);
|
||||
|
||||
@@ -1513,7 +1513,7 @@ static const iocshArg *onArgs[1] = {&onArg0};
|
||||
static const iocshFuncDef onFuncDef = {"on", 1, onArgs,
|
||||
"Change IOC shell error handling.\n"
|
||||
" continue (default) - Ignores error and continue with next commands.\n"
|
||||
" break - Return to caller without executing futher commands.\n"
|
||||
" break - Return to caller without executing further commands.\n"
|
||||
" halt - Suspend process.\n"
|
||||
" wait - stall process for <delay> seconds, then continue.\n"};
|
||||
static void onCallFunc(const iocshArgBuf *args)
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
/**
|
||||
* @file iocsh.h
|
||||
*
|
||||
* @brief C and C++ defintions of functions for IOC shell programming.
|
||||
* @brief C and C++ definitions of functions for IOC shell programming.
|
||||
*
|
||||
* @details
|
||||
* The iocsh API provides an interface for running commands in the shell
|
||||
@@ -83,7 +83,7 @@ typedef enum {
|
||||
/**
|
||||
* @union iocshArgBuf
|
||||
*
|
||||
* This union is used when building the func paramter of iocshRegister().
|
||||
* This union is used when building the func parameter of iocshRegister().
|
||||
* Each use should match the parameter type of the parameters of the
|
||||
* function being registered
|
||||
*
|
||||
@@ -257,7 +257,7 @@ LIBCOM_API void epicsStdCall iocshFree(void);
|
||||
LIBCOM_API int epicsStdCall iocsh(const char *pathname);
|
||||
|
||||
/**
|
||||
* @brief This function is used to exectute a single IOC shell command.
|
||||
* @brief This function is used to execute a single IOC shell command.
|
||||
*
|
||||
* @param cmd A string that represents the command to be executed.
|
||||
* @return 0 on success, non-zero on error
|
||||
@@ -268,7 +268,7 @@ LIBCOM_API int epicsStdCall iocshCmd(const char *cmd);
|
||||
/**
|
||||
* @brief Read and evaluate IOC shell commands from the given file. A list of macros
|
||||
* can be supplied as a parameter. These macros are treated as environment variables during
|
||||
* exectution of the file's commands.
|
||||
* execution of the file's commands.
|
||||
*
|
||||
* @param pathname A string that represents the path to a file from which commands are read.
|
||||
* @param macros NULL or a comma separated list of macro definitions. eg. "VAR1=x,VAR2=y"
|
||||
@@ -278,7 +278,7 @@ LIBCOM_API int epicsStdCall iocshLoad(const char *pathname, const char* macros);
|
||||
/**
|
||||
* @brief Evaluate a single IOC shell command. A list of macros can be supplied
|
||||
* as a parameter. These macros are treated as environment variables during
|
||||
* exectution of the command.
|
||||
* execution of the command.
|
||||
*
|
||||
* @param cmd Command string. eg. "echo \"something or other\""
|
||||
* @param macros NULL or a comma separated list of macro definitions. eg. "VAR1=x,VAR2=y"
|
||||
|
||||
@@ -215,7 +215,7 @@ static void registryDumpCallFunc(const iocshArgBuf *args)
|
||||
static const iocshFuncDef iocLogInitFuncDef = {"iocLogInit",0,0,
|
||||
"Initialize IOC logging\n"
|
||||
" * EPICS environment variable 'EPICS_IOC_LOG_INET' has to be defined\n"
|
||||
" * Logging controled via 'iocLogDisable' variable\n"
|
||||
" * Logging controlled via 'iocLogDisable' variable\n"
|
||||
" see 'setIocLogDisable' command\n"};
|
||||
static void iocLogInitCallFunc(const iocshArgBuf *args)
|
||||
{
|
||||
|
||||
@@ -670,7 +670,7 @@ static void writeMessagesToLog (struct iocLogClient *pclient)
|
||||
}
|
||||
else {
|
||||
if (status != ntci) {
|
||||
fprintf(stderr, "iocLogServer: didnt calculate number of characters correctly?\n");
|
||||
fprintf(stderr, "iocLogServer: didn't calculate number of characters correctly?\n");
|
||||
}
|
||||
pclient->pserver->filePos += status;
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ epicsStdCall macCreateHandle(
|
||||
/**
|
||||
* \brief Disable or enable warning messages.
|
||||
*
|
||||
* The macExpandString() routine prints warnings when it cant expand a macro.
|
||||
* The macExpandString() routine prints warnings when it can't expand a macro.
|
||||
* This routine can be used to silence those warnings. A non zero value will
|
||||
* suppress the warning messages from subsequent library routines given the
|
||||
* same \c handle.
|
||||
|
||||
@@ -28,7 +28,7 @@ a) long macCreateHandle( MAC_HANDLE **handle, char *pairs[] );
|
||||
routine.
|
||||
|
||||
macSuppressWarning can be called to suppress the marning message
|
||||
when macExpandString cant expand a macro. A non zero value will
|
||||
when macExpandString can't expand a macro. A non zero value will
|
||||
suppress the messages.
|
||||
|
||||
|
||||
@@ -125,7 +125,7 @@ a) macParseDefns( MAC_HANDLE *handle, char *defns, char **pairs[] );
|
||||
significant within values but ignored elsewhere (i.e. surrounding "="
|
||||
and "," characters).
|
||||
|
||||
Probably noone will ever want to, but the special meanings of "$",
|
||||
Probably no one will ever want to, but the special meanings of "$",
|
||||
"{", "}", "(", ")", "=" and "," can all be changed via macPutXxxx()
|
||||
calls. This routine does not have a handle argument, so they must be
|
||||
changed globally for it to use the new definitions. Should it have a
|
||||
|
||||
@@ -20,19 +20,19 @@
|
||||
|
||||
size_t adjustToWorstCaseAlignment(size_t size)
|
||||
{
|
||||
union aline {
|
||||
/* largest primative types (so far...) */
|
||||
union align {
|
||||
/* largest primitive types (so far...) */
|
||||
double dval;
|
||||
size_t uval;
|
||||
char *ptr;
|
||||
};
|
||||
|
||||
/* assert that alignment size is a power of 2 */
|
||||
STATIC_ASSERT((sizeof(union aline) & (sizeof(union aline)-1))==0);
|
||||
STATIC_ASSERT((sizeof(union align) & (sizeof(union align)-1))==0);
|
||||
|
||||
/* round up to aligment size */
|
||||
/* round up to alignment size */
|
||||
size--;
|
||||
size |= sizeof(union aline)-1;
|
||||
size |= sizeof(union align)-1;
|
||||
size++;
|
||||
|
||||
return size;
|
||||
|
||||
@@ -93,7 +93,7 @@ LIBCOM_API size_t epicsStrnEscapedFromRawSize(const char *buf, size_t len);
|
||||
*/
|
||||
LIBCOM_API int epicsStrCaseCmp(const char *s1, const char *s2);
|
||||
|
||||
/** \brief Does case-insensitive comparision of two strings
|
||||
/** \brief Does case-insensitive comparison of two strings
|
||||
*
|
||||
* Implements strncmp from the C standard library, except is case insensitive
|
||||
*/
|
||||
|
||||
@@ -155,7 +155,7 @@ void ipAddrToAsciiEngine::cleanup()
|
||||
ipAddrToAsciiEnginePrivate::pEngine = 0;
|
||||
}
|
||||
|
||||
// for now its probably sufficent to allocate one
|
||||
// for now its probably sufficient to allocate one
|
||||
// DNS transaction thread for all codes sharing
|
||||
// the same process that need DNS services but we
|
||||
// leave our options open for the future
|
||||
|
||||
@@ -7,7 +7,7 @@ is like the vxWorks sysClockRateGet().
|
||||
|
||||
|
||||
The implementation should be:
|
||||
Provide a default that determines the rate emperically at int time by
|
||||
Provide a default that determines the rate empirically at int time by
|
||||
calling epicsThreadSleep for amaller and smaller delays until the actual
|
||||
delay no longer decreases.
|
||||
Each os/xxx can override the default if desired.
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
/**
|
||||
* \file devLibVME.h
|
||||
* \author Marty Kraimer, Jeff Hill
|
||||
* \brief API for accessing hardware devices, mosty over VMEbus.
|
||||
* \brief API for accessing hardware devices, mostly over VMEbus.
|
||||
*
|
||||
* API for accessing hardware devices. The original APIs here were for
|
||||
* written for use with VMEbus but additional routines were added for
|
||||
|
||||
@@ -18,12 +18,12 @@
|
||||
*
|
||||
* These primitives can be safely used in a multithreaded programs on symmetric multiprocessing (SMP)
|
||||
* systems. Where possible the primitives are implemented with compiler intrinsic wrappers for architecture
|
||||
* specific instructions. Otherwise they are implemeted with OS specific functions and otherwise, when lacking
|
||||
* specific instructions. Otherwise they are implemented with OS specific functions and otherwise, when lacking
|
||||
* a sufficently capable OS specific interface, then in some rare situations a mutual exclusion primitive is
|
||||
* used for synchronization.
|
||||
*
|
||||
* In operating systems environments which allow C code to run at interrupt level the implementation must
|
||||
* use interrupt level invokable CPU instruction primitives.
|
||||
* use interrupt level invocable CPU instruction primitives.
|
||||
*
|
||||
* All C++ functions are implemented in the namespace atomics which is nested inside of namespace epics.
|
||||
*/
|
||||
|
||||
@@ -25,11 +25,11 @@
|
||||
#include "osdWireConfig.h"
|
||||
|
||||
#ifndef EPICS_BYTE_ORDER
|
||||
#error osdWireConfig.h didnt define EPICS_BYTE_ORDER
|
||||
#error osdWireConfig.h did not define EPICS_BYTE_ORDER
|
||||
#endif
|
||||
|
||||
#ifndef EPICS_FLOAT_WORD_ORDER
|
||||
#error osdWireConfig.h didnt define EPICS_FLOAT_WORD_ORDER
|
||||
#error osdWireConfig.h did not define EPICS_FLOAT_WORD_ORDER
|
||||
#endif
|
||||
|
||||
#endif /* INC_epicsEndian_H */
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
/*
|
||||
* NOTES:
|
||||
* 1) LOG_LAST_OWNER feature is normally commented out because
|
||||
* it slows down the system at run time, anfd because its not
|
||||
* it slows down the system at run time, and because it's not
|
||||
* currently safe to convert a thread id to a thread name because
|
||||
* the thread may have exited making the thread id invalid.
|
||||
*/
|
||||
|
||||
@@ -120,7 +120,7 @@ LIBCOM_API int epicsTimeGetMonotonic ( epicsTimeStamp * pDest );
|
||||
/** \name ISR-callable
|
||||
* These routines may be called from an Interrupt Service Routine, and
|
||||
* will return a value from the last current time or event time provider
|
||||
* that sucessfully returned a result from the equivalent non-ISR routine.
|
||||
* that successfully returned a result from the equivalent non-ISR routine.
|
||||
* @{
|
||||
*/
|
||||
/** \brief Get current time into \p *pDest (ISR-safe) */
|
||||
|
||||
@@ -362,7 +362,7 @@ static int rtemsDevInterruptInUseVME (unsigned vectorNumber)
|
||||
return FALSE;
|
||||
|
||||
/*
|
||||
* its a C routine. Does it match a default handler?
|
||||
* it's a C routine. Does it match a default handler?
|
||||
*/
|
||||
for (i=0; i<NELEMENTS(defaultHandlerAddr); i++) {
|
||||
if (defaultHandlerAddr[i] == psub) {
|
||||
|
||||
@@ -35,7 +35,7 @@ LIBCOM_API FILE * epicsStdCall epicsTempFile ()
|
||||
* condition where two programs end up receiving the
|
||||
* same temporary file name.
|
||||
*
|
||||
* _O_CREAT create if non-existant
|
||||
* _O_CREAT create if non-existent
|
||||
* _O_EXCL file must not exist
|
||||
* _O_RDWR read and write the file
|
||||
* _O_TEMPORARY delete file on close
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user