#include <stdlib.h>
#include <stddef.h>
#include <stdio.h>
#include <string.h>
#include "ellLib.h"
#include "freeList.h"
#include "epicsStdio.h"
#include "cantProceed.h"
#include "epicsMutex.h"
#include "asLib.h"
#include "asTrapWrite.h"
Go to the source code of this file.
void epicsStdCall asTrapWriteAfterWrite |
( |
void * |
pvt | ) |
|
Definition at line 151 of file asTrapWrite.c.
156 if (pwriteMessage == 0 ||
157 pasTrapWritePvt == 0)
return;
161 while (plistenerPvt) {
169 plistenerPvt = pnext;
void * freeListWriteMessage
void epicsStdCall epicsMutexUnlock(epicsMutexId pmutexNode)
Release the semaphore.
void * userPvt
A field for use by the asTrapWriteListener.
#define ellNext(PNODE)
Find the next node in list.
LIBCOM_API void epicsStdCall freeListFree(void *pvt, void *pmem)
struct listener * plistener
asTrapWriteMessage message
void * freeListListenerPvt
#define epicsMutexMustLock(ID)
Claim a semaphore (see epicsMutexLock()).
void ellDelete(ELLLIST *pList, ELLNODE *pNode)
Deletes a node from a list.
#define ellFirst(PLIST)
Find the first node in list.
void* epicsStdCall asTrapWriteBeforeWithData |
( |
const char * |
userid, |
|
|
const char * |
hostid, |
|
|
void * |
addr, |
|
|
int |
dbrType, |
|
|
int |
no_elements, |
|
|
void * |
data |
|
) |
| |
Definition at line 113 of file asTrapWrite.c.
120 if (pasTrapWritePvt == 0 ||
148 return pwriteMessage;
LIBCOM_API void *epicsStdCall freeListCalloc(void *pvt)
void * freeListWriteMessage
int dbrType
Data type from ca/db_access.h, NOT dbFldTypes.h.
#define ellCount(PLIST)
Report the number of nodes in a list.
void * serverSpecific
A field for use by the server.
void * data
Might be NULL if no data is available.
void epicsStdCall epicsMutexUnlock(epicsMutexId pmutexNode)
Release the semaphore.
void * userPvt
A field for use by the asTrapWriteListener.
const char * hostid
Hostid of whoever orginated the request.
void ellAdd(ELLLIST *pList, ELLNODE *pNode)
Adds a node to the end of a list.
#define ellNext(PNODE)
Find the next node in list.
struct listener * plistener
asTrapWriteMessage message
const char * userid
Userid of whoever orginated the request.
#define ellInit(PLIST)
Initialize a list type.
void * freeListListenerPvt
#define epicsMutexMustLock(ID)
Claim a semaphore (see epicsMutexLock()).
int no_elements
Array length.
#define ellFirst(PLIST)
Find the first node in list.
Register function to be called on asTrapWriteListener.
- Parameters
-
func | The listener function to be called. |
- Returns
- A listener identifier for unregistering this listener.
Definition at line 73 of file asTrapWrite.c.
77 if(pasTrapWritePvt==0) asTrapWriteInit();
79 plistener->
func = func;
void * asTrapWriteId
An identifier needed to unregister an listener.
void epicsStdCall epicsMutexUnlock(epicsMutexId pmutexNode)
Release the semaphore.
void ellAdd(ELLLIST *pList, ELLNODE *pNode)
Adds a node to the end of a list.
LIBCOM_API void * callocMustSucceed(size_t count, size_t size, const char *msg)
A calloc() that never returns NULL.
#define epicsMutexMustLock(ID)
Claim a semaphore (see epicsMutexLock()).
void epicsStdCall asTrapWriteUnregisterListener |
( |
asTrapWriteId |
id | ) |
|
Unregister asTrapWriteListener.
- Parameters
-
Definition at line 86 of file asTrapWrite.c.
91 if(pasTrapWritePvt==0)
return;
94 while(pwriteMessage) {
100 if(plistenerPvt->
plistener == plistener) {
104 plistenerPvt = pnext;
void epicsStdCall epicsMutexUnlock(epicsMutexId pmutexNode)
Release the semaphore.
#define ellNext(PNODE)
Find the next node in list.
LIBCOM_API void epicsStdCall freeListFree(void *pvt, void *pmem)
struct listener * plistener
void * freeListListenerPvt
#define epicsMutexMustLock(ID)
Claim a semaphore (see epicsMutexLock()).
void ellDelete(ELLLIST *pList, ELLNODE *pNode)
Deletes a node from a list.
#define ellFirst(PLIST)
Find the first node in list.