EPICS Base  7.0.8.1
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
errSymTbl.h
1 /*************************************************************************\
2 * Copyright (c) 2012 UChicago Argonne LLC, as Operator of Argonne
3 * National Laboratory.
4 * Copyright (c) 2002 The Regents of the University of California, as
5 * Operator of Los Alamos National Laboratory.
6 * SPDX-License-Identifier: EPICS
7 * EPICS BASE is distributed subject to a Software License Agreement found
8 * in file LICENSE that is included with this distribution.
9 \*************************************************************************/
10 
11 #ifndef INC_errSymTbl_H
12 #define INC_errSymTbl_H
13 
14 #include <stddef.h>
15 
16 #include "libComAPI.h"
17 #include "epicsTypes.h"
18 
19 #define S_err_invCode (M_err | 1) /* Invalid error symbol code */
20 #define S_err_codeExists (M_err | 2) /* Error code already exists */
21 
22 /* ERRSYMBOL - entry in symbol table */
23 typedef struct {
24  long errNum; /* errMessage symbol number */
25  const char *name; /* pointer to symbol name */
26 } ERRSYMBOL;
27 
28 /* ERRSYMTAB - symbol table */
29 typedef struct {
30  int nsymbols; /* current number of symbols in table */
31  ERRSYMBOL *symbols; /* ptr to array of symbol entries */
32 } ERRSYMTAB;
33 
34 typedef ERRSYMTAB *ERRSYMTAB_ID;
35 
36 
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
51 LIBCOM_API void errSymLookup(long status, char *pBuf, size_t bufLength);
62 LIBCOM_API const char* errSymMsg(long status);
63 LIBCOM_API void errSymTest(epicsUInt16 modnum, epicsUInt16 begErrNum,
64  epicsUInt16 endErrNum);
65 LIBCOM_API void errSymTestPrint(long errNum);
66 LIBCOM_API int errSymBld(void);
72 LIBCOM_API int errSymbolAdd(long errNum, const char *message);
73 LIBCOM_API void errSymDump(void);
74 
75 #ifdef __cplusplus
76 }
77 #endif
78 
79 #endif /* INC_errSymTbl_H */
The core data types used by epics.
LIBCOM_API void errSymLookup(long status, char *pBuf, size_t bufLength)