Previous: Summary of Major Portability Rules Up: VICAR Porting Guide Next: About this document ...
This section contains a brief synopsis of the calling sequences for all the RTL routines, in alphabetical order. No description is given for the routines or their arguments; see the VICAR Run-Time Library Reference Manual or Section , New Routines, for those.
This summary is mainly intended as a guide to help you in the porting process. Use it to find out what the required parameters are for routines that formerly had optional arguments, and how to convert calls from the old Fortran interface to the new C interface.
For routines that take optional arguments (keyword-value pairs), the allowed keywords are listed. You must have an argument list terminator on every routine that lists optional arguments, even if you don't use them. Some of the keywords listed are not implemented or not useful, but they are allowed by the parameter parsing mechanism. See the VICAR Run-Time Library Reference Manual as updated in this document for details on which optionals are active.
The actual data type declarations for the data types below are listed in Table for Fortran, and Table for C. Keep in mind that a value listed as ``output'' or ``in/out'' in a C call must be passed by address, not value.
abend/zabend
call abend zabend();
qprint/zqprint
call qprint(message, length) zqprint(message, length);message input string length input integer
sc2for
sc2for(c_string, max_length, for_string, argptr, nargs, argno, strno);c_string input string max_length input integer for_string output fortran string argptr input void pointer nargs input integer argno input integer strno input integer
sc2for_array
sc2for_array(c_string, len, nelements, for_string, max_length, argptr, nargs, argno, strno);c_string input string array, size nelements len input integer nelements input integer for_string output fortran string array, size nelements max_length in/out integer argptr input void pointer nargs input integer argno input integer strno input integer
sfor2c
sfor2c(c_string, len, for_string, argptr, nargs, argno, strno);c_string output string len input integer for_string input fortran string argptr input void pointer nargs input integer argno input integer strno input integer
sfor2c_array
sfor2c_array(c_string, max_length, nelements, for_string, argptr, nargs, argno, strno);c_string output pointer to string array, size nelements max_length in/out integer nelements input integer for_string input fortran string array, size nelements argptr input void pointer nargs input integer argno input integer strno input integer
sfor2len
sfor2len(for_string, argptr, nargs, argno, strno);for_string input fortran string argptr input void pointer nargs input integer argno input integer strno input integer
sfor2ptr
ptr = sfor2ptr(for_string);for_string input fortran string ptr output string pointer
xladd/zladd
call xladd(unit, type, key, value, status, <optionals>, ' ') status = zladd(unit, type, key, value, <optionals>, 0);unit input integer type input string key input string value input value array, size NELEMENT status output integer
Optionals allowed:
ELEMENT input integer ERR_ACT input string ERR_MESS input string FORMAT input string HIST input string INSTANCE input integer LEVEL input integer MODE input string NELEMENT input integer PROPERTY input string ULEN input integer
xldel/zldel
call xldel(unit, type, key, status, <optionals>, ' ') status = zldel(unit, type, key, <optionals>, 0);unit input integer type input string key input string status output integer
Optionals allowed:
ELEMENT input integer ERR_ACT input string ERR_MESS input string HIST input string INSTANCE input integer NELEMENT input integer NRET output integer PROPERTY input string
xlget/zlget
call xlget(unit, type, key, value, status, <optionals>, ' ') status = zlget(unit, type, key, value, <optionals>, 0);unit input integer type input string key input string value output value array, size NELEMENT status output integer
Optionals allowed:
ELEMENT input integer ERR_ACT input string ERR_MESS input string FORMAT input string HIST input string INSTANCE input integer LENGTH output integer LEVEL output integer NELEMENT input integer NRET output integer PROPERTY input string ULEN input integer
xlgetlabel/zlgetlabel
call xlgetlabel(unit, buf, bufsize, status) status = zlgetlabel(unit, buf, bufsize);unit input integer buf output string bufsize in/out integer status output integer
xlhinfo/zlhinfo
call xlhinfo(unit, tasks, instances, nhist, status, <optionals>, ' ') status = zlhinfo(unit, tasks, instances, nhist, <optionals>, 0);unit input integer tasks output string array, size nhist instances output integer array, size nhist nhist in/out integer status output integer
Optionals allowed:
ERR_ACT input string ERR_MESS input string NRET output integer ULEN input integer
xlinfo/zlinfo
call xlinfo(unit, type, key, format, maxlen, nelement, status, <optionals>, ' ') status = zlinfo(unit, type, key, format, maxlen, nelement, <optionals>, 0);unit input integer type input string key input string format output string maxlen output integer nelement output integer status output integer
Optionals allowed:
ERR_ACT input string ERR_MESS input string HIST input string INSTANCE input integer MOD output integer PROPERTY input string STRLEN output integer
xlninfo/zlninfo
call xlninfo(unit, key, format, maxlength, nelement, status, <optionals>, ' ') status = zlninfo(unit, key, format, maxlength, nelement, <optionals>, 0);unit input integer key output string format output string maxlength output integer nelement output integer status output integer
Optionals allowed:
ERR_ACT input string ERR_MESS input string MOD output integer STRLEN output integer
xlpinfo/zlpinfo
call xlpinfo(unit, properties, nprop, status, <optionals>, ' ') status = zlpinfo(unit, properties, nprop, <optionals>, 0);unit input integer properties output string array, size nprop nprop in/out integer status output integer
Optionals allowed:
ERR_ACT input string ERR_MESS input string NRET output integer ULEN input integer
xmove/zmove
call xmove(from, to, len) zmove(from, to, len);from input pixel buffer, size len (bytes) to output pixel buffer, size len (bytes) len input integer
xvadd/zvadd
call xvadd(unit, status, <optionals>, ' ') status = zvadd(unit, <optionals>, 0);unit input integer status output integer
Optionals allowed:
BHOST input string BIN_CVT input string BINTFMT input string BLTYPE input string BREALFMT input string CLOS_ACT input string COND input string CONVERT input string FORMAT input string HOST input string I_FORMAT input string INTFMT input string IO_ACT input string IO_MESS input string LAB_ACT input string LAB_MESS input string METHOD input string OP input string O_FORMAT input string OPEN_ACT input string OPEN_MES input string REALFMT input string TYPE input string U_DIM input integer U_FILE input integer U_FORMAT input string U_NB input integer U_NBB input integer U_NL input integer U_NLB input integer U_NS input integer U_N1 input integer U_N2 input integer U_N3 input integer U_N4 input integer U_ORG input string
xvbands/zvbands
call xvbands(sb, nb, nbi) zvbands(sb, nb, nbi);sb output integer nb output integer nbi output integer
xvclose/zvclose
call xvclose(unit, status, <optionals>, ' ') status = zvclose(unit, <optionals>, 0);unit input integer status output integer
Optionals allowed:
CLOS_ACT input string
xvcmdout/zvcmdout
call xvcmdout(command, status) status = zvcmdout(command);command input string status output integer
xvcommand/zvcommand
call xvcommand(command, status) status = zvcommand(command);command input string status output integer
xveaction/zveaction
status = xveaction(action, message) status = zveaction(action, message);action input string message input string status output integer
xvend/zvend
call xvend(status) zvend(status);status input integer
xvfilpos/zvfilpos
position = xvfilpos(unit) position = zvfilpos(unit);unit input integer position output integer
xvget/zvget
call xvget(unit, status, <optionals>, ' ') status = zvget(unit, <optionals>, 0);unit input integer status output integer
Optionals allowed:
BHOST output string BINTFMT output string BLTYPE output string BREALFMT output string BUFSIZ output integer DIM output integer FLAGS output integer FORMAT output string HOST output string IMG_REC output integer INTFMT output string LBLSIZE output integer NAME output string NB output integer NBB output integer NL output integer NLB output integer NS output integer N1 output integer N2 output integer N3 output integer N4 output integer ORG output string PIX_SIZE output integer REALFMT output string RECSIZE output integer TYPE output string VARSIZE output integer
xvhost/zvhost
call xvhost(host, intfmt, realfmt, status) status = zvhost(host, intfmt, realfmt);host input string intfmt output string realfmt output string status output integer
xvintract/zvintract
call xvintract(subcmd, prompt) zvintract(subcmd, prompt);subcmd input string prompt input string
xvip/zvip
call xvip(name, value, count) status = zvip(name, value, count);name input string value output value array, size count count output integer status output integer
xviparm/zviparm
call xviparm(name, value, count, def, maxcnt) status = zviparm(name, value, count, def, maxcnt, length);name input string value output value array, size count count output integer def output integer maxcnt input integer length input integer status output integer
xviparmd/zviparmd
call xviparmd(name, value, count, def, maxcnt) status = zviparmd(name, value, count, def, maxcnt, length);name input string value output value array, size count count output integer def output integer maxcnt input integer length input integer status output integer
xvipcnt/zvipcnt
call xvipcnt(name, count) status = zvipcnt(name, count);name input string count output integer status output integer
xvipone/zvipone
status = xvipone(name, value, instance, maxlen) status = zvipone(name, value, instance, maxlen);name input string value output value instance input integer maxlen input integer
xvipstat/zvipstat
call xvipstat(name, count, def, maxlen, type) status = zvipstat(name, count, def, maxlen, type);name input string count output integer def output integer maxlen output integer type output string status output integer
xviptst/zviptst
keyword = xviptst(name) keyword = zviptst(name);name input string keyword output integer
xvmessage/zvmessage
call xvmessage(message, key) zvmessage(message, key);message input string key input string
xvopen/zvopen
call xvopen(unit, status, <optionals>, ' ') status = zvopen(unit, <optionals>, 0);unit input integer status output integer
Optionals allowed:
ADDRESS output pixel pointer BHOST input string BIN_CVT input string BINTFMT input string BLTYPE input string BREALFMT input string CLOS_ACT input string COND input string CONVERT input string FORMAT input string HOST input string I_FORMAT input string INTFMT input string IO_ACT input string IO_MESS input string LAB_ACT input string LAB_MESS input string METHOD input string OP input string O_FORMAT input string OPEN_ACT input string OPEN_MES input string REALFMT input string TYPE input string U_DIM input integer U_FILE input integer U_FORMAT input string U_NB input integer U_NBB input integer U_NL input integer U_NLB input integer U_NS input integer U_N1 input integer U_N2 input integer U_N3 input integer U_N4 input integer U_ORG input string
xvp/zvp
call xvp(name, value, count) status = zvp(name, value, count);name input string value output value array, size count count output integer status output integer
xvparm/zvparm
call xvparm(name, value, count, def, maxcnt) status = zvparm(name, value, count, def, maxcnt, length);name input string value output value array, size count count output integer def output integer maxcnt input integer length input integer status output integer
xvparmd/zvparmd
call xvparmd(name, value, count, def, maxcnt) status = zvparmd(name, value, count, def, maxcnt, length);name input string value output value array, size count count output integer def output integer maxcnt input integer length input integer status output integer
xvpblk/zvpblk
call xvpblk(parblk) zvpblk(parblk);parblk output void pointer
xvpclose/zvpclose
call xvpclose(status) status = zvpclose();status output integer
xvpcnt/zvpcnt
call xvpcnt(name, count) status = zvpcnt(name, count);name input string count output integer status output integer
xvpixsize/zvpixsize
status = xvpixsize(pixsize, type, ihost, rhost) status = zvpixsize(pixsize, type, ihost, rhost);pixsize output integer type input string ihost input string rhost input string status output integer
xvpixsizeb/zvpixsizeb
status = xvpixsizeb(pixsize, type, unit) status = zvpixsizeb(pixsize, type, unit);pixsize output integer type input string unit input integer status output integer
xvpixsizeu/zvpixsizeu
status = xvpixsizeu(pixsize, type, unit) status = zvpixsizeu(pixsize, type, unit);pixsize output integer type input string unit input integer status output integer
xvpone/zvpone
status = xvpone(name, value, instance, maxlen) status = zvpone(name, value, instance, maxlen);name input string value output value instance input integer maxlen input integer
xvpopen/zvpopen
call xvpopen(status, n_par, max_parm_size, filename, error_act, unit) status = zvpopen(filename, error_act, unit);status output integer n_par input integer (obsolete) max_parm_size input integer (obsolete) filename input string error_act input string unit output integer
xvpout/zvpout
call xvpout(status, name, value, format, count) status = zvpout(name, value, format, count, length);status output integer name input string value input value array, size count format input string count input integer length input integer
xvpstat/zvpstat
call xvpstat(name, count, def, maxlen, type) status = zvpstat(name, count, def, maxlen, type);name input string count output integer def output integer maxlen output integer type output string status output integer
xvptst/zvptst
keyword = xvptst(name) keyword = zvptst(name);name input string keyword output integer
xvread/zvread
call xvread(unit, buffer, status, <optionals>, ' ') status = zvread(unit, buffer, <optionals>, 0);unit input integer buffer output pixel buffer status output integer
Optionals allowed:
BAND input integer IO_MESS input string LINE input integer METHOD input string NBANDS input integer NLINES input integer NSAMPS input integer OP input string OPEN_ACT input string SAMP input integer U_FORMAT input string
xvselpi/zvselpi
call xvselpi(instance) zvselpi(instance);instance input integer
xvsfile/zvsfile
status = xvsfile(unit, file) status = zvsfile(unit, file);unit input integer file input integer status output integer
xvsignal/zvsignal
call xvsignal(unit, status, abend_flag) zvsignal(unit, status, abend_flag);unit input integer status input integer abend_flag input integer
xvsize/zvsize
call xvsize(sl, ss, nl, ns, nli, nsi) zvsize(sl, ss, nl, ns, nli, nsi);sl output integer ss output integer nl output integer ns output integer nli output integer nsi output integer
xvsptr/zvsptr
call xvsptr(value, count, offsets, lengths) zvsptr(value, count, offsets, lengths);value input string count input integer offsets output integer array, size count lengths output integer array, size count
xvtpinfo/zvtpinfo
status = xvtpinfo(sym_name, dev_name, tfile, trec) status = zvtpinfo(sym_name, dev_name, tfile, trec);sym_name input string dev_name output string tfile output integer trec output integer status output integer
xvtpmode/zvtpmode
call xvtpmode(unit, istape) istape = zvtpmode(unit);unit input integer istape output integer
xvtpset/zvtpset
status = xvtpset(name, tfile, trec) status = zvtpset(name, tfile, trec);name input string tfile input integer trec input integer status output integer
xvtrans/zvtrans
call xvtrans(buf, source, dest, npix) zvtrans(buf, source, dest, npix);buf input integer array, size 12 source input pixel buffer, size npix dest output pixel buffer, size npix npix input integer
xvtrans_in/zvtrans_in
call xvtrans_in(buf, stype, dtype, sihost, srhost, status) status = zvtrans_in(buf, stype, dtype, sihost, srhost);buf output integer array, size 12 stype input string dtype input string sihost input string srhost input string status output integer
xvtrans_inb/zvtrans_inb
call xvtrans_inb(buf, stype, dtype, unit, status) status = zvtrans_inb(buf, stype, dtype, unit);buf output integer array, size 12 stype input string dtype input string unit input integer status output integer
xvtrans_inu/zvtrans_inu
call xvtrans_inu(buf, stype, dtype, unit, status) status = zvtrans_inu(buf, stype, dtype, unit);buf output integer array, size 12 stype input string dtype input string unit input integer status output integer
xvtrans_out/zvtrans_out
call xvtrans_out(buf, stype, dtype, dihost, drhost, status) status = zvtrans_out(buf, stype, dtype, dihost, drhost);buf output integer array, size 12 stype input string dtype input string dihost input string drhost input string status output integer
xvtrans_set/zvtrans_set
call xvtrans_set(buf, stype, dtype, status) status = zvtrans_set(buf, stype, dtype);buf output integer array, size 12 stype input string dtype input string status output integer
xvunit/zvunit
call xvunit(unit, name, instance, status, <optionals>, ' ') status = zvunit(unit, name, instance, <optionals>, 0);unit output integer name input string instance input integer status output integer
Optionals allowed:
U_NAME input string
xvwrit/zvwrit
call xvwrit(unit, buffer, status, <optionals>, ' ') status = zvwrit(unit, buffer, <optionals>, 0);unit input integer buffer input pixel buffer status output integer
Optionals allowed:
BAND input integer LINE input integer NBANDS input integer NLINES input integer NSAMPS input integer SAMP input integer U_NL input integer
xvzinit
call xvzinit(lun, flag, debug)lun input integer flag output integer debug output integer
zvpinit
zvpinit(parb);parb input void pointer
zv_rtl_init
status = zv_rtl_init();status output integer