15 #include "libComAPI.h" 43 #define asCheckGet(asClientPvt) \ 44 (!asActive || ((asClientPvt)->access >= asREAD)) 45 #define asCheckPut(asClientPvt) \ 46 (!asActive || ((asClientPvt)->access >= asWRITE)) 54 #define asTrapWriteWithData(asClientPvt, user, host, addr, type, count, data) \ 55 ((asActive && (asClientPvt)->trapMask) \ 56 ? asTrapWriteBeforeWithData((user), (host), (addr), (type), (count), (data)) \ 58 #define asTrapWriteAfter(pvt) \ 59 if (pvt) asTrapWriteAfterWrite(pvt) 66 #define asTrapWriteBefore(asClientPvt, user, host, addr) \ 67 asTrapWriteWithData(asClientPvt, user, host, addr, 0, 0, NULL) 72 const char *filename,
const char *substitutions);
73 LIBCOM_API
long epicsStdCall
asInitFP(FILE *fp,
const char *substitutions);
74 LIBCOM_API
long epicsStdCall
asInitMem(
const char *acf,
const char *substitutions);
77 ASMEMBERPVT *asMemberPvt,
const char *asgName);
78 LIBCOM_API
long epicsStdCall
asRemoveMember(ASMEMBERPVT *asMemberPvt);
81 ASMEMBERPVT *asMemberPvt,
const char *newAsgName);
82 LIBCOM_API
void * epicsStdCall
asGetMemberPvt(ASMEMBERPVT asMemberPvt);
84 ASMEMBERPVT asMemberPvt,
void *
userPvt);
87 ASCLIENTPVT *asClientPvt,ASMEMBERPVT asMemberPvt,
88 int asl,
const char *
user,
char *
host);
91 ASCLIENTPVT asClientPvt,
int asl,
const char *
user,
char *
host);
92 LIBCOM_API
long epicsStdCall
asRemoveClient(ASCLIENTPVT *asClientPvt);
93 LIBCOM_API
void * epicsStdCall
asGetClientPvt(ASCLIENTPVT asClientPvt);
95 ASCLIENTPVT asClientPvt,
void *
userPvt);
102 LIBCOM_API
long epicsStdCall
asCompute(ASCLIENTPVT asClientPvt);
103 LIBCOM_API
int epicsStdCall
asDump(
104 void (*memcallback)(ASMEMBERPVT,FILE *),
105 void (*clientcallback)(ASCLIENTPVT,FILE *),
int verbose);
106 LIBCOM_API
int epicsStdCall
asDumpFP(FILE *fp,
107 void (*memcallback)(ASMEMBERPVT,FILE *),
108 void (*clientcallback)(ASCLIENTPVT,FILE *),
int verbose);
109 LIBCOM_API
int epicsStdCall
asDumpUag(
const char *uagname);
110 LIBCOM_API
int epicsStdCall
asDumpUagFP(FILE *fp,
const char *uagname);
111 LIBCOM_API
int epicsStdCall
asDumpHag(
const char *hagname);
112 LIBCOM_API
int epicsStdCall
asDumpHagFP(FILE *fp,
const char *hagname);
113 LIBCOM_API
int epicsStdCall
asDumpRules(
const char *asgname);
114 LIBCOM_API
int epicsStdCall
asDumpRulesFP(FILE *fp,
const char *asgname);
115 LIBCOM_API
int epicsStdCall
asDumpMem(
const char *asgname,
116 void (*memcallback)(ASMEMBERPVT,FILE *),
int clients);
117 LIBCOM_API
int epicsStdCall
asDumpMemFP(FILE *fp,
const char *asgname,
118 void (*memcallback)(ASMEMBERPVT,FILE *),
int clients);
123 const char *userid,
const char *hostid,
void *addr,
124 int dbrType,
int no_elements,
void *data);
128 #define S_asLib_clientsExist (M_asLib| 1) 129 #define S_asLib_noUag (M_asLib| 2) 130 #define S_asLib_noHag (M_asLib| 3) 131 #define S_asLib_noAccess (M_asLib| 4) 132 #define S_asLib_noModify (M_asLib| 5) 133 #define S_asLib_badConfig (M_asLib| 6) 134 #define S_asLib_badCalc (M_asLib| 7) 135 #define S_asLib_dupAsg (M_asLib| 8) 136 #define S_asLib_InitFailed (M_asLib| 9) 137 #define S_asLib_asNotActive (M_asLib|10) 138 #define S_asLib_badMember (M_asLib|11) 139 #define S_asLib_badClient (M_asLib|12) 140 #define S_asLib_badAsg (M_asLib|13) 141 #define S_asLib_noMemory (M_asLib|14) 190 #define AS_TRAP_WRITE 1 243 LIBCOM_API
void * epicsStdCall
asCalloc(
size_t nobj,
size_t size);
244 LIBCOM_API
char * epicsStdCall
asStrdup(
unsigned char *
str);
LIBCOM_API long epicsStdCall asChangeGroup(ASMEMBERPVT *asMemberPvt, const char *newAsgName)
LIBCOM_API int asCheckClientIP
LIBCOM_API long epicsStdCall asInitialize(ASINPUTFUNCPTR inputfunction)
LIBCOM_API long epicsStdCall asInitFile(const char *filename, const char *substitutions)
LIBCOM_API int epicsStdCall asDumpHagFP(FILE *fp, const char *hagname)
LIBCOM_API long epicsStdCall asCompute(ASCLIENTPVT asClientPvt)
LIBCOM_API volatile ASBASE * pasbase
LIBCOM_API long epicsStdCall asChangeClient(ASCLIENTPVT asClientPvt, int asl, const char *user, char *host)
LIBCOM_API void *epicsStdCall asTrapWriteBeforeWithData(const char *userid, const char *hostid, void *addr, int dbrType, int no_elements, void *data)
struct asgClient ASGCLIENT
LIBCOM_API long epicsStdCall asAddClient(ASCLIENTPVT *asClientPvt, ASMEMBERPVT asMemberPvt, int asl, const char *user, char *host)
LIBCOM_API long epicsStdCall asRegisterClientCallback(ASCLIENTPVT asClientPvt, ASCLIENTCALLBACK pcallback)
LIBCOM_API void epicsStdCall asPutClientPvt(ASCLIENTPVT asClientPvt, void *userPvt)
LIBCOM_API int epicsStdCall asDumpFP(FILE *fp, void(*memcallback)(ASMEMBERPVT, FILE *), void(*clientcallback)(ASCLIENTPVT, FILE *), int verbose)
LIBCOM_API long epicsStdCall asComputeAsg(ASG *pasg)
ASCLIENTCALLBACK pcallback
struct asgMember * ASMEMBERPVT
LIBCOM_API char *epicsStdCall asStrdup(unsigned char *str)
LIBCOM_API int epicsStdCall asDumpHag(const char *hagname)
A doubly-linked list library.
LIBCOM_API void *epicsStdCall asGetMemberPvt(ASMEMBERPVT asMemberPvt)
LIBCOM_API long epicsStdCall asInitFP(FILE *fp, const char *substitutions)
LIBCOM_API long epicsStdCall asRemoveMember(ASMEMBERPVT *asMemberPvt)
LIBCOM_API int epicsStdCall asDumpRulesFP(FILE *fp, const char *asgname)
ChannelProviderRegistry::shared_pointer clients
LIBCOM_API long epicsStdCall asRemoveClient(ASCLIENTPVT *asClientPvt)
LIBCOM_API int epicsStdCall asDumpHashFP(FILE *fp)
LIBCOM_API void *epicsStdCall asGetClientPvt(ASCLIENTPVT asClientPvt)
LIBCOM_API int epicsStdCall asDumpMemFP(FILE *fp, const char *asgname, void(*memcallback)(ASMEMBERPVT, FILE *), int clients)
int(* ASINPUTFUNCPTR)(char *buf, int max_size)
LIBCOM_API int epicsStdCall asDumpUag(const char *uagname)
LIBCOM_API int epicsStdCall asDumpHash(void)
LIBCOM_API void epicsStdCall asTrapWriteAfterWrite(void *pvt)
struct asgMember ASGMEMBER
LIBCOM_API long epicsStdCall asInitMem(const char *acf, const char *substitutions)
LIBCOM_API long epicsStdCall asAddMember(ASMEMBERPVT *asMemberPvt, const char *asgName)
LIBCOM_API void *epicsStdCall asCalloc(size_t nobj, size_t size)
void(* ASCLIENTCALLBACK)(ASCLIENTPVT, asClientStatus)
LIBCOM_API int epicsStdCall asDumpRules(const char *asgname)
LIBCOM_API long epicsStdCall asComputeAllAsg(void)
LIBCOM_API void epicsStdCall asPutMemberPvt(ASMEMBERPVT asMemberPvt, void *userPvt)
LIBCOM_API int epicsStdCall asDumpUagFP(FILE *fp, const char *uagname)
LIBCOM_API int epicsStdCall asDumpMem(const char *asgname, void(*memcallback)(ASMEMBERPVT, FILE *), int clients)
LIBCOM_API void asFreeAll(ASBASE *pasbase)
struct asgClient * ASCLIENTPVT
LIBCOM_API int epicsStdCall asDump(void(*memcallback)(ASMEMBERPVT, FILE *), void(*clientcallback)(ASCLIENTPVT, FILE *), int verbose)