#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: DISABLE 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_long(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_long(context, datain, datainlen, OUTLIST dataout, outbufferlen, OUTLIST dataoutlen, cmd, waitforlock = 0) VXI11::Client context char* datain int datainlen char* dataout int outbufferlen int dataoutlen unsigned long cmd bool waitforlock CODE: RETVAL = vxi11_docmd(context, datain, datainlen, dataout, outbufferlen, &dataoutlen, cmd, waitforlock); OUTPUT: RETVAL int vxi_enable_srq_long(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_long(timeout) int timeout CODE: RETVAL = glue_wait_for_interrupt(timeout); OUTPUT: RETVAL int vxi_local_long(context, waitforlock) VXI11::Client context bool waitforlock CODE: RETVAL = vxi11_local(context, waitforlock); OUTPUT: RETVAL int vxi_lock_long(context, waitforlock) VXI11::Client context bool waitforlock CODE: RETVAL = vxi11_lock(context, waitforlock); OUTPUT: RETVAL VXI11::Client vxi_open_long(address, device) char * address char * device CODE: RETVAL = glue_open(address, device); OUTPUT: RETVAL void vxi_read_long(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 = calloc(bufferlen + 1, 1); bytesread = vxi11_read(context, buffer, bufferlen, waitlock, termchrset, termchr, &reason); void vxi_readstatusbyte_long(context, OUTLIST error, OUTLIST statusbyte, waitforlock) VXI11::Client context int error int statusbyte bool waitforlock CODE: error = 0; statusbyte = 0; int ret = vxi11_readstatusbyte(context, waitforlock); if(ret > 0) statusbyte = ret & 0xff; else error = ret; int vxi_remote_long(context, waitforlock) VXI11::Client context bool waitforlock CODE: RETVAL = vxi11_remote(context, waitforlock); OUTPUT: RETVAL int vxi_trigger_long(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_long(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