Fix spelling in comments
Should be non-functional, except for some error message strings.
This commit is contained in:
@@ -497,7 +497,7 @@ long epicsStdCall asCompute(ASCLIENTPVT asClientPvt)
|
||||
return(status);
|
||||
}
|
||||
|
||||
/*The dump routines do not lock. Thus they may get inconsistant data.*/
|
||||
/*The dump routines do not lock. Thus they may get inconsistent data.*/
|
||||
/*HOWEVER if they did lock and a user interrupts one of then then BAD BAD*/
|
||||
static const char *asAccessName[] = {"NONE","READ","WRITE"};
|
||||
static const char *asTrapOption[] = {"NOTRAPWRITE","TRAPWRITE"};
|
||||
|
||||
@@ -30,8 +30,8 @@ extern "C" {
|
||||
* \brief The message passed to registered listeners.
|
||||
*/
|
||||
typedef struct asTrapWriteMessage {
|
||||
const char *userid; /**< \brief Userid of whoever orginated the request. */
|
||||
const char *hostid; /**< \brief Hostid of whoever orginated the request. */
|
||||
const char *userid; /**< \brief Userid of whoever originated the request. */
|
||||
const char *hostid; /**< \brief Hostid of whoever originated the request. */
|
||||
/** \brief A field for use by the server.
|
||||
*
|
||||
* Any listener that uses this field must know what type of
|
||||
|
||||
@@ -347,7 +347,7 @@ static int bucketAddItem(BUCKET *prb, bucketSET *pBSET, const void *pId, const v
|
||||
assert ((hashid & ~prb->hashIdMask) == 0);
|
||||
ppi = &prb->pTable[hashid];
|
||||
/*
|
||||
* Dont reuse a resource id !
|
||||
* Don't reuse a resource id !
|
||||
*/
|
||||
ppiExists = (*pBSET->pCompare) (ppi, pId);
|
||||
if (ppiExists) {
|
||||
|
||||
@@ -288,7 +288,7 @@ LIBCOM_API long
|
||||
break;
|
||||
|
||||
/* Be VERY careful converting double to int in case bit 31 is set!
|
||||
* Out-of-range errors give very different results on different sytems.
|
||||
* Out-of-range errors give very different results on different systems.
|
||||
* Convert negative doubles to signed and positive doubles to unsigned
|
||||
* first to avoid overflows if bit 32 is set.
|
||||
* The result is always signed, values with bit 31 set are negative
|
||||
|
||||
@@ -122,7 +122,7 @@ extern "C" {
|
||||
* \param perror Place to return an error code
|
||||
* \return Non-zero value in event of error
|
||||
*
|
||||
* It is the callers's responsibility to ensure that \c ppostfix points
|
||||
* It is the caller's responsibility to ensure that \c ppostfix points
|
||||
* to sufficient storage to hold the postfix expression. The macro
|
||||
* INFIX_TO_POSTFIX_SIZE(n) can be used to calculate an appropriate
|
||||
* postfix buffer size from the length of the infix buffer.
|
||||
@@ -212,7 +212,7 @@ extern "C" {
|
||||
*
|
||||
* -# ***Algebraic Functions***
|
||||
* Various algebraic functions are available which take parameters inside
|
||||
* parentheses. The parameter seperator is a comma.
|
||||
* parentheses. The parameter separator is a comma.
|
||||
*
|
||||
* - Absolute value: abs(a)
|
||||
* - Exponential ea: exp(a)
|
||||
@@ -291,7 +291,7 @@ extern "C" {
|
||||
* - a < 360 ? a+1 : 0
|
||||
*
|
||||
* -# ***Parentheses***
|
||||
* Sub-expressions can be placed within parentheses to override operator precence rules.
|
||||
* Sub-expressions can be placed within parentheses to override operator presence rules.
|
||||
* Parentheses can be nested to any depth, but the intermediate value stack used by
|
||||
* the expression evaluation engine is limited to 80 results (which require an
|
||||
* expression at least 321 characters long to reach).
|
||||
@@ -323,7 +323,7 @@ LIBCOM_API long
|
||||
* bitmaps which return that information to the caller. Passing a NULL value
|
||||
* for either of these pointers is legal if only the other is needed.
|
||||
*
|
||||
* The least signficant bit (bit 0) of the bitmap at \c *pinputs will be set
|
||||
* The least significant bit (bit 0) of the bitmap at \c *pinputs will be set
|
||||
* if the expression depends on the argument A, and so on through bit 11 for
|
||||
* the argument L. An argument that is not used until after a value has been
|
||||
* assigned to it will not be set in the pinputs bitmap, thus the bits can
|
||||
|
||||
@@ -93,7 +93,7 @@ int cvtFloatToString(float flt_value, char *pdest,
|
||||
|
||||
/* fraction */
|
||||
if (precision > 0){
|
||||
/* convert fractional portional to ASCII */
|
||||
/* convert fractional portion to ASCII */
|
||||
*pdest = '.';
|
||||
pdest++;
|
||||
for (fplace /= 10, i = precision; i > 0; fplace /= 10,i--){
|
||||
@@ -174,7 +174,7 @@ int cvtDoubleToString(
|
||||
|
||||
/* fraction */
|
||||
if (precision > 0){
|
||||
/* convert fractional portional to ASCII */
|
||||
/* convert fractional portion to ASCII */
|
||||
*pdest = '.';
|
||||
pdest++;
|
||||
for (fplace /= 10, i = precision; i > 0; fplace /= 10,i--){
|
||||
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
};
|
||||
friend class reference;
|
||||
epicsSingleton () {}
|
||||
// mutex lock/unlock pair overhead incured
|
||||
// mutex lock/unlock pair overhead incurred
|
||||
// when either of these are called
|
||||
reference getReference ();
|
||||
const reference getReference () const;
|
||||
@@ -168,12 +168,12 @@ inline void * SingletonUntyped :: pInstance () const
|
||||
|
||||
inline SingletonUntyped :: ~SingletonUntyped ()
|
||||
{
|
||||
// we dont assert fail on non-zero _refCount
|
||||
// we don't assert fail on non-zero _refCount
|
||||
// and or non nill _pInstance here because this
|
||||
// is designed to tolarate situations where
|
||||
// is designed to tolerate situations where
|
||||
// file scope epicsSingleton objects (which
|
||||
// theoretically dont have storage lifespan
|
||||
// issues) are deleted in a non-determanistic
|
||||
// theoretically don't have storage lifespan
|
||||
// issues) are deleted in a non-deterministic
|
||||
// order
|
||||
# if 0
|
||||
assert ( _refCount == 0 );
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
* indexing is implemented with a hash lookup. The identifier type
|
||||
* implements the hash algorithm (or derives from one of the supplied
|
||||
* identifier types which provide a hashing routine). The table expands
|
||||
* dynamically depending on load, and without introducing non-determanistic
|
||||
* dynamically depending on load, and without introducing non-deterministic
|
||||
* latency.
|
||||
*
|
||||
* Unsigned integer and string identifier classes are supplied here.
|
||||
@@ -86,13 +86,13 @@ public:
|
||||
void removeAll ( tsSLList<T> & destination ); // remove all entries
|
||||
T * lookup ( const ID &idIn ) const; // locate entry
|
||||
// Call (pT->*pCB) () for each entry but expect poor performance
|
||||
// with sparcely populated tables
|
||||
// with sparsely populated tables
|
||||
void traverse ( void (T::*pCB)() );
|
||||
void traverseConst ( void (T::*pCB)() const ) const;
|
||||
unsigned numEntriesInstalled () const;
|
||||
void setTableSize ( const unsigned newTableSize );
|
||||
// iterate through all entries but expect poor performance
|
||||
// with sparcely populated tables
|
||||
// with sparsely populated tables
|
||||
typedef resTableIter < T, ID > iterator;
|
||||
typedef resTableIterConst < T, ID > iteratorConst;
|
||||
iterator firstIter ();
|
||||
@@ -523,7 +523,7 @@ inline unsigned resTable<T,ID>::tableSize () const
|
||||
}
|
||||
}
|
||||
|
||||
// it will be more efficent to call this once prior to installing
|
||||
// it will be more efficient to call this once prior to installing
|
||||
// the first entry
|
||||
template <class T, class ID>
|
||||
void resTable<T,ID>::setTableSize ( const unsigned newTableSize )
|
||||
@@ -550,12 +550,12 @@ void resTable<T,ID>::setTableSize ( const unsigned newTableSize )
|
||||
template <class T, class ID>
|
||||
bool resTable<T,ID>::setTableSizePrivate ( unsigned logBaseTwoTableSizeIn )
|
||||
{
|
||||
// dont shrink
|
||||
// don't shrink
|
||||
if ( this->logBaseTwoTableSize >= logBaseTwoTableSizeIn ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// dont allow ridiculously small tables
|
||||
// don't allow ridiculously small tables
|
||||
if ( logBaseTwoTableSizeIn < 4 ) {
|
||||
logBaseTwoTableSizeIn = 4;
|
||||
}
|
||||
@@ -1036,14 +1036,14 @@ inline resTableIndex integerHash ( unsigned MIN_INDEX_WIDTH,
|
||||
resTableIndex hashid = static_cast <resTableIndex> ( id );
|
||||
|
||||
//
|
||||
// the intent here is to gurantee that all components of the
|
||||
// the intent here is to guarantee that all components of the
|
||||
// integer contribute even if the resTableIndex returned might
|
||||
// index a small table.
|
||||
//
|
||||
// On most compilers the optimizer will unroll this loop so this
|
||||
// is actually a very small inline function
|
||||
//
|
||||
// Experiments using the microsoft compiler show that this isnt
|
||||
// Experiments using the microsoft compiler show that this isn't
|
||||
// slower than switching on the architecture size and unrolling the
|
||||
// loop explicitly (that solution has resulted in portability
|
||||
// problems in the past).
|
||||
@@ -1142,7 +1142,7 @@ stringId::~stringId()
|
||||
// each cast away of const, but in this case
|
||||
// it cant be avoided.
|
||||
//
|
||||
// The DEC compiler complains that const isnt
|
||||
// The DEC compiler complains that const isn't
|
||||
// really significant in a cast if it is present.
|
||||
//
|
||||
// I hope that deleting a pointer to "char"
|
||||
|
||||
@@ -434,7 +434,7 @@ inline void tsDLList<T>::push (T &item)
|
||||
|
||||
//
|
||||
// tsDLList<T>::find ()
|
||||
// returns -1 if the item isnt on the list
|
||||
// returns -1 if the item isn't on the list
|
||||
// and the node number (beginning with zero if
|
||||
// it is)
|
||||
//
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
//
|
||||
// NOTES:
|
||||
//
|
||||
// 1) A NOOP mutex class may be specified if mutual exclusion isnt required
|
||||
// 1) A NOOP mutex class may be specified if mutual exclusion isn't required
|
||||
//
|
||||
// 2) If you wish to force use of the new operator, then declare your class's
|
||||
// destructor as a protected member function.
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
* Author: Jim Kowalkowski and Marty Kraimer
|
||||
* Date: 4/97
|
||||
*
|
||||
* Intended for applications that create and free requently
|
||||
* Intended for applications that create and free frequently
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
*
|
||||
* Routines whin iocCore like dbLoadDatabase() have the following attributes:
|
||||
* - They repeatedly call malloc() followed soon afterwards by a call to
|
||||
* free() the temporaryily allocated storage.
|
||||
* free() the temporarily allocated storage.
|
||||
* - Between those calls to malloc() and free(), additional calls to
|
||||
* malloc() are made that do NOT have an associated free().
|
||||
*
|
||||
|
||||
@@ -39,9 +39,9 @@ void ellAdd (ELLLIST *pList, ELLNODE *pNode)
|
||||
}
|
||||
/****************************************************************************
|
||||
*
|
||||
* This function concatinates the second linked list to the end of the first
|
||||
* This function concatenates the second linked list to the end of the first
|
||||
* list. The second list is left empty. Either list (or both) lists may
|
||||
* be empty at the begining of the operation.
|
||||
* be empty at the beginning of the operation.
|
||||
*
|
||||
*****************************************************************************/
|
||||
void ellConcat (ELLLIST *pDstList, ELLLIST *pAddList)
|
||||
|
||||
@@ -535,7 +535,7 @@ void errlogFlush(void)
|
||||
if (pvtData.atExit)
|
||||
return;
|
||||
|
||||
/*If nothing in queue dont wake up errlogThread*/
|
||||
/*If nothing in queue don't wake up errlogThread*/
|
||||
epicsMutexMustLock(pvtData.msgQueueLock);
|
||||
count = ellCount(&pvtData.msgQueue);
|
||||
epicsMutexUnlock(pvtData.msgQueueLock);
|
||||
|
||||
@@ -159,7 +159,7 @@ LIBCOM_API void fdManager::process (double delay)
|
||||
if (this->pCBReg != NULL) {
|
||||
//
|
||||
// check only after we see that it is non-null so
|
||||
// that we dont trigger bounds-checker dangling pointer
|
||||
// that we don't trigger bounds-checker dangling pointer
|
||||
// error
|
||||
//
|
||||
assert (this->pCBReg==pReg);
|
||||
@@ -177,8 +177,8 @@ LIBCOM_API void fdManager::process (double delay)
|
||||
else if ( status < 0 ) {
|
||||
int errnoCpy = SOCKERRNO;
|
||||
|
||||
// dont depend on flags being properly set if
|
||||
// an error is retuned from select
|
||||
// don't depend on flags being properly set if
|
||||
// an error is returned from select
|
||||
for ( size_t i = 0u; i < fdrNEnums; i++ ) {
|
||||
FD_ZERO ( &fdSetsPtr[i] );
|
||||
}
|
||||
|
||||
@@ -318,7 +318,7 @@ extern "C" LIBCOM_API int epicsStdCall fdmgr_delete (fdctx *pfdctx)
|
||||
}
|
||||
|
||||
/*
|
||||
* depricated interface
|
||||
* deprecated interface
|
||||
*/
|
||||
extern "C" LIBCOM_API int epicsStdCall fdmgr_clear_fd (fdctx *pfdctx, SOCKET fd)
|
||||
{
|
||||
@@ -326,7 +326,7 @@ extern "C" LIBCOM_API int epicsStdCall fdmgr_clear_fd (fdctx *pfdctx, SOCKET fd)
|
||||
}
|
||||
|
||||
/*
|
||||
* depricated interface
|
||||
* deprecated interface
|
||||
*/
|
||||
extern "C" LIBCOM_API int epicsStdCall fdmgr_add_fd (
|
||||
fdctx *pfdctx, SOCKET fd, void (*pfunc)(void *pParam), void *param)
|
||||
|
||||
@@ -117,7 +117,7 @@ void *param /* first parameter passed to the func */
|
||||
|
||||
/*
|
||||
*
|
||||
* Clear nterest in a type of file descriptor activity (IO).
|
||||
* Clear interest in a type of file descriptor activity (IO).
|
||||
*
|
||||
*/
|
||||
LIBCOM_API int epicsStdCall fdmgr_clear_callback(
|
||||
|
||||
@@ -128,7 +128,7 @@ void check_trailing_context(int *nfa_states, int num_states, int *accset, int na
|
||||
|
||||
/* dump_associated_rules - list the rules associated with a DFA state
|
||||
*
|
||||
* synopisis
|
||||
* synopsis
|
||||
* int ds;
|
||||
* FILE *file;
|
||||
* dump_associated_rules( file, ds );
|
||||
@@ -179,7 +179,7 @@ void dump_associated_rules(FILE *file, int ds)
|
||||
|
||||
/* dump_transitions - list the transitions associated with a DFA state
|
||||
*
|
||||
* synopisis
|
||||
* synopsis
|
||||
* int state[numecs];
|
||||
* FILE *file;
|
||||
* dump_transitions( file, state );
|
||||
@@ -449,7 +449,7 @@ void ntod(void)
|
||||
* since for them we don't have a simple state number lying around with
|
||||
* which to index the table. We also don't bother doing it for scanners
|
||||
* unless (1) NUL is in its own equivalence class (indicated by a
|
||||
* positive value of ecgroup[NUL]), (2) NUL's equilvalence class is
|
||||
* positive value of ecgroup[NUL]), (2) NUL's equivalence class is
|
||||
* the last equivalence class, and (3) the number of equivalence classes
|
||||
* is the same as the number of characters. This latter case comes about
|
||||
* when useecs is false or when its true but every character still
|
||||
|
||||
@@ -602,7 +602,7 @@ 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 truuble... but not for IOC usage */
|
||||
#if 0 /* JRW this might couse 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.
|
||||
*/
|
||||
|
||||
@@ -92,13 +92,13 @@ LIBCOM_API int epicsStdCall iocsh(const char *pathname);
|
||||
LIBCOM_API int epicsStdCall iocshCmd(const char *cmd);
|
||||
/** Read and evaluate IOC shell commands from the given file.
|
||||
* \param pathname Path to script file
|
||||
* \param macros NULL or a comma seperated list of macro definitions. eg. "VAR1=x,VAR2=y"
|
||||
* \param macros NULL or a comma separated list of macro definitions. eg. "VAR1=x,VAR2=y"
|
||||
* \return 0 on success, non-zero on error
|
||||
*/
|
||||
LIBCOM_API int epicsStdCall iocshLoad(const char *pathname, const char* macros);
|
||||
/** Evaluate a single IOC shell command
|
||||
* \param cmd Command string. eg. "echo \"something or other\""
|
||||
* \param macros NULL or a comma seperated list of macro definitions. eg. "VAR1=x,VAR2=y"
|
||||
* \param macros NULL or a comma separated list of macro definitions. eg. "VAR1=x,VAR2=y"
|
||||
* \return 0 on success, non-zero on error
|
||||
*/
|
||||
LIBCOM_API int epicsStdCall iocshRun(const char *cmd, const char* macros);
|
||||
|
||||
@@ -127,7 +127,7 @@ int epicsStdCall iocLogInit (void)
|
||||
return iocLogSuccess;
|
||||
}
|
||||
/*
|
||||
* dont init twice
|
||||
* don't init twice
|
||||
*/
|
||||
if (iocLogClient!=NULL) {
|
||||
return iocLogSuccess;
|
||||
|
||||
@@ -261,7 +261,7 @@ static int seekLatestLine (struct ioc_log_server *pserver)
|
||||
static const int tm_epoch_year = 1900;
|
||||
if (theDate.tm_year>tm_epoch_year) {
|
||||
theDate.tm_year -= tm_epoch_year;
|
||||
theDate.tm_isdst = -1; /* dont know */
|
||||
theDate.tm_isdst = -1; /* don't know */
|
||||
lineTime = mktime (&theDate);
|
||||
if ( lineTime != invalidTime ) {
|
||||
if (theLatestTime == invalidTime ||
|
||||
@@ -590,7 +590,7 @@ static void writeMessagesToLog (struct iocLogClient *pclient)
|
||||
* find the first carrage return and create
|
||||
* an entry in the log for the message associated
|
||||
* with it. If a carrage return does not exist and
|
||||
* the buffer isnt full then move the partial message
|
||||
* the buffer isn't full then move the partial message
|
||||
* to the front of the buffer and wait for a carrage
|
||||
* return to arrive. If the buffer is full and there
|
||||
* is no carrage return then force the message out and
|
||||
|
||||
@@ -54,7 +54,7 @@ typedef struct mac_entry {
|
||||
/*** Local function prototypes ***/
|
||||
|
||||
/*
|
||||
* These static functions peform low-level operations on macro entries
|
||||
* These static functions perform low-level operations on macro entries
|
||||
*/
|
||||
static MAC_ENTRY *first ( MAC_HANDLE *handle );
|
||||
static MAC_ENTRY *last ( MAC_HANDLE *handle );
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
/* Up to now epicsShareThings have been declared as imports
|
||||
* (Appropriate for other stuff)
|
||||
* After setting the following they will be declared as exports
|
||||
* (Appropriate for what we implenment)
|
||||
* (Appropriate for what we implement)
|
||||
*/
|
||||
#include "adjustment.h"
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
/** \brief Find parent object from a member pointer
|
||||
*
|
||||
* Subtracts the byte offset of the member in the structure from the
|
||||
* pointer to the member itself, giving a pointer to parent strucure.
|
||||
* pointer to the member itself, giving a pointer to parent structure.
|
||||
* \param ptr Pointer to a member data field of a structure
|
||||
* \param structure Type name of the parent structure
|
||||
* \param member Field name of the data member
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2012 UChicago Argonna LLC, as Operator of Argonne
|
||||
* Copyright (c) 2012 UChicago Argonne LLC, as Operator of Argonne
|
||||
* National Laboratory.
|
||||
* Copyright (c) 2002 The Regents of the University of California, as
|
||||
* Operator of Los Alamos National Laboratory.
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
/**
|
||||
* \file epicsStdlib.h
|
||||
* \brief Functions to convert strings to primative types
|
||||
* \brief Functions to convert strings to primitive types
|
||||
*
|
||||
* These routines convert a string into an integer of the indicated type and
|
||||
* number base, or into a floating point type. The units pointer argument may
|
||||
@@ -163,7 +163,7 @@ LIBCOM_API int
|
||||
#define epicsParseFloat64(str, to, units) epicsParseDouble(str, to, units)
|
||||
|
||||
/* These macros return 1 if successful, 0 on failure.
|
||||
* This is analagous to the return value from sscanf()
|
||||
* This is analogous to the return value from sscanf()
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
#ifndef vxWorks
|
||||
#include <stdint.h>
|
||||
#else
|
||||
/* VxWorks automaticaly includes stdint.h defining SIZE_MAX in 6.9 but not earlier */
|
||||
/* VxWorks automatically includes stdint.h defining SIZE_MAX in 6.9 but not earlier */
|
||||
#ifndef SIZE_MAX
|
||||
#define SIZE_MAX (size_t)-1
|
||||
#endif
|
||||
|
||||
@@ -59,7 +59,7 @@ typedef epicsInt32 epicsStatus;
|
||||
#define MAX_STRING_SIZE 40
|
||||
|
||||
/**
|
||||
* \brief !! Dont use this - it may vanish in the future !!
|
||||
* \brief !! Don't use this - it may vanish in the future !!
|
||||
*/
|
||||
typedef struct {
|
||||
unsigned length;
|
||||
@@ -67,7 +67,7 @@ typedef struct {
|
||||
} epicsString;
|
||||
|
||||
/**
|
||||
* \brief !! Dont use this - it may vanish in the future !!
|
||||
* \brief !! Don't use this - it may vanish in the future !!
|
||||
*
|
||||
* Provided only for backwards compatibility with
|
||||
* db_access.h
|
||||
|
||||
@@ -99,7 +99,7 @@ static void testOnce(void *dummy) {
|
||||
#ifdef HAVE_SETERROMODE
|
||||
/* SEM_FAILCRITICALERRORS - Don't display modal dialog
|
||||
* !SEM_NOALIGNMENTFAULTEXCEPT - auto-fix unaligned access
|
||||
* !SEM_NOGPFAULTERRORBOX - enable Windows Error Reporting (also enables post-mortem debugger hooks)
|
||||
* !SEM_NOGPFAULTERRORBOX - enable Windows Error Reporting (also enables postmortem debugger hooks)
|
||||
* SEM_NOOPENFILEERRORBOX - Don't display modal dialog
|
||||
*/
|
||||
SetErrorMode(SEM_FAILCRITICALERRORS|SEM_NOOPENFILEERRORBOX);
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
* be recorded as failures.
|
||||
*
|
||||
* Additional information can be supplied using the testDiag() routine, which
|
||||
* displays the relevent information as a comment in the result output. None of
|
||||
* displays the relevant information as a comment in the result output. None of
|
||||
* the printable strings passed to any testXxx() routine should contain a newline
|
||||
* '\n' character, newlines will be added by the test routines as part of the
|
||||
* Test Anything Protocol. For multiple lines of diagnostic output, call
|
||||
@@ -80,7 +80,7 @@
|
||||
* server) can not be shut down cleanly. The function iocBuildIsolated() allows
|
||||
* to start an IOC without its Channel Access parts, so that it can be shutdown
|
||||
* quite cleanly using iocShutdown(). This feature is only intended to be used
|
||||
* from test programs, do not use it on productional IOCs. After building the
|
||||
* from test programs, do not use it on production IOCs. After building the
|
||||
* IOC using iocBuildIsolated() or iocBuild(), it has to be started by calling
|
||||
* iocRun(). The suggested call sequence in a test program that needs to run the
|
||||
* IOC without Channel Access is:
|
||||
@@ -238,7 +238,7 @@ LIBCOM_API int testDiag(const char *fmt, ...)
|
||||
*/
|
||||
LIBCOM_API int testDone(void);
|
||||
|
||||
/** \brief Return non-zero in shared/oversubscribed testing envrionments
|
||||
/** \brief Return non-zero in shared/oversubscribed testing environments
|
||||
*
|
||||
* May be used to testSkip(), or select longer timeouts, for some cases
|
||||
* when the test process may be preempted for arbitrarily long times.
|
||||
|
||||
@@ -338,7 +338,7 @@ void ipAddrToAsciiGlobal::run ()
|
||||
|
||||
{
|
||||
epicsGuardRelease < epicsMutex > unguard ( guard );
|
||||
// dont call callback with lock applied
|
||||
// don't call callback with lock applied
|
||||
pCur->pCB->transactionComplete ( this->nameTmp );
|
||||
}
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
*
|
||||
* By default shareLib.h sets the DLL import / export keywords to import from
|
||||
* a DLL so that, for DLL consumers (users), nothing special must be done. However,
|
||||
* DLL implementors must set epicsExportSharedSymbols as above to specify
|
||||
* DLL implementers must set epicsExportSharedSymbols as above to specify
|
||||
* which functions are exported from the DLL and which of them are imported
|
||||
* from other DLLs.
|
||||
*
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
#endif
|
||||
|
||||
/*
|
||||
* truncate to specified size (we dont use truncate()
|
||||
* truncate to specified size (we don't use truncate()
|
||||
* because it is not portable)
|
||||
*/
|
||||
LIBCOM_API enum TF_RETURN truncateFile (const char *pFileName, unsigned long size)
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
#ifndef compilerSpecific_h
|
||||
#define compilerSpecific_h
|
||||
|
||||
/* The 'inline' key work, possibily with compiler
|
||||
/* The 'inline' keyword, possibly with compiler
|
||||
* dependent flags to force inlineing where it would
|
||||
* otherwise not be done.
|
||||
*
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
#ifdef __cplusplus
|
||||
|
||||
/*
|
||||
* in general we dont like ifdefs but they do allow us to check the
|
||||
* in general we don't like ifdefs but they do allow us to check the
|
||||
* compiler version and make the optimistic assumption that
|
||||
* standards incompliance issues will be fixed by future compiler
|
||||
* releases
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
#ifdef __cplusplus
|
||||
|
||||
/*
|
||||
* in general we dont like ifdefs but they do allow us to check the
|
||||
* in general we don't like ifdefs but they do allow us to check the
|
||||
* compiler version and make the optimistic assumption that
|
||||
* standards incompliance issues will be fixed by future compiler
|
||||
* releases
|
||||
|
||||
@@ -149,7 +149,7 @@ long devBusToLocalAddr(
|
||||
volatile void *localAddress;
|
||||
|
||||
/*
|
||||
* Make sure that devLib has been intialized
|
||||
* Make sure that devLib has been initialized
|
||||
*/
|
||||
if (!devLibInitFlag) {
|
||||
status = devLibInit();
|
||||
@@ -264,7 +264,7 @@ long devRegisterAddress(
|
||||
* devReadProbe()
|
||||
*
|
||||
* a bus error safe "wordSize" read at the specified address which returns
|
||||
* unsuccessful status if the device isnt present
|
||||
* unsuccessful status if the device isn't present
|
||||
*/
|
||||
long devReadProbe (unsigned wordSize, volatile const void *ptr, void *pValue)
|
||||
{
|
||||
@@ -284,7 +284,7 @@ long devReadProbe (unsigned wordSize, volatile const void *ptr, void *pValue)
|
||||
* devWriteProbe
|
||||
*
|
||||
* a bus error safe "wordSize" write at the specified address which returns
|
||||
* unsuccessful status if the device isnt present
|
||||
* unsuccessful status if the device isn't present
|
||||
*/
|
||||
long devWriteProbe (unsigned wordSize, volatile void *ptr, const void *pValue)
|
||||
{
|
||||
@@ -1112,7 +1112,7 @@ long locationProbe (epicsAddressType addrType, char *pLocation)
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* The follwing may, or may not be present in the BSP for the CPU in use.
|
||||
* The following may, or may not be present in the BSP for the CPU in use.
|
||||
*
|
||||
*/
|
||||
/******************************************************************************
|
||||
|
||||
@@ -67,7 +67,7 @@ extern "C" {
|
||||
|
||||
/** \brief Print a map of registered bus addresses.
|
||||
*
|
||||
* Display a table of registsred bus address ranges, including the owner of
|
||||
* Display a table of registered bus address ranges, including the owner of
|
||||
* each registered address.
|
||||
* \return 0, or an error status value
|
||||
*/
|
||||
@@ -246,7 +246,7 @@ LIBCOM_API int devInterruptInUseVME (unsigned vectorNumber);
|
||||
/** \brief Enable a VME interrupt level onto the CPU.
|
||||
*
|
||||
* The VMEbus allows multiple CPU boards to be installed in the same
|
||||
* backplane. When this is done, the differente VME interrupt levels
|
||||
* backplane. When this is done, the different VME interrupt levels
|
||||
* must be assigned to the CPUs since they cannot be shared. This
|
||||
* routine tells the VME interface that it should connect interrupts
|
||||
* from the indicated interrupt level to a CPU interrupt line.
|
||||
|
||||
@@ -31,7 +31,7 @@ extern "C" {
|
||||
* \brief A table of function pointers for devLibVME implementations
|
||||
*
|
||||
* The global virtual OS table \ref pdevLibVME controls
|
||||
* the behaviour of the functions defined in devLib.h.
|
||||
* the behavior of the functions defined in devLib.h.
|
||||
* All of which call into the functions found in this table
|
||||
* to perform system specific tasks.
|
||||
*/
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
*
|
||||
* This header also provides a compile-time assertion macro STATIC_ASSERT()
|
||||
* which can be used to check a constant-expression at compile-time. The C or
|
||||
* C++ compiler will flag an error if the expresstion evaluates to 0. The
|
||||
* C++ compiler will flag an error if the expression evaluates to 0. The
|
||||
* STATIC_ASSERT() macro can only be used where a \c typedef is syntactically
|
||||
* legal.
|
||||
**/
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#ifndef INC_epicsAtomicGCC_H
|
||||
#define INC_epicsAtomicGCC_H
|
||||
|
||||
/* expands __GCC_HAVE_SYNC_COMPARE_AND_SWAP_ concatentating
|
||||
/* expands __GCC_HAVE_SYNC_COMPARE_AND_SWAP_ concatenating
|
||||
* the numeric value __SIZEOF_*__
|
||||
*/
|
||||
#define GCC_ATOMIC_CONCAT( A, B ) GCC_ATOMIC_CONCATR(A,B)
|
||||
|
||||
@@ -34,7 +34,7 @@ const char * epicsEvent::invalidSemaphore::what () const throw ()
|
||||
|
||||
//
|
||||
// Its probably preferable to not make these inline because they are in
|
||||
// the sharable library interface. The use of inline or not here is probably
|
||||
// the shareable library interface. The use of inline or not here is probably
|
||||
// not an issue because all of this ends up in the operating system in system
|
||||
// calls
|
||||
//
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
* \brief APIs for the epicsEvent binary semaphore.
|
||||
*
|
||||
* Defines the C++ and C API's for a simple binary semaphore. If multiple threads are
|
||||
* waiting on the same event, only one of them will be woken when the event is signalled.
|
||||
* waiting on the same event, only one of them will be woken when the event is signaled.
|
||||
*
|
||||
* The primary use of an event semaphore is for thread synchronization. An example of using an
|
||||
* event semaphore is a consumer thread that processes requests from one or more producer threads.
|
||||
@@ -103,13 +103,13 @@ public:
|
||||
* \return True if the event was triggered, False if it timed out.
|
||||
**/
|
||||
bool wait ( double timeOut );
|
||||
/**\brief Similar to wait() except that if the event is currenly empty the
|
||||
/**\brief Similar to wait() except that if the event is currently empty the
|
||||
* call will return immediately.
|
||||
* \return True if the event was full (triggered), False if empty.
|
||||
**/
|
||||
bool tryWait ();
|
||||
/**\brief Display information about the semaphore.
|
||||
* \note The information displayed is architecture dependant.
|
||||
* \note The information displayed is architecture dependent.
|
||||
* \param level An unsigned int for the level of information to be displayed.
|
||||
**/
|
||||
void show ( unsigned level ) const;
|
||||
@@ -196,7 +196,7 @@ LIBCOM_API void epicsEventMustWait(epicsEventId id);
|
||||
LIBCOM_API epicsEventStatus epicsEventWaitWithTimeout(
|
||||
epicsEventId id, double timeOut);
|
||||
|
||||
/**\brief Similar to wait() except that if the event is currenly empty the
|
||||
/**\brief Similar to wait() except that if the event is currently empty the
|
||||
* call will return immediately with status \c epicsEventWaitTimeout.
|
||||
* \param id The event identifier.
|
||||
* \return Status indicator, \c epicsEventWaitTimeout when the event is empty.
|
||||
@@ -205,7 +205,7 @@ LIBCOM_API epicsEventStatus epicsEventTryWait(
|
||||
epicsEventId id);
|
||||
|
||||
/**\brief Display information about the semaphore.
|
||||
* \note The information displayed is architecture dependant.
|
||||
* \note The information displayed is architecture dependent.
|
||||
* \param id The event identifier.
|
||||
* \param level An unsigned int for the level of information to be displayed.
|
||||
**/
|
||||
|
||||
@@ -56,7 +56,7 @@ extern "C" {
|
||||
**/
|
||||
#define NUM_TIME_EVENTS 256
|
||||
|
||||
/**\brief Initialise the framework.
|
||||
/**\brief Initialize the framework.
|
||||
*
|
||||
* This routine is called automatically by any function that requires the
|
||||
* framework. It does not need to be called explicitly.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*************************************************************************\
|
||||
* Copyright (c) 2010 UChicago Argonna LLC, as Operator of Argonne
|
||||
* Copyright (c) 2010 UChicago Argonne LLC, as Operator of Argonne
|
||||
* National Laboratory.
|
||||
* SPDX-License-Identifier: EPICS
|
||||
* EPICS BASE is distributed subject to a Software License Agreement found
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
epicsMutex::guard_t G(lock); // lock
|
||||
// process resources
|
||||
} // unlock
|
||||
// or for compatiblity
|
||||
// or for compatibility
|
||||
{
|
||||
epicsGuard<epicsMutex> G(lock); // lock
|
||||
// process resources
|
||||
@@ -99,7 +99,7 @@ public:
|
||||
|
||||
/**\brief Display information about the semaphore.
|
||||
*
|
||||
* \note Results are architecture dependant.
|
||||
* \note Results are architecture dependent.
|
||||
*
|
||||
* \param level Desired information level to report
|
||||
**/
|
||||
@@ -229,7 +229,7 @@ LIBCOM_API epicsMutexLockStatus epicsStdCall epicsMutexTryLock(
|
||||
|
||||
/**\brief Display information about the semaphore.
|
||||
*
|
||||
* \note Results are architecture dependant.
|
||||
* \note Results are architecture dependent.
|
||||
*
|
||||
* \param id The mutex identifier.
|
||||
* \param level Desired information level to report
|
||||
@@ -239,7 +239,7 @@ LIBCOM_API void epicsStdCall epicsMutexShow(
|
||||
|
||||
/**\brief Display information about all epicsMutex semaphores.
|
||||
*
|
||||
* \note Results are architecture dependant.
|
||||
* \note Results are architecture dependent.
|
||||
*
|
||||
* \param onlyLocked Non-zero to show only locked semaphores.
|
||||
* \param level Desired information level to report
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
\*************************************************************************/
|
||||
/**
|
||||
* \file epicsStdio.h
|
||||
* \brief Standardize the behaviour of stdio across EPICS targets
|
||||
* \brief Standardize the behavior of stdio across EPICS targets
|
||||
*
|
||||
* \details
|
||||
* The `epicsStdio.h` header includes the operating system's `stdio.h` header
|
||||
* and if used should replace it.
|
||||
*
|
||||
* epicsSnprintf() and epicsVsnprintf() have the same semantics as the C99
|
||||
* functions snprintf() and vsnprintf(), but correct the behaviour of the
|
||||
* functions snprintf() and vsnprintf(), but correct the behavior of the
|
||||
* implementations on some operating systems.
|
||||
*
|
||||
* The routines epicsGetStdin(), epicsGetStdout(), epicsGetStderr(),
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
/* epicsStdioRedirect.h */
|
||||
|
||||
/* This file is now obselete, and is likely to be
|
||||
/* This file is now obsolete, and is likely to be
|
||||
* deleted in a future release of EPICS Base.
|
||||
*
|
||||
* Use the epicsStdio.h header file instead.
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* \brief C++ and C descriptions for a thread.
|
||||
*
|
||||
* The epicsThread API is meant as a somewhat minimal interface for
|
||||
* multithreaded applications. It can be implementedon a wide variety of
|
||||
* multithreaded applications. It can be implemented on a wide variety of
|
||||
* systems with the restriction that the system MUST support a
|
||||
* multithreaded environment.
|
||||
* A POSIX pthreads version is provided.
|
||||
|
||||
@@ -206,7 +206,7 @@ size_t epicsStdCall epicsTimeToStrftime (char *pBuff, size_t bufLength, const ch
|
||||
bufLenLeft -= strftimeNumChar;
|
||||
}
|
||||
|
||||
// fractional seconds formating
|
||||
// fractional seconds formatting
|
||||
if ( fracFmtFound && bufLenLeft > 1 ) {
|
||||
if ( fracWid > nSecFracDigits ) {
|
||||
fracWid = nSecFracDigits;
|
||||
@@ -296,7 +296,7 @@ int epicsStdCall epicsTimeToTime_t (time_t *pDest, const epicsTimeStamp *pSrc)
|
||||
{
|
||||
STATIC_ASSERT(sizeof(*pDest) >= sizeof(pSrc->secPastEpoch));
|
||||
|
||||
// widen to 64-bit to (eventually) accomidate 64-bit time_t
|
||||
// widen to 64-bit to (eventually) accommodate 64-bit time_t
|
||||
*pDest = epicsUInt64(pSrc->secPastEpoch) + POSIX_TIME_AT_EPICS_EPOCH;
|
||||
return epicsTimeOK;
|
||||
}
|
||||
|
||||
@@ -231,7 +231,7 @@ LIBCOM_API size_t epicsStdCall epicsTimeToStrftime (
|
||||
LIBCOM_API void epicsStdCall epicsTimeShow (
|
||||
const epicsTimeStamp *, unsigned interestLevel );
|
||||
|
||||
/** \name Reentrant time_t to struct tm conversions
|
||||
/** \name Re-entrant time_t to struct tm conversions
|
||||
* OS-specific reentrant versions of the ANSI C interface because the
|
||||
* vxWorks \c gmtime_r interface does not match POSIX standards
|
||||
* @{ */
|
||||
@@ -480,7 +480,7 @@ public:
|
||||
* @{ */
|
||||
/** \brief Convert to Windows <tt>struct _FILETIME</tt> */
|
||||
operator struct _FILETIME () const;
|
||||
/** \brief Constuct from Windows <tt>struct _FILETIME</tt> */
|
||||
/** \brief Construct from Windows <tt>struct _FILETIME</tt> */
|
||||
epicsTime ( const struct _FILETIME & );
|
||||
/** \brief Assign from Windows <tt>struct _FILETIME</tt> */
|
||||
epicsTime & operator = ( const struct _FILETIME & );
|
||||
|
||||
@@ -46,7 +46,7 @@ char *epicsGetExecDir(void)
|
||||
if(ret) {
|
||||
char *sep = strrchr(ret, '/');
|
||||
if(sep) {
|
||||
/* nil the charactor after the / */
|
||||
/* nil the character after the / */
|
||||
sep[1] = '\0';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ char *epicsGetExecDir(void)
|
||||
if(ret) {
|
||||
char *sep = strrchr(ret, '/');
|
||||
if(sep) {
|
||||
/* nil the charactor after the / */
|
||||
/* nil the character after the / */
|
||||
sep[1] = '\0';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,13 +81,13 @@ static long rtemsDevMapAddr (epicsAddressType addrType, unsigned options,
|
||||
|
||||
/*
|
||||
* a bus error safe "wordSize" read at the specified address which returns
|
||||
* unsuccessful status if the device isnt present
|
||||
* unsuccessful status if the device isn't present
|
||||
*/
|
||||
static long rtemsDevReadProbe (unsigned wordSize, volatile const void *ptr, void *pValue);
|
||||
|
||||
/*
|
||||
* a bus error safe "wordSize" write at the specified address which returns
|
||||
* unsuccessful status if the device isnt present
|
||||
* unsuccessful status if the device isn't present
|
||||
*/
|
||||
static long rtemsDevWriteProbe (unsigned wordSize, volatile void *ptr, const void *pValue);
|
||||
|
||||
@@ -306,7 +306,7 @@ rtems_status_code bspExtMemProbe(void *addr, int write, int size, void *pval)
|
||||
|
||||
/*
|
||||
* a bus error safe "wordSize" read at the specified address which returns
|
||||
* unsuccessful status if the device isnt present
|
||||
* unsuccessful status if the device isn't present
|
||||
*/
|
||||
static long rtemsDevReadProbe (unsigned wordSize, volatile const void *ptr, void *pValue)
|
||||
{
|
||||
@@ -322,7 +322,7 @@ static long rtemsDevReadProbe (unsigned wordSize, volatile const void *ptr, void
|
||||
|
||||
/*
|
||||
* a bus error safe "wordSize" write at the specified address which returns
|
||||
* unsuccessful status if the device isnt present
|
||||
* unsuccessful status if the device isn't present
|
||||
*/
|
||||
static long rtemsDevWriteProbe (unsigned wordSize, volatile void *ptr, const void *pValue)
|
||||
{
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include "epicsSignal.h"
|
||||
|
||||
/*
|
||||
* All NOOPs if the os isnt POSIX
|
||||
* All NOOPs if the os isn't POSIX
|
||||
*/
|
||||
LIBCOM_API void epicsStdCall epicsSignalInstallSigHupIgnore ( void ) {}
|
||||
LIBCOM_API void epicsStdCall epicsSignalInstallSigPipeIgnore ( void ) {}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
* Andrew Johnson <anj@aps.anl.gov>
|
||||
* Michael Davidsaver <mdavidsaver@bnl.gov>
|
||||
*
|
||||
* Inspired by Linux UP spinlocks implemention
|
||||
* Inspired by Linux UP spinlocks implementation
|
||||
* include/linux/spinlock_api_up.h
|
||||
*/
|
||||
|
||||
|
||||
@@ -386,7 +386,7 @@ void epicsThreadMustJoin(epicsThreadId id)
|
||||
errlogPrintf("Warning: %s thread self-join of unjoinable\n", v ? v->name : "non-EPICS thread");
|
||||
|
||||
} else {
|
||||
/* try to error nicely, however in all likelyhood de-ref of
|
||||
/* try to error nicely, however in all likelihood de-ref of
|
||||
* 'id' has already caused SIGSEGV as we are racing thread exit,
|
||||
* which free's 'id'.
|
||||
*/
|
||||
|
||||
@@ -49,7 +49,7 @@ EPICS_ATOMIC_INLINE int epicsAtomicAddIntT ( int * pTarget, int delta )
|
||||
{
|
||||
STATIC_ASSERT ( sizeof ( MS_LONG ) == sizeof ( int ) );
|
||||
MS_LONG * const pTarg = ( MS_LONG * ) ( pTarget );
|
||||
/* we dont use InterlockedAdd because only latest windows is supported */
|
||||
/* we don't use InterlockedAdd because only latest windows is supported */
|
||||
return delta + ( int ) MS_InterlockedExchangeAdd ( pTarg,
|
||||
( MS_LONG ) delta );
|
||||
}
|
||||
@@ -101,7 +101,7 @@ EPICS_ATOMIC_INLINE size_t epicsAtomicAddSizeT ( size_t * pTarget,
|
||||
size_t delta )
|
||||
{
|
||||
MS_LONG * const pTarg = ( MS_LONG * ) ( pTarget );
|
||||
/* we dont use InterlockedAdd because only latest windows is supported */
|
||||
/* we don't use InterlockedAdd because only latest windows is supported */
|
||||
return delta + ( size_t ) MS_InterlockedExchangeAdd ( pTarg,
|
||||
( MS_LONG ) delta );
|
||||
}
|
||||
@@ -113,7 +113,7 @@ EPICS_ATOMIC_INLINE size_t epicsAtomicSubSizeT ( size_t * pTarget, size_t delta
|
||||
{
|
||||
MS_LONG * const pTarg = ( MS_LONG * ) ( pTarget );
|
||||
MS_LONG ldelta = (MS_LONG) delta;
|
||||
/* we dont use InterlockedAdd because only latest windows is supported */
|
||||
/* we don't use InterlockedAdd because only latest windows is supported */
|
||||
return ( ( size_t ) MS_InterlockedExchangeAdd ( pTarg, -ldelta ) ) - delta;
|
||||
}
|
||||
#endif
|
||||
@@ -172,7 +172,7 @@ EPICS_ATOMIC_INLINE size_t epicsAtomicDecrSizeT ( size_t * pTarget )
|
||||
EPICS_ATOMIC_INLINE size_t epicsAtomicAddSizeT ( size_t * pTarget, size_t delta )
|
||||
{
|
||||
MS_LONGLONG * const pTarg = ( MS_LONGLONG * ) ( pTarget );
|
||||
/* we dont use InterlockedAdd64 because only latest windows is supported */
|
||||
/* we don't use InterlockedAdd64 because only latest windows is supported */
|
||||
return delta + ( size_t ) MS_InterlockedExchangeAdd64 ( pTarg,
|
||||
( MS_LONGLONG ) delta );
|
||||
}
|
||||
@@ -184,7 +184,7 @@ EPICS_ATOMIC_INLINE size_t epicsAtomicSubSizeT ( size_t * pTarget, size_t delta
|
||||
{
|
||||
MS_LONGLONG * const pTarg = ( MS_LONGLONG * ) ( pTarget );
|
||||
MS_LONGLONG ldelta = (MS_LONGLONG) delta;
|
||||
/* we dont use InterlockedAdd64 because only latest windows is supported */
|
||||
/* we don't use InterlockedAdd64 because only latest windows is supported */
|
||||
return (( size_t ) MS_InterlockedExchangeAdd64 ( pTarg, -ldelta )) - delta;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
/*
|
||||
* epicsTmpFile
|
||||
*
|
||||
* allow the teporary file directory to be set with the
|
||||
* TMP environment varianble
|
||||
* allow the temporary file directory to be set with the
|
||||
* TMP environment variable
|
||||
*/
|
||||
LIBCOM_API FILE * epicsStdCall epicsTempFile ()
|
||||
{
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#include <new>
|
||||
#include <new.h>
|
||||
|
||||
// instruct loader to call this gllobal object
|
||||
// instruct loader to call this global object
|
||||
// constructor before user global object constructors
|
||||
#pragma warning (disable: 4073)
|
||||
#pragma init_seg(lib)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
static epicsUInt64 osdMonotonicResolution; /* timer resolution in nanoseconds */
|
||||
static epicsUInt64 perfCounterFrequency; /* performance counter tics per second */
|
||||
static LONGLONG perfCounterOffset; /* performance counter value at initialisation */
|
||||
static LONGLONG perfCounterOffset; /* performance counter value at initialization */
|
||||
static const epicsUInt64 sec2nsec = 1000000000; /* number of nanoseconds in a second */
|
||||
|
||||
void osdMonotonicInit(void)
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
* are used. The code does have run time switches so
|
||||
* that the more advanced calls are not called unless
|
||||
* they are available in the windows OS, but this feature
|
||||
* isnt going to be very useful unless we specify "delay
|
||||
* isn't going to be very useful unless we specify "delay
|
||||
* loading" when we link with the DLL.
|
||||
*
|
||||
* It appears that the only entry point used here that causes
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
\*************************************************************************/
|
||||
|
||||
/*
|
||||
* WIN32 specific initialisation for bsd sockets,
|
||||
* WIN32 specific initialization for bsd sockets,
|
||||
* based on Chris Timossi's base/src/ca/windows_depend.c,
|
||||
* and also further additions by Kay Kasemir when this was in
|
||||
* dllmain.cc
|
||||
@@ -85,14 +85,14 @@ static void osiLocalAddrOnce ( void *raw )
|
||||
for (pIfinfo = pIfinfoList; pIfinfo < (pIfinfoList+numifs); pIfinfo++){
|
||||
|
||||
/*
|
||||
* dont use interfaces that have been disabled
|
||||
* don't use interfaces that have been disabled
|
||||
*/
|
||||
if (!(pIfinfo->iiFlags & IFF_UP)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/*
|
||||
* dont use the loop back interface
|
||||
* don't use the loop back interface
|
||||
*/
|
||||
if (pIfinfo->iiFlags & IFF_LOOPBACK) {
|
||||
continue;
|
||||
@@ -183,7 +183,7 @@ LIBCOM_API void epicsStdCall osiSockDiscoverBroadcastAddresses
|
||||
for (pIfinfo = pIfinfoList; pIfinfo < (pIfinfoList+numifs); pIfinfo++){
|
||||
|
||||
/*
|
||||
* dont bother with interfaces that have been disabled
|
||||
* don't bother with interfaces that have been disabled
|
||||
*/
|
||||
if (!(pIfinfo->iiFlags & IFF_UP)) {
|
||||
continue;
|
||||
@@ -203,7 +203,7 @@ LIBCOM_API void epicsStdCall osiSockDiscoverBroadcastAddresses
|
||||
}
|
||||
|
||||
/*
|
||||
* if it isnt a wildcarded interface then look for
|
||||
* if it isn't a wildcarded interface then look for
|
||||
* an exact match
|
||||
*/
|
||||
if (pMatchAddr->sa.sa_family != AF_UNSPEC) {
|
||||
|
||||
@@ -71,7 +71,7 @@ LIBCOM_API osiSpawnDetachedProcessReturn epicsStdCall osiSpawnDetachedProcess
|
||||
NULL, /* pointer to thread security attributes */
|
||||
FALSE, /* handle inheritance flag */
|
||||
CREATE_NEW_PROCESS_GROUP | DETACHED_PROCESS, /* creation flags */
|
||||
NULL, /* pointer to new environment block (defaults to caller's environement) */
|
||||
NULL, /* pointer to new environment block (defaults to caller's environment) */
|
||||
NULL, /* pointer to current directory name (defaults to caller's current directory) */
|
||||
&startupInfo, /* pointer to STARTUPINFO */
|
||||
&processInfo /* pointer to PROCESS_INFORMATION */
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
\*************************************************************************/
|
||||
|
||||
/*
|
||||
* WIN32 specific initialisation for bsd sockets,
|
||||
* WIN32 specific initialization for bsd sockets,
|
||||
* based on Chris Timossi's base/src/ca/windows_depend.c,
|
||||
* and also further additions by Kay Kasemir when this was in
|
||||
* dllmain.cc
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
/*
|
||||
* winsock2.h changes the structure alignment to 4 if
|
||||
* WIN32 isnt set which can be a source of confusion
|
||||
* WIN32 isn't set which can be a source of confusion
|
||||
*/
|
||||
#ifndef WIN32
|
||||
# define WIN32
|
||||
@@ -72,7 +72,7 @@ typedef DWORD osiSockOptMcastTTL_t;
|
||||
* Under WIN32, FD_SETSIZE is the max. number of sockets,
|
||||
* not the max. fd value that you use in select().
|
||||
*
|
||||
* Therefore, it is difficult to detemine if any given
|
||||
* Therefore, it is difficult to determine if any given
|
||||
* fd can be used with FD_SET(), FD_CLR(), and FD_ISSET().
|
||||
*/
|
||||
#define FD_IN_FDSET(FD) (1)
|
||||
|
||||
@@ -116,13 +116,13 @@ BOOL WINAPI DllMain (
|
||||
|
||||
case DLL_THREAD_ATTACH:
|
||||
/*
|
||||
* Dont allow user's explicitly calling FreeLibrary for Com.dll to yank
|
||||
* Don't allow user's explicitly calling FreeLibrary for Com.dll to yank
|
||||
* the carpet out from under EPICS threads that are still using Com.dll
|
||||
*/
|
||||
#if _WIN32_WINNT >= 0x0501
|
||||
/*
|
||||
* Only in WXP
|
||||
* Thats a shame because this is probably much faster
|
||||
* That's a shame because this is probably much faster
|
||||
*/
|
||||
success = GetModuleHandleEx (
|
||||
GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,
|
||||
@@ -653,7 +653,7 @@ void epicsThreadMustJoin(epicsThreadId id)
|
||||
fprintf(stderr, "Warning: %s thread self-join of unjoinable\n", pParmWIN32->pName);
|
||||
|
||||
} else {
|
||||
/* try to error nicely, however in all likelyhood de-ref of
|
||||
/* try to error nicely, however in all likelihood de-ref of
|
||||
* 'id' has already caused SIGSEGV as we are racing thread exit,
|
||||
* which free's 'id'.
|
||||
*/
|
||||
|
||||
@@ -48,7 +48,7 @@ char *epicsGetExecDir(void)
|
||||
if(ret) {
|
||||
char *sep = strrchr(ret, '\\');
|
||||
if(sep) {
|
||||
/* nil the charactor after the / */
|
||||
/* nil the character after the / */
|
||||
sep[1] = '\0';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ enum epicsSocketSystemCallInterruptMechanismQueryInfo
|
||||
epicsSocketSystemCallInterruptMechanismQuery ()
|
||||
{
|
||||
#if (CYGWIN_VERSION_DLL_MAJOR == 1007) && (CYGWIN_VERSION_DLL_MINOR < 15)
|
||||
// Behaviour changed in early Cygwin 1.7 releases, reverted later.
|
||||
// Behavior changed in early Cygwin 1.7 releases, reverted later.
|
||||
return esscimqi_socketCloseRequired;
|
||||
#else
|
||||
return esscimqi_socketBothShutdownRequired;
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include "epicsSignal.h"
|
||||
|
||||
/*
|
||||
* All NOOPs if the os isnt POSIX
|
||||
* All NOOPs if the os isn't POSIX
|
||||
*/
|
||||
LIBCOM_API void epicsStdCall epicsSignalInstallSigHupIgnore ( void ) {}
|
||||
LIBCOM_API void epicsStdCall epicsSignalInstallSigPipeIgnore ( void ) {}
|
||||
|
||||
@@ -28,7 +28,7 @@ LIBCOM_API void epicsStdCall
|
||||
* SO_REUSEADDR compared to other OS. With WINSOCK SO_REUSEADDR indicates
|
||||
* that simultaneously servers can bind to the same TCP port on the same host!
|
||||
* Also, servers are always enabled to reuse a port immediately after
|
||||
* they exit ( even if SO_REUSEADDR isnt set ).
|
||||
* they exit ( even if SO_REUSEADDR isn't set ).
|
||||
*/
|
||||
#else
|
||||
int yes = true;
|
||||
|
||||
@@ -66,7 +66,7 @@ char *epicsGetExecDir(void)
|
||||
if(ret) {
|
||||
char *sep = strrchr(ret, '/');
|
||||
if(sep) {
|
||||
/* nil the charactor after the / */
|
||||
/* nil the character after the / */
|
||||
sep[1] = '\0';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -272,7 +272,7 @@ int low, try;
|
||||
* at all. However, we still must return
|
||||
* a priority range accepted by the SCHED_FIFO
|
||||
* policy. Otherwise, epicsThreadCreate() cannot
|
||||
* detect the unsufficient permission (EPERM)
|
||||
* detect the insufficient permission (EPERM)
|
||||
* and fall back to a non-RT thread (because
|
||||
* pthread_attr_setschedparam would fail with
|
||||
* EINVAL due to the bad priority).
|
||||
@@ -651,7 +651,7 @@ void epicsThreadMustJoin(epicsThreadId id)
|
||||
errlogPrintf("Warning: %s thread self-join of unjoinable\n", id->name);
|
||||
|
||||
} else {
|
||||
/* try to error nicely, however in all likelyhood de-ref of
|
||||
/* try to error nicely, however in all likelihood de-ref of
|
||||
* 'id' has already caused SIGSEGV as we are racing thread exit,
|
||||
* which free's 'id'.
|
||||
*/
|
||||
|
||||
@@ -26,7 +26,7 @@ char *epicsGetExecDir(void)
|
||||
if(ret) {
|
||||
char *sep = strrchr(ret, '/');
|
||||
if(sep) {
|
||||
/* nil the charactor after the / */
|
||||
/* nil the character after the / */
|
||||
sep[1] = '\0';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
/*
|
||||
* Archictecture dependent support for common device driver resources
|
||||
* Architecture dependent support for common device driver resources
|
||||
*
|
||||
* Author: Jeff Hill
|
||||
* Date: 10-30-98
|
||||
@@ -99,13 +99,13 @@ static long vxDevMapAddr (epicsAddressType addrType, unsigned options,
|
||||
|
||||
/*
|
||||
* a bus error safe "wordSize" read at the specified address which returns
|
||||
* unsuccessful status if the device isnt present
|
||||
* unsuccessful status if the device isn't present
|
||||
*/
|
||||
static long vxDevReadProbe (unsigned wordSize, volatile const void *ptr, void *pValue);
|
||||
|
||||
/*
|
||||
* a bus error safe "wordSize" write at the specified address which returns
|
||||
* unsuccessful status if the device isnt present
|
||||
* unsuccessful status if the device isn't present
|
||||
*/
|
||||
static long vxDevWriteProbe (unsigned wordSize, volatile void *ptr, const void *pValue);
|
||||
|
||||
|
||||
@@ -154,11 +154,11 @@ EPICS_ATOMIC_INLINE size_t epicsAtomicSubSizeT ( size_t * pTarget, size_t delta
|
||||
|
||||
/*
|
||||
* if its 64 bit SMP vxWorks and the compiler doesnt
|
||||
* have an intrinsic then maybe there isnt any way to
|
||||
* have an intrinsic then maybe there isn't any way to
|
||||
* implement these without using a global lock because
|
||||
* size_t is maybe bigger than atomic_t
|
||||
*
|
||||
* I dont yet have access to vxWorks manuals for
|
||||
* I don't yet have access to vxWorks manuals for
|
||||
* 64 bit systems so this is still undecided, but is
|
||||
* defaulting now to a global lock
|
||||
*/
|
||||
@@ -216,7 +216,7 @@ extern "C" {
|
||||
#ifndef EPICS_ATOMIC_READ_MEMORY_BARRIER
|
||||
#define EPICS_ATOMIC_READ_MEMORY_BARRIER
|
||||
/*
|
||||
* no need for memory barrior since prior to vxWorks 6.6 it is a single cpu system
|
||||
* no need for memory barrier since prior to vxWorks 6.6 it is a single cpu system
|
||||
* (we are not protecting against multiple access to memory mapped IO)
|
||||
*/
|
||||
EPICS_ATOMIC_INLINE void epicsAtomicReadMemoryBarrier (void) {}
|
||||
@@ -225,7 +225,7 @@ EPICS_ATOMIC_INLINE void epicsAtomicReadMemoryBarrier (void) {}
|
||||
#ifndef EPICS_ATOMIC_WRITE_MEMORY_BARRIER
|
||||
#define EPICS_ATOMIC_WRITE_MEMORY_BARRIER
|
||||
/*
|
||||
* no need for memory barrior since prior to vxWorks 6.6 it is a single cpu system
|
||||
* no need for memory barrier since prior to vxWorks 6.6 it is a single cpu system
|
||||
* (we are not protecting against multiple access to memory mapped IO)
|
||||
*/
|
||||
EPICS_ATOMIC_INLINE void epicsAtomicWriteMemoryBarrier (void) {}
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
/*
|
||||
* It turns out that memPartInfoGet() and memFindMax() are very CPU intensive on vxWorks
|
||||
* so we must spawn off a thread that periodically polls. Although this isnt 100% safe, I
|
||||
* dont see what else to do.
|
||||
* so we must spawn off a thread that periodically polls. Although this isn't 100% safe, I
|
||||
* don't see what else to do.
|
||||
*
|
||||
* It takes about 30 uS to call memPartInfoGet() on a pcPentium I vxWorks system.
|
||||
*
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
* Andrew Johnson <anj@aps.anl.gov>
|
||||
* Michael Davidsaver <mdavidsaver@bnl.gov>
|
||||
*
|
||||
* Inspired by Linux UP spinlocks implemention
|
||||
* Inspired by Linux UP spinlocks implementation
|
||||
* include/linux/spinlock_api_up.h
|
||||
*/
|
||||
|
||||
|
||||
@@ -55,9 +55,9 @@
|
||||
/* Task priorities */
|
||||
#define SCANONCE_PRI 129 /* scan one time */
|
||||
/*DO NOT RUN ANY RECORD PROCESSING TASKS AT HIGHER PRIORITY THAN _netTask=50*/
|
||||
#define CALLBACK_PRI_LOW 140 /* callback task - generall callback task */
|
||||
#define CALLBACK_PRI_MEDIUM 135 /* callback task - generall callback task */
|
||||
#define CALLBACK_PRI_HIGH 128 /* callback task - generall callback task */
|
||||
#define CALLBACK_PRI_LOW 140 /* callback task - general callback task */
|
||||
#define CALLBACK_PRI_MEDIUM 135 /* callback task - general callback task */
|
||||
#define CALLBACK_PRI_HIGH 128 /* callback task - general callback task */
|
||||
#define EVENTSCAN_PRI 129 /* Event Scanner - Runs on a global event */
|
||||
#define SMCMD_PRI 120 /* Stepper Motor Command Task - Waits for cmds */
|
||||
#define SMRESP_PRI 121 /* Stepper Motor Resp Task - Waits for resps */
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
* in file LICENSE that is included with this distribution.
|
||||
\*************************************************************************/
|
||||
/*
|
||||
* list fuctions attached to the interrupt vector table
|
||||
* list functions attached to the interrupt vector table
|
||||
*
|
||||
* Created 28Mar89 Jeffrey O. Hill
|
||||
* johill@lanl.gov
|
||||
|
||||
@@ -70,7 +70,7 @@ LIBCOM_API void epicsStdCall osiSockDiscoverBroadcastAddresses
|
||||
ifa->ifa_name));
|
||||
|
||||
/*
|
||||
* If its not an internet interface then dont use it
|
||||
* If its not an internet interface then don't use it
|
||||
*/
|
||||
if ( ifa->ifa_addr->sa_family != AF_INET ) {
|
||||
ifDepenDebugPrintf ( ("osiSockDiscoverBroadcastAddresses(): interface \"%s\" was not AF_INET\n", ifa->ifa_name) );
|
||||
@@ -78,7 +78,7 @@ LIBCOM_API void epicsStdCall osiSockDiscoverBroadcastAddresses
|
||||
}
|
||||
|
||||
/*
|
||||
* if it isnt a wildcarded interface then look for
|
||||
* if it isn't a wildcarded interface then look for
|
||||
* an exact match
|
||||
*/
|
||||
if ( pMatchAddr->sa.sa_family != AF_UNSPEC ) {
|
||||
@@ -95,7 +95,7 @@ LIBCOM_API void epicsStdCall osiSockDiscoverBroadcastAddresses
|
||||
}
|
||||
|
||||
/*
|
||||
* dont bother with interfaces that have been disabled
|
||||
* don't bother with interfaces that have been disabled
|
||||
*/
|
||||
if ( ! ( ifa->ifa_flags & IFF_UP ) ) {
|
||||
ifDepenDebugPrintf ( ("osiSockDiscoverBroadcastAddresses(): net intf \"%s\" was down\n", ifa->ifa_name) );
|
||||
@@ -103,7 +103,7 @@ LIBCOM_API void epicsStdCall osiSockDiscoverBroadcastAddresses
|
||||
}
|
||||
|
||||
/*
|
||||
* dont use the loop back interface
|
||||
* don't use the loop back interface
|
||||
*/
|
||||
if ( ifa->ifa_flags & IFF_LOOPBACK ) {
|
||||
ifDepenDebugPrintf ( ("osiSockDiscoverBroadcastAddresses(): ignoring loopback interface: \"%s\"\n", ifa->ifa_name) );
|
||||
@@ -189,7 +189,7 @@ static void osiLocalAddrOnce (void *raw)
|
||||
}
|
||||
|
||||
/*
|
||||
* dont use the loop back interface
|
||||
* don't use the loop back interface
|
||||
*/
|
||||
if ( ifa->ifa_flags & IFF_LOOPBACK ) {
|
||||
ifDepenDebugPrintf ( ("osiLocalAddrOnce(): ignoring loopback interface: %s\n", ifa->ifa_name) );
|
||||
|
||||
@@ -135,7 +135,7 @@ LIBCOM_API void epicsStdCall osiSockDiscoverBroadcastAddresses
|
||||
(unsigned)current_ifreqsize));
|
||||
|
||||
/*
|
||||
* If its not an internet interface then dont use it
|
||||
* If its not an internet interface then don't use it
|
||||
*/
|
||||
if ( pIfreqList->ifr_addr.sa_family != AF_INET ) {
|
||||
ifDepenDebugPrintf ( ("osiSockDiscoverBroadcastAddresses(): interface \"%s\" was not AF_INET\n", pIfreqList->ifr_name) );
|
||||
@@ -143,7 +143,7 @@ LIBCOM_API void epicsStdCall osiSockDiscoverBroadcastAddresses
|
||||
}
|
||||
|
||||
/*
|
||||
* if it isnt a wildcarded interface then look for
|
||||
* if it isn't a wildcarded interface then look for
|
||||
* an exact match
|
||||
*/
|
||||
if ( pMatchAddr->sa.sa_family != AF_UNSPEC ) {
|
||||
@@ -167,7 +167,7 @@ LIBCOM_API void epicsStdCall osiSockDiscoverBroadcastAddresses
|
||||
ifDepenDebugPrintf ( ("osiSockDiscoverBroadcastAddresses(): net intf \"%s\" flags: %x\n", pIfreqList->ifr_name, pIfreqList->ifr_flags) );
|
||||
|
||||
/*
|
||||
* dont bother with interfaces that have been disabled
|
||||
* don't bother with interfaces that have been disabled
|
||||
*/
|
||||
if ( ! ( pIfreqList->ifr_flags & IFF_UP ) ) {
|
||||
ifDepenDebugPrintf ( ("osiSockDiscoverBroadcastAddresses(): net intf \"%s\" was down\n", pIfreqList->ifr_name) );
|
||||
@@ -175,7 +175,7 @@ LIBCOM_API void epicsStdCall osiSockDiscoverBroadcastAddresses
|
||||
}
|
||||
|
||||
/*
|
||||
* dont use the loop back interface
|
||||
* don't use the loop back interface
|
||||
*/
|
||||
if ( pIfreqList->ifr_flags & IFF_LOOPBACK ) {
|
||||
ifDepenDebugPrintf ( ("osiSockDiscoverBroadcastAddresses(): ignoring loopback interface: \"%s\"\n", pIfreqList->ifr_name) );
|
||||
@@ -318,7 +318,7 @@ static void osiLocalAddrOnce (void *raw)
|
||||
}
|
||||
|
||||
/*
|
||||
* dont use the loop back interface
|
||||
* don't use the loop back interface
|
||||
*/
|
||||
if ( pIfreqList->ifr_flags & IFF_LOOPBACK ) {
|
||||
ifDepenDebugPrintf ( ("osiLocalAddr(): ignoring loopback interface: %s\n", pIfreqList->ifr_name) );
|
||||
|
||||
@@ -194,7 +194,7 @@ static void NTPTimeSync(void *dummy)
|
||||
diff = epicsTimeDiffInSeconds(&timeNow, &NTPTimePvt.clockTime);
|
||||
if (diff >= 0.0) {
|
||||
NTPTimePvt.ticksToSkip = 0;
|
||||
} else { /* dont go back in time */
|
||||
} else { /* don't go back in time */
|
||||
NTPTimePvt.ticksToSkip = -diff * osdTickRateGet();
|
||||
}
|
||||
NTPTimePvt.clockTick = tickNow;
|
||||
|
||||
@@ -30,7 +30,7 @@ extern "C" {
|
||||
* space is usually necessary to keep the system running reliably.
|
||||
* On vxWorks this returns True if at least 100000 bytes is free.
|
||||
*
|
||||
* \note This routine is called quite frequently by the IOC so an efficent
|
||||
* \note This routine is called quite frequently by the IOC so an efficient
|
||||
* implementation is important.
|
||||
*
|
||||
* \param contiguousBlockSize Block size to check.
|
||||
|
||||
@@ -161,7 +161,7 @@ unsigned epicsStdCall ipAddrToDottedIP (
|
||||
}
|
||||
|
||||
/*
|
||||
* inet_ntoa() isnt used because it isnt thread safe
|
||||
* inet_ntoa() isn't used because it isn't thread safe
|
||||
* (and the replacements are not standardized)
|
||||
*/
|
||||
status = epicsSnprintf (
|
||||
|
||||
@@ -71,7 +71,7 @@ LIBCOM_API int epicsSocketUnsentCount(SOCKET sock);
|
||||
*
|
||||
* returns the number of character elements stored in buffer not
|
||||
* including the null termination, but always writes at least a
|
||||
* null ternminater in the string (if bufSize >= 1)
|
||||
* null terminator in the string (if bufSize >= 1)
|
||||
*/
|
||||
LIBCOM_API unsigned epicsStdCall sockAddrToA (
|
||||
const struct sockaddr * paddr, char * pBuf, unsigned bufSize );
|
||||
@@ -83,7 +83,7 @@ LIBCOM_API unsigned epicsStdCall sockAddrToA (
|
||||
*
|
||||
* returns the number of character elements stored in buffer not
|
||||
* including the null termination, but always writes at least a
|
||||
* null ternminater in the string (if bufSize >= 1)
|
||||
* null terminator in the string (if bufSize >= 1)
|
||||
*/
|
||||
LIBCOM_API unsigned epicsStdCall ipAddrToA (
|
||||
const struct sockaddr_in * pInetAddr, char * pBuf, unsigned bufSize );
|
||||
@@ -94,7 +94,7 @@ LIBCOM_API unsigned epicsStdCall ipAddrToA (
|
||||
*
|
||||
* returns the number of character elements stored in buffer not
|
||||
* including the null termination, but always writes at least a
|
||||
* null ternminater in the string (if bufSize >= 1)
|
||||
* null terminator in the string (if bufSize >= 1)
|
||||
*/
|
||||
LIBCOM_API unsigned epicsStdCall sockAddrToDottedIP (
|
||||
const struct sockaddr * paddr, char * pBuf, unsigned bufSize );
|
||||
@@ -105,7 +105,7 @@ LIBCOM_API unsigned epicsStdCall sockAddrToDottedIP (
|
||||
*
|
||||
* returns the number of character elements stored in buffer not
|
||||
* including the null termination, but always writes at least a
|
||||
* null ternminater in the string (if bufSize >= 1)
|
||||
* null terminator in the string (if bufSize >= 1)
|
||||
*/
|
||||
LIBCOM_API unsigned epicsStdCall ipAddrToDottedIP (
|
||||
const struct sockaddr_in * paddr, char * pBuf, unsigned bufSize );
|
||||
@@ -179,7 +179,7 @@ LIBCOM_API int epicsStdCall sockAddrAreIdentical
|
||||
* a destination port number, and a match address. When the
|
||||
* routine returns there will be one additional entry
|
||||
* (an osiSockAddrNode) in the list for each network interface found that
|
||||
* is up and isnt a loop back interface (match addr is INADDR_ANY),
|
||||
* is up and isn't a loop back interface (match addr is INADDR_ANY),
|
||||
* or only the interfaces that match the specified addresses (match addr
|
||||
* is other than INADDR_ANY). If the interface supports broadcasting
|
||||
* then add its broadcast address to the list. If the interface is a
|
||||
@@ -203,7 +203,7 @@ LIBCOM_API void epicsStdCall osiSockDiscoverBroadcastAddresses
|
||||
* repeater would not always allow the loopback address
|
||||
* as a local client address so current clients alternate
|
||||
* between the address of the first non-loopback interface
|
||||
* found and the loopback addresss when subscribing with
|
||||
* found and the loopback address when subscribing with
|
||||
* the CA repeater until all CA repeaters have been updated
|
||||
* to current code. After all CA repeaters have been restarted
|
||||
* this osi interface can be eliminated.
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
// With future CA protocols user defined payload composition will be
|
||||
// supported and we will need to move away from a naturally aligned
|
||||
// protocol (because pad byte overhead will probably be excessive when
|
||||
// maintaining 8 byte natural alignment if the user isnt thinking about
|
||||
// maintaining 8 byte natural alignment if the user isn't thinking about
|
||||
// placing like sized elements together).
|
||||
//
|
||||
// Nevertheless, the R3.14 protocol continues to be naturally aligned,
|
||||
@@ -152,7 +152,7 @@ union WireAlias < epicsFloat32 > {
|
||||
//
|
||||
// Missaligned unsigned wire format get/set can be implemented generically
|
||||
// w/o performance penalty. Attempts to improve this on architectures that
|
||||
// dont have alignement requirements will probably get into trouble with
|
||||
// don't have alignment requirements will probably get into trouble with
|
||||
// over-aggressive optimization under strict aliasing rules.
|
||||
//
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@ void timer::cancel ()
|
||||
this->curState = timer::stateLimbo;
|
||||
if ( this->queue.processThread != epicsThreadGetIdSelf() ) {
|
||||
// make certain timer expire() does not run after cancel () returns,
|
||||
// but dont require that lock is applied while calling expire()
|
||||
// but don't require that lock is applied while calling expire()
|
||||
while ( this->queue.cancelPending &&
|
||||
this->queue.pExpireTmr == this ) {
|
||||
epicsGuardRelease < epicsMutex > autoRelease ( locker );
|
||||
@@ -174,7 +174,7 @@ void timer::cancel ()
|
||||
epicsTimer::expireInfo timer::getExpireInfo () const
|
||||
{
|
||||
// taking a lock here guarantees that users will not
|
||||
// see brief intervals when a timer isnt active because
|
||||
// see brief intervals when a timer isn't active because
|
||||
// it is is canceled when start is called
|
||||
epicsGuard < epicsMutex > locker ( this->queue.mutex );
|
||||
if ( this->curState == statePending || this->curState == stateActive ) {
|
||||
|
||||
@@ -48,7 +48,7 @@ protected:
|
||||
timerQueue & queue;
|
||||
private:
|
||||
enum state { statePending = 45, stateActive = 56, stateLimbo = 78 };
|
||||
epicsTime exp; // experation time
|
||||
epicsTime exp; // expiration time
|
||||
state curState; // current state
|
||||
epicsTimerNotify * pNotify; // callback
|
||||
void privateStart ( epicsTimerNotify & notify, const epicsTime & );
|
||||
|
||||
@@ -62,7 +62,7 @@ void timerQueue ::
|
||||
strcpy ( date, "UKN DATE" );
|
||||
}
|
||||
if ( delay >= exceptMsgMinPeriod ) {
|
||||
// we dont touch the typeid for the timer expiration
|
||||
// we don't touch the typeid for the timer expiration
|
||||
// notify interface here because they might have
|
||||
// destroyed the timer during its callback
|
||||
errlogPrintf (
|
||||
@@ -97,7 +97,7 @@ double timerQueue::process ( const epicsTime & currentTime )
|
||||
}
|
||||
|
||||
//
|
||||
// Tag current epired tmr so that we can detect if call back
|
||||
// Tag current expired tmr so that we can detect if call back
|
||||
// is in progress when canceling the timer.
|
||||
//
|
||||
if ( this->timerList.first () ) {
|
||||
@@ -155,7 +155,7 @@ double timerQueue::process ( const epicsTime & currentTime )
|
||||
// 1) if another thread is canceling then cancel() waits for
|
||||
// the event below
|
||||
// 2) if this thread is canceling in the timer callback then
|
||||
// dont touch timer or notify here because the cancel might
|
||||
// don't touch timer or notify here because the cancel might
|
||||
// have occurred because they destroyed the timer in the
|
||||
// callback
|
||||
this->cancelPending = false;
|
||||
|
||||
@@ -1065,7 +1065,7 @@ typedef
|
||||
|
||||
/* Use these to write the name of your wrapper. NOTE: duplicates
|
||||
VG_WRAP_FUNCTION_Z{U,Z} in pub_tool_redir.h. NOTE also: inserts
|
||||
the default behaviour equivalance class tag "0000" into the name.
|
||||
the default behavior equivalence class tag "0000" into the name.
|
||||
See pub_tool_redir.h for details -- normally you don't need to
|
||||
think about this, though. */
|
||||
|
||||
@@ -1142,7 +1142,7 @@ typedef
|
||||
|
||||
/* Macros to save and align the stack before making a function
|
||||
call and restore it afterwards as gcc may not keep the stack
|
||||
pointer aligned if it doesn't realise calls are being made
|
||||
pointer aligned if it doesn't realize calls are being made
|
||||
to other functions. */
|
||||
|
||||
#define VALGRIND_ALIGN_STACK \
|
||||
@@ -1646,7 +1646,7 @@ typedef
|
||||
|
||||
/* Macros to save and align the stack before making a function
|
||||
call and restore it afterwards as gcc may not keep the stack
|
||||
pointer aligned if it doesn't realise calls are being made
|
||||
pointer aligned if it doesn't realize calls are being made
|
||||
to other functions. */
|
||||
|
||||
#define VALGRIND_ALIGN_STACK \
|
||||
@@ -1661,8 +1661,8 @@ typedef
|
||||
/* NB 9 Sept 07. There is a nasty kludge here in all these CALL_FN_
|
||||
macros. In order not to trash the stack redzone, we need to drop
|
||||
%rsp by 128 before the hidden call, and restore afterwards. The
|
||||
nastyness is that it is only by luck that the stack still appears
|
||||
to be unwindable during the hidden call - since then the behaviour
|
||||
nastiness is that it is only by luck that the stack still appears
|
||||
to be unwindable during the hidden call - since then the behavior
|
||||
of any routine using this macro does not match what the CFI data
|
||||
says. Sigh.
|
||||
|
||||
@@ -2152,7 +2152,7 @@ typedef
|
||||
|
||||
/* Macros to save and align the stack before making a function
|
||||
call and restore it afterwards as gcc may not keep the stack
|
||||
pointer aligned if it doesn't realise calls are being made
|
||||
pointer aligned if it doesn't realize calls are being made
|
||||
to other functions. */
|
||||
|
||||
#define VALGRIND_ALIGN_STACK \
|
||||
@@ -2631,7 +2631,7 @@ typedef
|
||||
|
||||
/* Macros to save and align the stack before making a function
|
||||
call and restore it afterwards as gcc may not keep the stack
|
||||
pointer aligned if it doesn't realise calls are being made
|
||||
pointer aligned if it doesn't realize calls are being made
|
||||
to other functions. */
|
||||
|
||||
#define VALGRIND_ALIGN_STACK \
|
||||
@@ -3187,7 +3187,7 @@ typedef
|
||||
|
||||
/* Macros to save and align the stack before making a function
|
||||
call and restore it afterwards as gcc may not keep the stack
|
||||
pointer aligned if it doesn't realise calls are being made
|
||||
pointer aligned if it doesn't realize calls are being made
|
||||
to other functions. */
|
||||
|
||||
#define VALGRIND_ALIGN_STACK \
|
||||
@@ -3738,7 +3738,7 @@ typedef
|
||||
|
||||
/* Macros to save and align the stack before making a function
|
||||
call and restore it afterwards as gcc may not keep the stack
|
||||
pointer aligned if it doesn't realise calls are being made
|
||||
pointer aligned if it doesn't realize calls are being made
|
||||
to other functions. */
|
||||
|
||||
/* This is a bit tricky. We store the original stack pointer in r10
|
||||
@@ -6177,7 +6177,7 @@ typedef
|
||||
Other values are not allowed. */
|
||||
VG_USERREQ__CHANGE_ERR_DISABLEMENT = 0x1801,
|
||||
|
||||
/* Initialise IR injection */
|
||||
/* Initialize IR injection */
|
||||
VG_USERREQ__VEX_INIT_FOR_IRI = 0x1901
|
||||
} Vg_ClientRequest;
|
||||
|
||||
@@ -6290,7 +6290,7 @@ VALGRIND_PRINTF_BACKTRACE(const char *format, ...)
|
||||
|
||||
|
||||
/* These requests allow control to move from the simulated CPU to the
|
||||
real CPU, calling an arbitary function.
|
||||
real CPU, calling an arbitrary function.
|
||||
|
||||
Note that the current ThreadId is inserted as the first argument.
|
||||
So this call:
|
||||
@@ -6564,7 +6564,7 @@ VALGRIND_PRINTF_BACKTRACE(const char *format, ...)
|
||||
If a connection is opened with GDB, the output will be sent
|
||||
according to the output mode set for vgdb.
|
||||
If no connection is opened, output will go to the log output.
|
||||
Returns 1 if command not recognised, 0 otherwise. */
|
||||
Returns 1 if command not recognized, 0 otherwise. */
|
||||
#define VALGRIND_MONITOR_COMMAND(command) \
|
||||
VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__GDB_MONITOR_COMMAND, \
|
||||
command, 0, 0, 0, 0)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/* The line size must be a positive integer. One hundred was chosen */
|
||||
/* because few lines in Yacc input grammars exceed 100 characters. */
|
||||
/* Note that if a line exceeds LINESIZE characters, the line buffer */
|
||||
/* will be expanded to accomodate it. */
|
||||
/* will be expanded to accommodate it. */
|
||||
|
||||
#define LINESIZE 100
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
/*
|
||||
* Implementation/performance notes. If this were moved to a header
|
||||
* only implementation using #define's where possible we might be
|
||||
* able to sqeeze a little performance out of the guy by killing function
|
||||
* able to squeeze a little performance out of the guy by killing function
|
||||
* call overhead. YMMV.
|
||||
*/
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ extern "C" {
|
||||
* ***YAJL 2.2.0***
|
||||
* This version adds support for JSON5 parsing and generation.
|
||||
* The upstream YAJL repository is no longer being maintained and the
|
||||
* original author no longer responds to messsages, so while this code
|
||||
* original author no longer responds to messages, so while this code
|
||||
* has been offered for merging into the upstream it is unlikely that
|
||||
* will ever happen. The version number here is thus an EPICS-specific
|
||||
* construct.
|
||||
|
||||
@@ -194,7 +194,7 @@ extern "C" {
|
||||
YAJL_API yajl_gen_status yajl_gen_array_close(yajl_gen hand);
|
||||
|
||||
/** Access the zero-terminated generator buffer. If incrementally
|
||||
* outputing JSON, one should call yajl_gen_clear() to clear the
|
||||
* outputting JSON, one should call yajl_gen_clear() to clear the
|
||||
* buffer. This allows stream generation. */
|
||||
YAJL_API yajl_gen_status yajl_gen_get_buf(yajl_gen hand,
|
||||
const unsigned char ** buf,
|
||||
@@ -210,7 +210,7 @@ extern "C" {
|
||||
* \param hand The generator handle.
|
||||
* \param sep This string will be inserted to separate the previously
|
||||
* generated output from the following; passing \c NULL means
|
||||
* *no separation* of entites (beware that generating
|
||||
* *no separation* of entities (beware that generating
|
||||
* multiple JSON numbers without a separator creates
|
||||
* ambiguous output).
|
||||
*
|
||||
|
||||
@@ -66,7 +66,7 @@ tokToStr(yajl_tok tok)
|
||||
*/
|
||||
|
||||
struct yajl_lexer_t {
|
||||
/* the overal line and char offset into the data */
|
||||
/* the overall line and char offset into the data */
|
||||
size_t lineOff;
|
||||
size_t charOff;
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ void yajl_lex_free(yajl_lexer lexer);
|
||||
/**
|
||||
* run/continue a lex. "offset" is an input/output parameter.
|
||||
* It should be initialized to zero for a
|
||||
* new chunk of target text, and upon subsetquent calls with the same
|
||||
* new chunk of target text, and upon subsequent calls with the same
|
||||
* target text should passed with the value of the previous invocation.
|
||||
*
|
||||
* the client may be interested in the value of offset when an error is
|
||||
|
||||
@@ -39,7 +39,7 @@ extern "C" {
|
||||
yajl_status_error
|
||||
} yajl_status;
|
||||
|
||||
/** Return a human readable, english, string for an error. */
|
||||
/** Return a human readable, English, string for an error. */
|
||||
YAJL_API const char * yajl_status_to_string(yajl_status code);
|
||||
|
||||
/** An opaque handle to a parser. */
|
||||
@@ -151,7 +151,7 @@ extern "C" {
|
||||
yajl_allow_trailing_garbage = 0x04,
|
||||
/**
|
||||
* Allow multiple values to be parsed by a single handle. The entire
|
||||
* text must be valid JSON, and values can be seperated by any kind of
|
||||
* text must be valid JSON, and values can be separated by any kind of
|
||||
* whitespace. This flag will change the behavior of the parser, and
|
||||
* cause it to continue parsing after a value is parsed, rather than
|
||||
* transitioning into a complete state. This option can be useful when
|
||||
|
||||
@@ -171,7 +171,7 @@ yajl_render_error_string(yajl_handle hand, const unsigned char * jsonText,
|
||||
return str;
|
||||
}
|
||||
|
||||
/* check for client cancelation */
|
||||
/* check for client cancellation */
|
||||
#define _CC_CHK(x) \
|
||||
if (!(x)) { \
|
||||
yajl_bs_set(hand->stateStack, yajl_state_parse_error); \
|
||||
@@ -249,7 +249,7 @@ yajl_do_parse(yajl_handle hand, const unsigned char * jsonText,
|
||||
/* for arrays and maps, we advance the state for this
|
||||
* depth, then push the state of the next depth.
|
||||
* If an error occurs during the parsing of the nesting
|
||||
* enitity, the state at this level will not matter.
|
||||
* entity, the state at this level will not matter.
|
||||
* a state that needs pushing will be anything other
|
||||
* than state_start */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user