This is Unofficial EPICS BASE Doxygen Site
devMbboDirectSoftCallback.c
Go to the documentation of this file.
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 * EPICS BASE is distributed subject to a Software License Agreement found
7 * in file LICENSE that is included with this distribution.
8 \*************************************************************************/
9 /* devMbboDirectSoftCallback.c */
10 /*
11  * Original Author: Marty Kraimer
12  * Date: 04NOV2003
13  */
14 
15 #include <stdio.h>
16 
17 #include "alarm.h"
18 #include "dbAccess.h"
19 #include "recGbl.h"
20 #include "devSup.h"
21 #include "mbboDirectRecord.h"
22 #include "epicsExport.h"
23 
24 static long write_mbbo(mbboDirectRecord *prec)
25 {
26  struct link *plink = &prec->out;
27  long status;
28 
29  if (prec->pact)
30  return 0;
31 
32  status = dbPutLinkAsync(plink, DBR_ULONG, &prec->val, 1);
33  if (!status)
34  prec->pact = TRUE;
35  else if (status == S_db_noLSET)
36  status = dbPutLink(plink, DBR_ULONG, &prec->val, 1);
37 
38  return status;
39 }
40 
41 /* Create the dset for devMbboDirectSoftCallback */
42 mbbodirectdset devMbboDirectSoftCallback = {
43  {5, NULL, NULL, NULL, NULL},
44  write_mbbo
45 };
46 epicsExportAddress(dset, devMbboDirectSoftCallback);
pvd::Status status
#define NULL
Definition: catime.c:38
Device support routines.
Definition: devSup.h:140
mbbodirectdset devMbboDirectSoftCallback
#define TRUE
Definition: dbDefs.h:27
int prec
Definition: reader.c:29
#define DBR_ULONG
Definition: dbFldTypes.h:82
epicsExportAddress(dset, devMbboDirectSoftCallback)
Exporting IOC objects.