From e741ba66fc5d80fe9b3ed080ffe33a47b80f1752 Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Mon, 31 Aug 1992 15:27:01 +0000 Subject: [PATCH] Changed to support latest get_ioint_info --- src/dev/devAiDvx2502.c | 14 ++---- src/dev/devAiXy566DiL.c | 14 ++---- src/dev/devAt5Vxi.c | 102 +++++++++++++++++----------------------- src/dev/devMz8310.c | 6 +-- 4 files changed, 53 insertions(+), 83 deletions(-) diff --git a/src/dev/devAiDvx2502.c b/src/dev/devAiDvx2502.c index 5064aaa0d..1fb181ac7 100644 --- a/src/dev/devAiDvx2502.c +++ b/src/dev/devAiDvx2502.c @@ -51,6 +51,7 @@ #include #include #include +#include #include #include @@ -107,18 +108,9 @@ static long init_record(pai) return(0); } -static long get_ioint_info(cmd,pai,io_type,card_type,card_number) - short *cmd; - struct aiRecord *pai; - short *io_type; - short *card_type; - short *card_number; +static long get_ioint_info(int cmd, struct aiRecord *pai,IOSCANPVT *ppvt) { - *cmd=-1; - if(pai->inp.type != VME_IO) return(S_dev_badInpType); - *io_type = IO_AI; - *card_type = DVX2502; - *card_number = pai->inp.value.vmeio.card; + dvx_getioscanpvt(pai->inp.value.vmeio.card,ppvt); return(0); } diff --git a/src/dev/devAiXy566DiL.c b/src/dev/devAiXy566DiL.c index eb8869fb4..2517200f0 100644 --- a/src/dev/devAiXy566DiL.c +++ b/src/dev/devAiXy566DiL.c @@ -49,6 +49,7 @@ #include #include #include +#include #include #include @@ -105,18 +106,9 @@ static long init_record(pai) return(0); } -static long get_ioint_info(cmd,pai,io_type,card_type,card_number) - short *cmd; - struct aiRecord *pai; - short *io_type; - short *card_type; - short *card_number; +static long get_ioint_info(int cmd, struct aiRecord *pai,IOSCANPVT *ppvt) { - *cmd=-1; - if(pai->inp.type != VME_IO) return(S_dev_badInpType); - *io_type = IO_AI; - *card_type = XY566DIL; - *card_number = pai->inp.value.vmeio.card; + ai_xy566_getioscanpvt(pai->inp.value.vmeio.card,ppvt); return(0); } diff --git a/src/dev/devAt5Vxi.c b/src/dev/devAt5Vxi.c index 9c61f5cc5..aa30f5ec4 100644 --- a/src/dev/devAt5Vxi.c +++ b/src/dev/devAt5Vxi.c @@ -60,6 +60,7 @@ static long init_ai(); static long init_ao(); static long init_bi(); +static long init_bo(); static long init_mbbi(); static long init_mbbo(); static long ai_ioinfo(); @@ -82,17 +83,17 @@ typedef struct { DEVSUPFUN init_record; DEVSUPFUN get_ioint_info; DEVSUPFUN read_write; - DEVSUPFUN special_linconv} AT5VXIDSET; + DEVSUPFUN special_linconv;} AT5VXIDSET; -AT5VXIDSET devAiVxiAt5= {6,NULL,NULL,init_ai, ai_ioinfo, read_ai, ai_lincvt}; -AT5VXIDSET devAoVxiAt5= {6,NULL,NULL,init_ao, NULL, write_ao,ao_lincvt}; -AT5VXIDSET devBiVxiAt5= {6,NULL,NULL,init_bi, bi_ioinfo, read_bi, NULL}; -AT5VXIDSET devBoVxiAt5= {6,NULL,NULL,init_bo, NULL, write_bo, NULL}; -AT5VXIDSET devMbbiVxiAt5={6,NULL,NULL,init_mbbi,mbbi_ioinfo,read_mbbi, NULL}; -AT5VXIDSET devMbboVxiAt5={6,NULL,NULL,init_mbbo, NULL,write_mbbo,NULL}; + +AT5VXIDSET devAiAt5Vxi= {6,NULL,NULL,init_ai, ai_ioinfo, read_ai, ai_lincvt}; +AT5VXIDSET devAoAt5Vxi= {6,NULL,NULL,init_ao, NULL, write_ao,ao_lincvt}; +AT5VXIDSET devBiAt5Vxi= {6,NULL,NULL,init_bi, bi_ioinfo, read_bi, NULL}; +AT5VXIDSET devBoAt5Vxi= {6,NULL,NULL,init_bo, NULL, write_bo, NULL}; +AT5VXIDSET devMbbiAt5Vxi={6,NULL,NULL,init_mbbi,mbbi_ioinfo,read_mbbi, NULL}; +AT5VXIDSET devMbboAt5Vxi={6,NULL,NULL,init_mbbo, NULL,write_mbbo,NULL}; -static long init_ai(pai) - struct aiRecord *pai; +static long init_ai( struct aiRecord *pai) { unsigned short value; struct vmeio *pvmeio; @@ -104,7 +105,7 @@ static long init_ai(pai) break; default : recGblRecordError(S_db_badField,(void *)pai, - "devAiVxiAt5 (init_record) Illegal INP field"); + "devAiAt5Vxi (init_record) Illegal INP field"); return(S_db_badField); } @@ -115,23 +116,22 @@ static long init_ai(pai) pvmeio = (struct vmeio *)&(pai->inp.value); if(status=at5vxi_ai_driver(pvmeio->card,pvmeio->signal,&value)) { recGblRecordError(status,(void *)pai, - "devAiVxiAt5 (init_record) at5vxi_ai_driver error"); + "devAiAt5Vxi (init_record) at5vxi_ai_driver error"); return(status); } return(0); } static long ai_ioinfo( - short *cmd; - struct aiRecord *pai; - IOSCANPVT *ppvt; + int cmd, + struct aiRecord *pai, + IOSCANPVT *ppvt) { at5vxi_getioscanpvt(pai->inp.value.vmeio.card,ppvt); return(0); } -static long read_ai(pai) - struct aiRecord *pai; +static long read_ai(struct aiRecord *pai) { struct vmeio *pvmeio; int status; @@ -151,9 +151,7 @@ static long read_ai(pai) return(status); } -static long ai_lincvt(pai,after) - struct aiRecord *pai; - int after; +static long ai_lincvt(struct aiRecord *pai, int after) { if(!after) return(0); @@ -164,8 +162,7 @@ static long ai_lincvt(pai,after) static void read_ao(); /* forward reference*/ -static long init_ao(pao) - struct aoRecord *pao; +static long init_ao(struct aoRecord *pao) { /* ao.out must be an VME_IO */ @@ -173,8 +170,8 @@ static long init_ao(pao) case (VME_IO) : break; default : - recGblRecordError(S_db_badField,pao, - "devAoVxiAt5 (init_record) Illegal OUT field"); + recGblRecordError(S_db_badField,(void *)pao, + "devAoAt5Vxi (init_record) Illegal OUT field"); return(S_db_badField); } @@ -186,8 +183,7 @@ static long init_ao(pao) return(0); } -static long write_ao(pao) - struct aoRecord *pao; +static long write_ao(struct aoRecord *pao) { struct vmeio *pvmeio; int status; @@ -207,9 +203,7 @@ static long write_ao(pao) return(status); } -static long ao_lincvt(pao,after) - struct aoRecord *pao; - int after; +static long ao_lincvt( struct aoRecord *pao, int after) { if(!after) return(0); @@ -230,8 +224,7 @@ struct aoRecord *pao; return; } -static long init_bi(pbi) - struct biRecord *pbi; +static long init_bi( struct biRecord *pbi) { struct vmeio *pvmeio; @@ -244,24 +237,23 @@ static long init_bi(pbi) pbi->mask <<= pvmeio->signal; break; default : - recGblRecordError(S_db_badField,pbi, - "devBiVxiAt5 (init_record) Illegal INP field"); + recGblRecordError(S_db_badField,(void *)pbi, + "devBiAt5Vxi (init_record) Illegal INP field"); return(S_db_badField); } return(0); } static long bi_ioinfo( - short *cmd; - struct biRecord *pbi; - IOSCANPVT *ppvt; + int cmd, + struct biRecord *pbi, + IOSCANPVT *ppvt) { at5vxi_getioscanpvt(pbi->inp.value.vmeio.card,ppvt); return(0); } -static long read_bi(pbi) - struct biRecord *pbi; +static long read_bi(struct biRecord *pbi) { struct vmeio *pvmeio; int status; @@ -279,8 +271,7 @@ static long read_bi(pbi) } } -static long init_bo(pbo) - struct boRecord *pbo; +static long init_bo(struct boRecord *pbo) { unsigned int value; int status=0; @@ -298,14 +289,13 @@ static long init_bo(pbo) break; default : status = S_db_badField; - recGblRecordError(status,pbo, - "devBoVxiAt5 (init_record) Illegal OUT field"); + recGblRecordError(status,(void *)pbo, + "devBoAt5Vxi (init_record) Illegal OUT field"); } return(status); } -static long write_bo(pbo) - struct boRecord *pbo; +static long write_bo(struct boRecord *pbo) { struct vmeio *pvmeio; int status; @@ -319,8 +309,7 @@ static long write_bo(pbo) return(status); } -static long init_mbbi(pmbbi) - struct mbbiRecord *pmbbi; +static long init_mbbi(struct mbbiRecord *pmbbi) { /* mbbi.inp must be an VME_IO */ @@ -330,24 +319,23 @@ static long init_mbbi(pmbbi) pmbbi->mask <<= pmbbi->shft; break; default : - recGblRecordError(S_db_badField,pmbbi, - "devMbbiVxiAt5 (init_record) Illegal INP field"); + recGblRecordError(S_db_badField,(void *)pmbbi, + "devMbbiAt5Vxi (init_record) Illegal INP field"); return(S_db_badField); } return(0); } static long mbbi_ioinfo( - short *cmd; - struct mbbiRecord *pmbbi; - IOSCANPVT *ppvt; + int cmd, + struct mbbiRecord *pmbbi, + IOSCANPVT *ppvt) { at5vxi_getioscanpvt(pmbbi->inp.value.vmeio.card,ppvt); return(0); } -static long read_mbbi(pmbbi) - struct mbbiRecord *pmbbi; +static long read_mbbi(struct mbbiRecord *pmbbi) { struct vmeio *pvmeio; int status; @@ -364,8 +352,7 @@ static long read_mbbi(pmbbi) return(status); } -static long init_mbbo(pmbbo) - struct mbboRecord *pmbbo; +static long init_mbbo(struct mbboRecord *pmbbo) { unsigned long value; struct vmeio *pvmeio; @@ -383,14 +370,13 @@ static long init_mbbo(pmbbo) break; default : status = S_db_badField; - recGblRecordError(status,pmbbo, - "devMbboVxiAt5 (init_record) Illegal OUT field"); + recGblRecordError(status,(void *)pmbbo, + "devMbboAt5Vxi (init_record) Illegal OUT field"); } return(status); } -static long write_mbbo(pmbbo) - struct mbboRecord *pmbbo; +static long write_mbbo(struct mbboRecord *pmbbo) { struct vmeio *pvmeio; int status; diff --git a/src/dev/devMz8310.c b/src/dev/devMz8310.c index 0411dd14e..6b227b97a 100644 --- a/src/dev/devMz8310.c +++ b/src/dev/devMz8310.c @@ -408,7 +408,7 @@ static void mz8310_int_service(IOSCANPVT ioscanpvt) } static long get_ioint_info( - short *cmd, + int cmd, struct eventRecord *pr, IOSCANPVT *ppvt) { @@ -434,8 +434,8 @@ static long get_ioint_info( return(0); } *ppvt = mz8310_info[card].int_info[intvec].ioscanpvt; - if(*cmd!=0) { - if(*cmd==1) mz8310_info[card].int_info[intvec].nrec_using -= 1; + if(cmd!=0) { + if(cmd==1) mz8310_info[card].int_info[intvec].nrec_using -= 1; return(0); } mz8310_info[card].int_info[intvec].nrec_using +=1;