|
|
Experimental Physics and
| |||||||||||||||
|
|
Attachment:
mbbi2.tar.gz /*************************************************************** * StreamDevice record interface for * * multibit binary input direct records * * * * (C) 1999 Dirk Zimoch ([email protected]) * * (C) 2005 Dirk Zimoch ([email protected]) * * * * This is an EPICS record Interface for StreamDevice. * * Please refer to the HTML files in ../doc/ for a detailed * * documentation. * * * * If you do any changes in this file, you are not allowed to * * redistribute it any more. If there is a bug or a missing * * feature, send me an email and/or your patch. If I accept * * your changes, they will go to the next release. * * * * DISCLAIMER: If this software breaks something or harms * * someone, it's your problem. * * * ***************************************************************/ #include "devStream.h" #include <mbbi2Record.h> #include <epicsExport.h> static long readData (dbCommon *record, format_t *format) { mbbi2Record *mbbiD = (mbbi2Record *) record; long val; if (format->type == DBF_LONG) { if (streamScanf (record, format, &val)) return ERROR; if (mbbiD->mask) { val &= mbbiD->mask; mbbiD->rval = val; return OK; } else { /* No MASK, (NOBT = 0): use VAL field */ mbbiD->val = (short)val; return DO_NOT_CONVERT; } } return ERROR; } static long writeData (dbCommon *record, format_t *format) { mbbi2Record *mbbiD = (mbbi2Record *) record; long val; if (format->type == DBF_LONG) { if (mbbiD->mask) val = mbbiD->rval & mbbiD->mask; else val = mbbiD->val; return streamPrintf (record, format, val); } return ERROR; } static long initRecord (dbCommon *record) { mbbi2Record *mbbiD = (mbbi2Record *) record; mbbiD->mask <<= mbbiD->shft; return streamInitRecord (record, &mbbiD->inp, readData, writeData) == ERROR ? ERROR : OK; } struct { long number; DEVSUPFUN report; DEVSUPFUN init; DEVSUPFUN init_record; DEVSUPFUN get_ioint_info; DEVSUPFUN read; } devmbbi2Stream = { 5, streamReport, streamInit, initRecord, streamGetIointInfo, streamRead }; epicsExportAddress(dset,devmbbi2Stream); #ifndef INCmbbi2H
#define INCmbbi2H
#include "epicsTypes.h"
#include "link.h"
#include "epicsMutex.h"
#include "ellLib.h"
#include "epicsTime.h"
typedef struct mbbi2Record {
char name[61]; /* Record Name */
char desc[41]; /* Descriptor */
char asg[29]; /* Access Security Group */
epicsEnum16 scan; /* Scan Mechanism */
epicsEnum16 pini; /* Process at iocInit */
epicsInt16 phas; /* Scan Phase */
epicsInt16 evnt; /* Event Number */
epicsInt16 tse; /* Time Stamp Event */
DBLINK tsel; /* Time Stamp Link */
epicsEnum16 dtyp; /* Device Type */
epicsInt16 disv; /* Disable Value */
epicsInt16 disa; /* Disable */
DBLINK sdis; /* Scanning Disable */
epicsMutexId mlok; /* Monitor lock */
ELLLIST mlis; /* Monitor List */
epicsUInt8 disp; /* Disable putField */
epicsUInt8 proc; /* Force Processing */
epicsEnum16 stat; /* Alarm Status */
epicsEnum16 sevr; /* Alarm Severity */
epicsEnum16 nsta; /* New Alarm Status */
epicsEnum16 nsev; /* New Alarm Severity */
epicsEnum16 acks; /* Alarm Ack Severity */
epicsEnum16 ackt; /* Alarm Ack Transient */
epicsEnum16 diss; /* Disable Alarm Sevrty */
epicsUInt8 lcnt; /* Lock Count */
epicsUInt8 pact; /* Record active */
epicsUInt8 putf; /* dbPutField process */
epicsUInt8 rpro; /* Reprocess */
struct asgMember *asp; /* Access Security Pvt */
struct putNotify *ppn; /* addr of PUTNOTIFY */
struct putNotifyRecord *ppnr; /* pputNotifyRecord */
struct scan_element *spvt; /* Scan Private */
struct rset *rset; /* Address of RSET */
struct dset *dset; /* DSET address */
void *dpvt; /* Device Private */
struct dbRecordType *rdes; /* Address of dbRecordType */
struct lockRecord *lset; /* Lock Set */
epicsEnum16 prio; /* Scheduling Priority */
epicsUInt8 tpro; /* Trace Processing */
char bkpt; /* Break Point */
epicsUInt8 udf; /* Undefined */
epicsTimeStamp time; /* Time */
DBLINK flnk; /* Forward Process Link */
epicsUInt16 val; /* Current Value */
epicsInt16 nobt; /* Number of Bits */
DBLINK inp; /* Input Specification */
epicsUInt32 rval; /* Raw Value */
epicsUInt32 oraw; /* Prev Raw Value */
epicsUInt32 mask; /* Hardware Mask */
epicsUInt16 mlst; /* Last Value Monitored */
epicsUInt16 lalm; /* Last Value Alarmed */
epicsInt16 sdef; /* States Defined */
epicsUInt16 shft; /* Shift */
DBLINK siol; /* Sim Input Specifctn */
epicsUInt32 sval; /* Simulation Value */
DBLINK siml; /* Sim Mode Location */
epicsEnum16 simm; /* Simulation Mode */
epicsEnum16 sims; /* Sim mode Alarm Svrty */
epicsUInt8 b0; /* Bit 0 */
epicsUInt8 b1; /* Bit 1 */
epicsUInt8 b2; /* Bit 2 */
epicsUInt8 b3; /* Bit 3 */
epicsUInt8 b4; /* Bit 4 */
epicsUInt8 b5; /* Bit 5 */
epicsUInt8 b6; /* Bit 6 */
epicsUInt8 b7; /* Bit 7 */
epicsUInt8 b8; /* Bit 8 */
epicsUInt8 b9; /* Bit 9 */
epicsUInt8 ba; /* Bit A */
epicsUInt8 bb; /* Bit B */
epicsUInt8 bc; /* Bit C */
epicsUInt8 bd; /* Bit D */
epicsUInt8 be; /* Bit E */
epicsUInt8 bf; /* Bit F */
char b0st[26]; /* Bit 0 description */
char b1st[26]; /* Bit 1 description */
char b2st[26]; /* Bit 2 description */
char b3st[26]; /* Bit 3 description */
char b4st[26]; /* Bit 4 description */
char b5st[26]; /* Bit 5 description */
char b6st[26]; /* Bit 6 description */
char b7st[26]; /* Bit 7 description */
char b8st[26]; /* Bit 8 description */
char b9st[26]; /* Bit 9 description */
char bast[26]; /* Bit A description */
char bbst[26]; /* Bit B description */
char bcst[26]; /* Bit C description */
char bdst[26]; /* Bit D description */
char best[26]; /* Bit E description */
char bfst[26]; /* Bit F description */
epicsEnum16 b0zsv; /* Bit 0 zero severity */
epicsEnum16 b1zsv; /* Bit 1 zero severity */
epicsEnum16 b2zsv; /* Bit 2 zero severity */
epicsEnum16 b3zsv; /* Bit 3 zero severity */
epicsEnum16 b4zsv; /* Bit 4 zero severity */
epicsEnum16 b5zsv; /* Bit 5 zero severity */
epicsEnum16 b6zsv; /* Bit 6 zero severity */
epicsEnum16 b7zsv; /* Bit 7 zero severity */
epicsEnum16 b8zsv; /* Bit 8 zero severity */
epicsEnum16 b9zsv; /* Bit 9 zero severity */
epicsEnum16 bazsv; /* Bit A zero severity */
epicsEnum16 bbzsv; /* Bit B zero severity */
epicsEnum16 bczsv; /* Bit C zero severity */
epicsEnum16 bdzsv; /* Bit D zero severity */
epicsEnum16 bezsv; /* Bit E zero severity */
epicsEnum16 bfzsv; /* Bit F zero severity */
epicsEnum16 b0osv; /* Bit 0 one severity */
epicsEnum16 b1osv; /* Bit 1 one severity */
epicsEnum16 b2osv; /* Bit 2 one severity */
epicsEnum16 b3osv; /* Bit 3 one severity */
epicsEnum16 b4osv; /* Bit 4 one severity */
epicsEnum16 b5osv; /* Bit 5 one severity */
epicsEnum16 b6osv; /* Bit 6 one severity */
epicsEnum16 b7osv; /* Bit 7 one severity */
epicsEnum16 b8osv; /* Bit 8 one severity */
epicsEnum16 b9osv; /* Bit 9 one severity */
epicsEnum16 baosv; /* Bit A one severity */
epicsEnum16 bbosv; /* Bit B one severity */
epicsEnum16 bcosv; /* Bit C one severity */
epicsEnum16 bdosv; /* Bit D one severity */
epicsEnum16 beosv; /* Bit E one severity */
epicsEnum16 bfosv; /* Bit F one severity */
epicsUInt16 bas; /* Bits alarm source */
} mbbi2Record;
#define mbbi2RecordNAME 0
#define mbbi2RecordDESC 1
#define mbbi2RecordASG 2
#define mbbi2RecordSCAN 3
#define mbbi2RecordPINI 4
#define mbbi2RecordPHAS 5
#define mbbi2RecordEVNT 6
#define mbbi2RecordTSE 7
#define mbbi2RecordTSEL 8
#define mbbi2RecordDTYP 9
#define mbbi2RecordDISV 10
#define mbbi2RecordDISA 11
#define mbbi2RecordSDIS 12
#define mbbi2RecordMLOK 13
#define mbbi2RecordMLIS 14
#define mbbi2RecordDISP 15
#define mbbi2RecordPROC 16
#define mbbi2RecordSTAT 17
#define mbbi2RecordSEVR 18
#define mbbi2RecordNSTA 19
#define mbbi2RecordNSEV 20
#define mbbi2RecordACKS 21
#define mbbi2RecordACKT 22
#define mbbi2RecordDISS 23
#define mbbi2RecordLCNT 24
#define mbbi2RecordPACT 25
#define mbbi2RecordPUTF 26
#define mbbi2RecordRPRO 27
#define mbbi2RecordASP 28
#define mbbi2RecordPPN 29
#define mbbi2RecordPPNR 30
#define mbbi2RecordSPVT 31
#define mbbi2RecordRSET 32
#define mbbi2RecordDSET 33
#define mbbi2RecordDPVT 34
#define mbbi2RecordRDES 35
#define mbbi2RecordLSET 36
#define mbbi2RecordPRIO 37
#define mbbi2RecordTPRO 38
#define mbbi2RecordBKPT 39
#define mbbi2RecordUDF 40
#define mbbi2RecordTIME 41
#define mbbi2RecordFLNK 42
#define mbbi2RecordVAL 43
#define mbbi2RecordNOBT 44
#define mbbi2RecordINP 45
#define mbbi2RecordRVAL 46
#define mbbi2RecordORAW 47
#define mbbi2RecordMASK 48
#define mbbi2RecordMLST 49
#define mbbi2RecordLALM 50
#define mbbi2RecordSDEF 51
#define mbbi2RecordSHFT 52
#define mbbi2RecordSIOL 53
#define mbbi2RecordSVAL 54
#define mbbi2RecordSIML 55
#define mbbi2RecordSIMM 56
#define mbbi2RecordSIMS 57
#define mbbi2RecordB0 58
#define mbbi2RecordB1 59
#define mbbi2RecordB2 60
#define mbbi2RecordB3 61
#define mbbi2RecordB4 62
#define mbbi2RecordB5 63
#define mbbi2RecordB6 64
#define mbbi2RecordB7 65
#define mbbi2RecordB8 66
#define mbbi2RecordB9 67
#define mbbi2RecordBA 68
#define mbbi2RecordBB 69
#define mbbi2RecordBC 70
#define mbbi2RecordBD 71
#define mbbi2RecordBE 72
#define mbbi2RecordBF 73
#define mbbi2RecordB0ST 74
#define mbbi2RecordB1ST 75
#define mbbi2RecordB2ST 76
#define mbbi2RecordB3ST 77
#define mbbi2RecordB4ST 78
#define mbbi2RecordB5ST 79
#define mbbi2RecordB6ST 80
#define mbbi2RecordB7ST 81
#define mbbi2RecordB8ST 82
#define mbbi2RecordB9ST 83
#define mbbi2RecordBAST 84
#define mbbi2RecordBBST 85
#define mbbi2RecordBCST 86
#define mbbi2RecordBDST 87
#define mbbi2RecordBEST 88
#define mbbi2RecordBFST 89
#define mbbi2RecordB0ZSV 90
#define mbbi2RecordB1ZSV 91
#define mbbi2RecordB2ZSV 92
#define mbbi2RecordB3ZSV 93
#define mbbi2RecordB4ZSV 94
#define mbbi2RecordB5ZSV 95
#define mbbi2RecordB6ZSV 96
#define mbbi2RecordB7ZSV 97
#define mbbi2RecordB8ZSV 98
#define mbbi2RecordB9ZSV 99
#define mbbi2RecordBAZSV 100
#define mbbi2RecordBBZSV 101
#define mbbi2RecordBCZSV 102
#define mbbi2RecordBDZSV 103
#define mbbi2RecordBEZSV 104
#define mbbi2RecordBFZSV 105
#define mbbi2RecordB0OSV 106
#define mbbi2RecordB1OSV 107
#define mbbi2RecordB2OSV 108
#define mbbi2RecordB3OSV 109
#define mbbi2RecordB4OSV 110
#define mbbi2RecordB5OSV 111
#define mbbi2RecordB6OSV 112
#define mbbi2RecordB7OSV 113
#define mbbi2RecordB8OSV 114
#define mbbi2RecordB9OSV 115
#define mbbi2RecordBAOSV 116
#define mbbi2RecordBBOSV 117
#define mbbi2RecordBCOSV 118
#define mbbi2RecordBDOSV 119
#define mbbi2RecordBEOSV 120
#define mbbi2RecordBFOSV 121
#define mbbi2RecordBAS 122
#endif /*INCmbbi2H*/
#ifdef GEN_SIZE_OFFSET
#ifdef __cplusplus
extern "C" {
#endif
#include <epicsExport.h>
static int mbbi2RecordSizeOffset(dbRecordType *pdbRecordType)
{
mbbi2Record *prec = 0;
pdbRecordType->papFldDes[0]->size=sizeof(prec->name);
pdbRecordType->papFldDes[0]->offset=(short)((char *)&prec->name - (char *)prec);
pdbRecordType->papFldDes[1]->size=sizeof(prec->desc);
pdbRecordType->papFldDes[1]->offset=(short)((char *)&prec->desc - (char *)prec);
pdbRecordType->papFldDes[2]->size=sizeof(prec->asg);
pdbRecordType->papFldDes[2]->offset=(short)((char *)&prec->asg - (char *)prec);
pdbRecordType->papFldDes[3]->size=sizeof(prec->scan);
pdbRecordType->papFldDes[3]->offset=(short)((char *)&prec->scan - (char *)prec);
pdbRecordType->papFldDes[4]->size=sizeof(prec->pini);
pdbRecordType->papFldDes[4]->offset=(short)((char *)&prec->pini - (char *)prec);
pdbRecordType->papFldDes[5]->size=sizeof(prec->phas);
pdbRecordType->papFldDes[5]->offset=(short)((char *)&prec->phas - (char *)prec);
pdbRecordType->papFldDes[6]->size=sizeof(prec->evnt);
pdbRecordType->papFldDes[6]->offset=(short)((char *)&prec->evnt - (char *)prec);
pdbRecordType->papFldDes[7]->size=sizeof(prec->tse);
pdbRecordType->papFldDes[7]->offset=(short)((char *)&prec->tse - (char *)prec);
pdbRecordType->papFldDes[8]->size=sizeof(prec->tsel);
pdbRecordType->papFldDes[8]->offset=(short)((char *)&prec->tsel - (char *)prec);
pdbRecordType->papFldDes[9]->size=sizeof(prec->dtyp);
pdbRecordType->papFldDes[9]->offset=(short)((char *)&prec->dtyp - (char *)prec);
pdbRecordType->papFldDes[10]->size=sizeof(prec->disv);
pdbRecordType->papFldDes[10]->offset=(short)((char *)&prec->disv - (char *)prec);
pdbRecordType->papFldDes[11]->size=sizeof(prec->disa);
pdbRecordType->papFldDes[11]->offset=(short)((char *)&prec->disa - (char *)prec);
pdbRecordType->papFldDes[12]->size=sizeof(prec->sdis);
pdbRecordType->papFldDes[12]->offset=(short)((char *)&prec->sdis - (char *)prec);
pdbRecordType->papFldDes[13]->size=sizeof(prec->mlok);
pdbRecordType->papFldDes[13]->offset=(short)((char *)&prec->mlok - (char *)prec);
pdbRecordType->papFldDes[14]->size=sizeof(prec->mlis);
pdbRecordType->papFldDes[14]->offset=(short)((char *)&prec->mlis - (char *)prec);
pdbRecordType->papFldDes[15]->size=sizeof(prec->disp);
pdbRecordType->papFldDes[15]->offset=(short)((char *)&prec->disp - (char *)prec);
pdbRecordType->papFldDes[16]->size=sizeof(prec->proc);
pdbRecordType->papFldDes[16]->offset=(short)((char *)&prec->proc - (char *)prec);
pdbRecordType->papFldDes[17]->size=sizeof(prec->stat);
pdbRecordType->papFldDes[17]->offset=(short)((char *)&prec->stat - (char *)prec);
pdbRecordType->papFldDes[18]->size=sizeof(prec->sevr);
pdbRecordType->papFldDes[18]->offset=(short)((char *)&prec->sevr - (char *)prec);
pdbRecordType->papFldDes[19]->size=sizeof(prec->nsta);
pdbRecordType->papFldDes[19]->offset=(short)((char *)&prec->nsta - (char *)prec);
pdbRecordType->papFldDes[20]->size=sizeof(prec->nsev);
pdbRecordType->papFldDes[20]->offset=(short)((char *)&prec->nsev - (char *)prec);
pdbRecordType->papFldDes[21]->size=sizeof(prec->acks);
pdbRecordType->papFldDes[21]->offset=(short)((char *)&prec->acks - (char *)prec);
pdbRecordType->papFldDes[22]->size=sizeof(prec->ackt);
pdbRecordType->papFldDes[22]->offset=(short)((char *)&prec->ackt - (char *)prec);
pdbRecordType->papFldDes[23]->size=sizeof(prec->diss);
pdbRecordType->papFldDes[23]->offset=(short)((char *)&prec->diss - (char *)prec);
pdbRecordType->papFldDes[24]->size=sizeof(prec->lcnt);
pdbRecordType->papFldDes[24]->offset=(short)((char *)&prec->lcnt - (char *)prec);
pdbRecordType->papFldDes[25]->size=sizeof(prec->pact);
pdbRecordType->papFldDes[25]->offset=(short)((char *)&prec->pact - (char *)prec);
pdbRecordType->papFldDes[26]->size=sizeof(prec->putf);
pdbRecordType->papFldDes[26]->offset=(short)((char *)&prec->putf - (char *)prec);
pdbRecordType->papFldDes[27]->size=sizeof(prec->rpro);
pdbRecordType->papFldDes[27]->offset=(short)((char *)&prec->rpro - (char *)prec);
pdbRecordType->papFldDes[28]->size=sizeof(prec->asp);
pdbRecordType->papFldDes[28]->offset=(short)((char *)&prec->asp - (char *)prec);
pdbRecordType->papFldDes[29]->size=sizeof(prec->ppn);
pdbRecordType->papFldDes[29]->offset=(short)((char *)&prec->ppn - (char *)prec);
pdbRecordType->papFldDes[30]->size=sizeof(prec->ppnr);
pdbRecordType->papFldDes[30]->offset=(short)((char *)&prec->ppnr - (char *)prec);
pdbRecordType->papFldDes[31]->size=sizeof(prec->spvt);
pdbRecordType->papFldDes[31]->offset=(short)((char *)&prec->spvt - (char *)prec);
pdbRecordType->papFldDes[32]->size=sizeof(prec->rset);
pdbRecordType->papFldDes[32]->offset=(short)((char *)&prec->rset - (char *)prec);
pdbRecordType->papFldDes[33]->size=sizeof(prec->dset);
pdbRecordType->papFldDes[33]->offset=(short)((char *)&prec->dset - (char *)prec);
pdbRecordType->papFldDes[34]->size=sizeof(prec->dpvt);
pdbRecordType->papFldDes[34]->offset=(short)((char *)&prec->dpvt - (char *)prec);
pdbRecordType->papFldDes[35]->size=sizeof(prec->rdes);
pdbRecordType->papFldDes[35]->offset=(short)((char *)&prec->rdes - (char *)prec);
pdbRecordType->papFldDes[36]->size=sizeof(prec->lset);
pdbRecordType->papFldDes[36]->offset=(short)((char *)&prec->lset - (char *)prec);
pdbRecordType->papFldDes[37]->size=sizeof(prec->prio);
pdbRecordType->papFldDes[37]->offset=(short)((char *)&prec->prio - (char *)prec);
pdbRecordType->papFldDes[38]->size=sizeof(prec->tpro);
pdbRecordType->papFldDes[38]->offset=(short)((char *)&prec->tpro - (char *)prec);
pdbRecordType->papFldDes[39]->size=sizeof(prec->bkpt);
pdbRecordType->papFldDes[39]->offset=(short)((char *)&prec->bkpt - (char *)prec);
pdbRecordType->papFldDes[40]->size=sizeof(prec->udf);
pdbRecordType->papFldDes[40]->offset=(short)((char *)&prec->udf - (char *)prec);
pdbRecordType->papFldDes[41]->size=sizeof(prec->time);
pdbRecordType->papFldDes[41]->offset=(short)((char *)&prec->time - (char *)prec);
pdbRecordType->papFldDes[42]->size=sizeof(prec->flnk);
pdbRecordType->papFldDes[42]->offset=(short)((char *)&prec->flnk - (char *)prec);
pdbRecordType->papFldDes[43]->size=sizeof(prec->val);
pdbRecordType->papFldDes[43]->offset=(short)((char *)&prec->val - (char *)prec);
pdbRecordType->papFldDes[44]->size=sizeof(prec->nobt);
pdbRecordType->papFldDes[44]->offset=(short)((char *)&prec->nobt - (char *)prec);
pdbRecordType->papFldDes[45]->size=sizeof(prec->inp);
pdbRecordType->papFldDes[45]->offset=(short)((char *)&prec->inp - (char *)prec);
pdbRecordType->papFldDes[46]->size=sizeof(prec->rval);
pdbRecordType->papFldDes[46]->offset=(short)((char *)&prec->rval - (char *)prec);
pdbRecordType->papFldDes[47]->size=sizeof(prec->oraw);
pdbRecordType->papFldDes[47]->offset=(short)((char *)&prec->oraw - (char *)prec);
pdbRecordType->papFldDes[48]->size=sizeof(prec->mask);
pdbRecordType->papFldDes[48]->offset=(short)((char *)&prec->mask - (char *)prec);
pdbRecordType->papFldDes[49]->size=sizeof(prec->mlst);
pdbRecordType->papFldDes[49]->offset=(short)((char *)&prec->mlst - (char *)prec);
pdbRecordType->papFldDes[50]->size=sizeof(prec->lalm);
pdbRecordType->papFldDes[50]->offset=(short)((char *)&prec->lalm - (char *)prec);
pdbRecordType->papFldDes[51]->size=sizeof(prec->sdef);
pdbRecordType->papFldDes[51]->offset=(short)((char *)&prec->sdef - (char *)prec);
pdbRecordType->papFldDes[52]->size=sizeof(prec->shft);
pdbRecordType->papFldDes[52]->offset=(short)((char *)&prec->shft - (char *)prec);
pdbRecordType->papFldDes[53]->size=sizeof(prec->siol);
pdbRecordType->papFldDes[53]->offset=(short)((char *)&prec->siol - (char *)prec);
pdbRecordType->papFldDes[54]->size=sizeof(prec->sval);
pdbRecordType->papFldDes[54]->offset=(short)((char *)&prec->sval - (char *)prec);
pdbRecordType->papFldDes[55]->size=sizeof(prec->siml);
pdbRecordType->papFldDes[55]->offset=(short)((char *)&prec->siml - (char *)prec);
pdbRecordType->papFldDes[56]->size=sizeof(prec->simm);
pdbRecordType->papFldDes[56]->offset=(short)((char *)&prec->simm - (char *)prec);
pdbRecordType->papFldDes[57]->size=sizeof(prec->sims);
pdbRecordType->papFldDes[57]->offset=(short)((char *)&prec->sims - (char *)prec);
pdbRecordType->papFldDes[58]->size=sizeof(prec->b0);
pdbRecordType->papFldDes[58]->offset=(short)((char *)&prec->b0 - (char *)prec);
pdbRecordType->papFldDes[59]->size=sizeof(prec->b1);
pdbRecordType->papFldDes[59]->offset=(short)((char *)&prec->b1 - (char *)prec);
pdbRecordType->papFldDes[60]->size=sizeof(prec->b2);
pdbRecordType->papFldDes[60]->offset=(short)((char *)&prec->b2 - (char *)prec);
pdbRecordType->papFldDes[61]->size=sizeof(prec->b3);
pdbRecordType->papFldDes[61]->offset=(short)((char *)&prec->b3 - (char *)prec);
pdbRecordType->papFldDes[62]->size=sizeof(prec->b4);
pdbRecordType->papFldDes[62]->offset=(short)((char *)&prec->b4 - (char *)prec);
pdbRecordType->papFldDes[63]->size=sizeof(prec->b5);
pdbRecordType->papFldDes[63]->offset=(short)((char *)&prec->b5 - (char *)prec);
pdbRecordType->papFldDes[64]->size=sizeof(prec->b6);
pdbRecordType->papFldDes[64]->offset=(short)((char *)&prec->b6 - (char *)prec);
pdbRecordType->papFldDes[65]->size=sizeof(prec->b7);
pdbRecordType->papFldDes[65]->offset=(short)((char *)&prec->b7 - (char *)prec);
pdbRecordType->papFldDes[66]->size=sizeof(prec->b8);
pdbRecordType->papFldDes[66]->offset=(short)((char *)&prec->b8 - (char *)prec);
pdbRecordType->papFldDes[67]->size=sizeof(prec->b9);
pdbRecordType->papFldDes[67]->offset=(short)((char *)&prec->b9 - (char *)prec);
pdbRecordType->papFldDes[68]->size=sizeof(prec->ba);
pdbRecordType->papFldDes[68]->offset=(short)((char *)&prec->ba - (char *)prec);
pdbRecordType->papFldDes[69]->size=sizeof(prec->bb);
pdbRecordType->papFldDes[69]->offset=(short)((char *)&prec->bb - (char *)prec);
pdbRecordType->papFldDes[70]->size=sizeof(prec->bc);
pdbRecordType->papFldDes[70]->offset=(short)((char *)&prec->bc - (char *)prec);
pdbRecordType->papFldDes[71]->size=sizeof(prec->bd);
pdbRecordType->papFldDes[71]->offset=(short)((char *)&prec->bd - (char *)prec);
pdbRecordType->papFldDes[72]->size=sizeof(prec->be);
pdbRecordType->papFldDes[72]->offset=(short)((char *)&prec->be - (char *)prec);
pdbRecordType->papFldDes[73]->size=sizeof(prec->bf);
pdbRecordType->papFldDes[73]->offset=(short)((char *)&prec->bf - (char *)prec);
pdbRecordType->papFldDes[74]->size=sizeof(prec->b0st);
pdbRecordType->papFldDes[74]->offset=(short)((char *)&prec->b0st - (char *)prec);
pdbRecordType->papFldDes[75]->size=sizeof(prec->b1st);
pdbRecordType->papFldDes[75]->offset=(short)((char *)&prec->b1st - (char *)prec);
pdbRecordType->papFldDes[76]->size=sizeof(prec->b2st);
pdbRecordType->papFldDes[76]->offset=(short)((char *)&prec->b2st - (char *)prec);
pdbRecordType->papFldDes[77]->size=sizeof(prec->b3st);
pdbRecordType->papFldDes[77]->offset=(short)((char *)&prec->b3st - (char *)prec);
pdbRecordType->papFldDes[78]->size=sizeof(prec->b4st);
pdbRecordType->papFldDes[78]->offset=(short)((char *)&prec->b4st - (char *)prec);
pdbRecordType->papFldDes[79]->size=sizeof(prec->b5st);
pdbRecordType->papFldDes[79]->offset=(short)((char *)&prec->b5st - (char *)prec);
pdbRecordType->papFldDes[80]->size=sizeof(prec->b6st);
pdbRecordType->papFldDes[80]->offset=(short)((char *)&prec->b6st - (char *)prec);
pdbRecordType->papFldDes[81]->size=sizeof(prec->b7st);
pdbRecordType->papFldDes[81]->offset=(short)((char *)&prec->b7st - (char *)prec);
pdbRecordType->papFldDes[82]->size=sizeof(prec->b8st);
pdbRecordType->papFldDes[82]->offset=(short)((char *)&prec->b8st - (char *)prec);
pdbRecordType->papFldDes[83]->size=sizeof(prec->b9st);
pdbRecordType->papFldDes[83]->offset=(short)((char *)&prec->b9st - (char *)prec);
pdbRecordType->papFldDes[84]->size=sizeof(prec->bast);
pdbRecordType->papFldDes[84]->offset=(short)((char *)&prec->bast - (char *)prec);
pdbRecordType->papFldDes[85]->size=sizeof(prec->bbst);
pdbRecordType->papFldDes[85]->offset=(short)((char *)&prec->bbst - (char *)prec);
pdbRecordType->papFldDes[86]->size=sizeof(prec->bcst);
pdbRecordType->papFldDes[86]->offset=(short)((char *)&prec->bcst - (char *)prec);
pdbRecordType->papFldDes[87]->size=sizeof(prec->bdst);
pdbRecordType->papFldDes[87]->offset=(short)((char *)&prec->bdst - (char *)prec);
pdbRecordType->papFldDes[88]->size=sizeof(prec->best);
pdbRecordType->papFldDes[88]->offset=(short)((char *)&prec->best - (char *)prec);
pdbRecordType->papFldDes[89]->size=sizeof(prec->bfst);
pdbRecordType->papFldDes[89]->offset=(short)((char *)&prec->bfst - (char *)prec);
pdbRecordType->papFldDes[90]->size=sizeof(prec->b0zsv);
pdbRecordType->papFldDes[90]->offset=(short)((char* )&prec->b0zsv - (char *)prec);
pdbRecordType->papFldDes[91]->size=sizeof(prec->b1zsv);
pdbRecordType->papFldDes[91]->offset=(short)((char* )&prec->b1zsv - (char *)prec);
pdbRecordType->papFldDes[92]->size=sizeof(prec->b2zsv);
pdbRecordType->papFldDes[92]->offset=(short)((char* )&prec->b2zsv - (char *)prec);
pdbRecordType->papFldDes[93]->size=sizeof(prec->b3zsv);
pdbRecordType->papFldDes[93]->offset=(short)((char* )&prec->b3zsv - (char *)prec);
pdbRecordType->papFldDes[94]->size=sizeof(prec->b4zsv);
pdbRecordType->papFldDes[94]->offset=(short)((char* )&prec->b4zsv - (char *)prec);
pdbRecordType->papFldDes[95]->size=sizeof(prec->b5zsv);
pdbRecordType->papFldDes[95]->offset=(short)((char* )&prec->b5zsv - (char *)prec);
pdbRecordType->papFldDes[96]->size=sizeof(prec->b6zsv);
pdbRecordType->papFldDes[96]->offset=(short)((char* )&prec->b6zsv - (char *)prec);
pdbRecordType->papFldDes[97]->size=sizeof(prec->b7zsv);
pdbRecordType->papFldDes[97]->offset=(short)((char* )&prec->b7zsv - (char *)prec);
pdbRecordType->papFldDes[98]->size=sizeof(prec->b8zsv);
pdbRecordType->papFldDes[98]->offset=(short)((char* )&prec->b8zsv - (char *)prec);
pdbRecordType->papFldDes[99]->size=sizeof(prec->b9zsv);
pdbRecordType->papFldDes[99]->offset=(short)((char* )&prec->b9zsv - (char *)prec);
pdbRecordType->papFldDes[100]->size=sizeof(prec->bazsv);
pdbRecordType->papFldDes[100]->offset=(short)((char* )&prec->bazsv - (char *)prec);
pdbRecordType->papFldDes[101]->size=sizeof(prec->bbzsv);
pdbRecordType->papFldDes[101]->offset=(short)((char* )&prec->bbzsv - (char *)prec);
pdbRecordType->papFldDes[102]->size=sizeof(prec->bczsv);
pdbRecordType->papFldDes[102]->offset=(short)((char* )&prec->bczsv - (char *)prec);
pdbRecordType->papFldDes[103]->size=sizeof(prec->bdzsv);
pdbRecordType->papFldDes[103]->offset=(short)((char* )&prec->bdzsv - (char *)prec);
pdbRecordType->papFldDes[104]->size=sizeof(prec->bezsv);
pdbRecordType->papFldDes[104]->offset=(short)((char* )&prec->bezsv - (char *)prec);
pdbRecordType->papFldDes[105]->size=sizeof(prec->bfzsv);
pdbRecordType->papFldDes[105]->offset=(short)((char* )&prec->bfzsv - (char *)prec);
pdbRecordType->papFldDes[106]->size=sizeof(prec->b0osv);
pdbRecordType->papFldDes[106]->offset=(short)((char* )&prec->b0osv - (char *)prec);
pdbRecordType->papFldDes[107]->size=sizeof(prec->b1osv);
pdbRecordType->papFldDes[107]->offset=(short)((char* )&prec->b1osv - (char *)prec);
pdbRecordType->papFldDes[108]->size=sizeof(prec->b2osv);
pdbRecordType->papFldDes[108]->offset=(short)((char* )&prec->b2osv - (char *)prec);
pdbRecordType->papFldDes[109]->size=sizeof(prec->b3osv);
pdbRecordType->papFldDes[109]->offset=(short)((char* )&prec->b3osv - (char *)prec);
pdbRecordType->papFldDes[110]->size=sizeof(prec->b4osv);
pdbRecordType->papFldDes[110]->offset=(short)((char* )&prec->b4osv - (char *)prec);
pdbRecordType->papFldDes[111]->size=sizeof(prec->b5osv);
pdbRecordType->papFldDes[111]->offset=(short)((char* )&prec->b5osv - (char *)prec);
pdbRecordType->papFldDes[112]->size=sizeof(prec->b6osv);
pdbRecordType->papFldDes[112]->offset=(short)((char* )&prec->b6osv - (char *)prec);
pdbRecordType->papFldDes[113]->size=sizeof(prec->b7osv);
pdbRecordType->papFldDes[113]->offset=(short)((char* )&prec->b7osv - (char *)prec);
pdbRecordType->papFldDes[114]->size=sizeof(prec->b8osv);
pdbRecordType->papFldDes[114]->offset=(short)((char* )&prec->b8osv - (char *)prec);
pdbRecordType->papFldDes[115]->size=sizeof(prec->b9osv);
pdbRecordType->papFldDes[115]->offset=(short)((char* )&prec->b9osv - (char *)prec);
pdbRecordType->papFldDes[116]->size=sizeof(prec->baosv);
pdbRecordType->papFldDes[116]->offset=(short)((char* )&prec->baosv - (char *)prec);
pdbRecordType->papFldDes[117]->size=sizeof(prec->bbosv);
pdbRecordType->papFldDes[117]->offset=(short)((char* )&prec->bbosv - (char *)prec);
pdbRecordType->papFldDes[118]->size=sizeof(prec->bcosv);
pdbRecordType->papFldDes[118]->offset=(short)((char* )&prec->bcosv - (char *)prec);
pdbRecordType->papFldDes[119]->size=sizeof(prec->bdosv);
pdbRecordType->papFldDes[119]->offset=(short)((char* )&prec->bdosv - (char *)prec);
pdbRecordType->papFldDes[120]->size=sizeof(prec->beosv);
pdbRecordType->papFldDes[120]->offset=(short)((char* )&prec->beosv - (char *)prec);
pdbRecordType->papFldDes[121]->size=sizeof(prec->bfosv);
pdbRecordType->papFldDes[121]->offset=(short)((char* )&prec->bfosv - (char *)prec);
pdbRecordType->papFldDes[122]->size=sizeof(prec->bas);
pdbRecordType->papFldDes[122]->offset=(short)((char* )&prec->bas - (char *)prec);
pdbRecordType->rec_size = sizeof(*prec);
return(0);
}
epicsExportRegistrar(mbbi2RecordSizeOffset);
#ifdef __cplusplus
}
#endif
#endif /*GEN_SIZE_OFFSET*/
| |||||||||||||||
| ANJ, 04 Oct 2018 |
·
Home
·
News
·
About
·
Talk
·
Base
·
Modules
·
Extensions
·
· Distributions · Download · Documents · Links · Licensing · |