#include "EXTERN.h" #include "perl.h" #include "XSUB.h" #include "ppport.h" #include "perlglue.h" typedef VXI11Context* VXI11__Client; MODULE = VXI11::Client PACKAGE = VXI11::Client PROTOTYPES: ENABLE int vxi_startinterruptserver() CODE: RETVAL = glue_start_interrupt_server(); OUTPUT: RETVAL int vxi_stopinterruptserver() CODE: RETVAL = glue_stop_interrupt_server(); OUTPUT: RETVAL int vxi_abort(context) VXI11::Client context CODE: RETVAL = vxi11_abort(context); OUTPUT: RETVAL int vxi_clear(context,waitforlock) VXI11::Client context bool waitforlock CODE: RETVAL = vxi11_clear(context, waitforlock); OUTPUT: RETVAL int vxi_close(context) VXI11::Client context CODE: RETVAL = vxi11_close(context); OUTPUT: RETVAL int vxi_create_intr_chan(context) VXI11::Client context CODE: RETVAL = vxi11_create_intr_chan(context); OUTPUT: RETVAL int vxi_destroy_intr_chan(context) VXI11::Client context CODE: RETVAL = vxi11_destroy_intr_chan(context); OUTPUT: RETVAL int vxi_docmd(context, cmd, waitforlock) VXI11::Client context unsigned long cmd bool waitforlock CODE: RETVAL = vxi11_docmd(context, cmd, waitforlock); OUTPUT: RETVAL int vxi_enable_srq(context, enable, handle) VXI11::Client context bool enable char* handle CODE: RETVAL = vxi11_enable_srq(context,enable,handle); OUTPUT: RETVAL char* vxi_wait_for_interrupt() CODE: RETVAL = glue_wait_for_interrupt(); OUTPUT: RETVAL int vxi_local(context, waitforlock) VXI11::Client context bool waitforlock CODE: RETVAL = vxi11_local(context, waitforlock); OUTPUT: RETVAL int vxi_lock(context, waitforlock) VXI11::Client context bool waitforlock CODE: RETVAL = vxi11_lock(context, waitforlock); OUTPUT: RETVAL VXI11::Client vxi_open(address, device) char * address char * device CODE: RETVAL = glue_open(address, device); OUTPUT: RETVAL void vxi_read(context, OUTLIST bytesread, OUTLIST buffer, bufferlen, waitlock, termchrset, termchr, OUTLIST reason) VXI11::Client context char * buffer int bytesread unsigned int bufferlen bool waitlock bool termchrset char termchr unsigned int* reason CODE: buffer = malloc(bufferlen + 1); bytesread = vxi11_read(context, buffer, bufferlen, waitlock, termchrset, termchr, reason); void vxi_readstatusbyte(context, waitforlock, OUTLIST error, OUTLIST statusbyte) VXI11::Client context bool waitforlock int* error int* statusbyte CODE: int ret = vxi11_readstatusbyte(context, waitforlock); if(ret > 0){ *statusbyte = ret & 0xff; *error = 0; } else { *statusbyte = 0; *error = ret; } int vxi_remote(context, waitforlock) VXI11::Client context bool waitforlock CODE: RETVAL = vxi11_remote(context, waitforlock); OUTPUT: RETVAL int vxi_trigger(context, waitforlock) VXI11::Client context bool waitforlock CODE: RETVAL = vxi11_trigger(context, waitforlock); OUTPUT: RETVAL int vxi_unlock(context) VXI11::Client context CODE: RETVAL = vxi11_unlock(context); OUTPUT: RETVAL int vxi_write(context,data, len, waitlock, end) VXI11::Client context char * data int len bool waitlock bool end CODE: RETVAL = vxi11_write(context, data, len, waitlock, end); OUTPUT: RETVAL