#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "dbDefs.h"
#include "ellLib.h"
#include "epicsMutex.h"
#include "epicsStdio.h"
#include "epicsString.h"
#include "dbBase.h"
#include "dbStaticLib.h"
#include "dbStaticPvt.h"
Go to the source code of this file.
#define epicsExportSharedSymbols |
Definition at line 105 of file dbPvdLib.c.
116 if (pbucket ==
NULL) {
unsigned int epicsStrHash(const char *str, unsigned int seed)
void epicsStdCall epicsMutexUnlock(epicsMutexId pmutexNode)
Release the semaphore.
void ellAdd(ELLLIST *pList, ELLNODE *pNode)
Adds a node to the end of a list.
#define ellNext(PNODE)
Find the next node in list.
#define dbCalloc(nobj, size)
#define ellInit(PLIST)
Initialize a list type.
#define epicsMutexCreate()
Create an epicsMutex semaphore for use from C code.
dbRecordType * precordType
#define epicsMutexMustLock(ID)
Claim a semaphore (see epicsMutexLock()).
#define ellFirst(PLIST)
Find the first node in list.
Definition at line 140 of file dbPvdLib.c.
148 if (pbucket ==
NULL)
return;
unsigned int epicsStrHash(const char *str, unsigned int seed)
void epicsStdCall epicsMutexUnlock(epicsMutexId pmutexNode)
Release the semaphore.
#define ellNext(PNODE)
Find the next node in list.
#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 dbPvdDump |
( |
dbBase * |
pdbbase, |
|
|
int |
verbose |
|
) |
| |
Definition at line 193 of file dbPvdLib.c.
195 unsigned int empty = 0;
200 fprintf(
stderr,
"pdbbase not specified\n");
203 ppvd = pdbbase->
ppvd;
204 if (ppvd ==
NULL)
return;
206 printf(
"Process Variable Directory has %u buckets", ppvd->
size);
208 for (h = 0; h < ppvd->
size; h++) {
213 if (pbucket ==
NULL) {
228 printf(
"\n%u buckets empty.\n", empty);
epics::pvData::BitSetPtr empty
#define ellCount(PLIST)
Report the number of nodes in a list.
void epicsStdCall epicsMutexUnlock(epicsMutexId pmutexNode)
Release the semaphore.
#define ellNext(PNODE)
Find the next node in list.
#define epicsMutexMustLock(ID)
Claim a semaphore (see epicsMutexLock()).
#define ellFirst(PLIST)
Find the first node in list.
PVDENTRY* dbPvdFind |
( |
dbBase * |
pdbbase, |
|
|
const char * |
name, |
|
|
size_t |
lenName |
|
) |
| |
Definition at line 82 of file dbPvdLib.c.
96 if (strncmp(name, recordname, lenName) == 0 &&
97 strlen(recordname) == lenName)
void epicsStdCall epicsMutexUnlock(epicsMutexId pmutexNode)
Release the semaphore.
#define ellNext(PNODE)
Find the next node in list.
unsigned int epicsMemHash(const char *str, size_t length, unsigned int seed)
#define epicsMutexMustLock(ID)
Claim a semaphore (see epicsMutexLock()).
#define ellFirst(PLIST)
Find the first node in list.
void dbPvdFreeMem |
( |
dbBase * |
pdbbase | ) |
|
Definition at line 166 of file dbPvdLib.c.
171 if (ppvd ==
NULL)
return;
174 for (h = 0; h < ppvd->
size; h++) {
178 if (pbucket ==
NULL)
continue;
void epicsStdCall epicsMutexDestroy(epicsMutexId pmutexNode)
Destroy an epicsMutex semaphore.
void epicsStdCall epicsMutexUnlock(epicsMutexId pmutexNode)
Release the semaphore.
#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 dbPvdInitPvt |
( |
dbBase * |
pdbbase | ) |
|
Definition at line 63 of file dbPvdLib.c.
67 if (pdbbase->
ppvd)
return;
unsigned int dbPvdHashTableSize
#define dbCalloc(nobj, size)
int dbPvdTableSize |
( |
int |
size | ) |
|
Definition at line 46 of file dbPvdLib.c.
48 if (size & (size - 1)) {
49 printf(
"dbPvdTableSize: %d is not a power of 2\n", size);
unsigned int dbPvdHashTableSize
unsigned int dbPvdHashTableSize = 0 |