std: Device support for new printf record type

This commit is contained in:
Andrew Johnson
2012-09-28 18:00:42 -05:00
parent d8812cbee3
commit e94ffd48fa
5 changed files with 196 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
/*************************************************************************\
* Copyright (c) 2012 UChicago Argonne LLC, as Operator of Argonne
* National Laboratory.
* EPICS BASE is distributed subject to a Software License Agreement found
* in file LICENSE that is included with this distribution.
\*************************************************************************/
/* $Revision-Id$ */
/*
* Author: Andrew Johnson
* Date: 28 Sept 2012
*/
#include "dbAccess.h"
#include "printfRecord.h"
#include "epicsExport.h"
static long write_string(printfRecord *prec, size_t len)
{
struct link *plink = &prec->out;
int dtyp = dbGetLinkDBFtype(plink);
if (dtyp < 0)
return 0; /* Not connected */
if (dtyp == DBR_CHAR || dtyp == DBF_UCHAR)
return dbPutLink(plink, dtyp, prec->val, len);
return dbPutLink(plink, DBR_STRING, prec->val, 1);
}
printfdset devPrintfSoft = {
5, NULL, NULL, NULL, NULL, write_string
};
epicsExportAddress(dset, devPrintfSoft);