#include /* fcs header */ #DEFINE INLUN1 1 /* lun for fdbin1 */ #DEFINE EOF -10 /* end of file status */ #define RECSIZ 132 /* size of the largest record */ int fdbin1[ SFDBW ] = {0}; /* fdb for file .stb file */ char outbuf[RECSIZ] = {0}; /* input file buffer */ int riob[2] = {0}; /* record i/o status block */ struct { int type; struct { int nam[2]; int filler; int adr; } symbol[20]; } stbbuf = {0}; char filstr[40] = {0}; /* .stb file name */ char fil[22] = {0}; /* parsed file name */ char dev[6] = {0}; /* parsed device name */ char uic[12] = {0}; /* parsed uic */ char *definf = "LB:[1,54]rsx11m.stb"; char *defsym = "$DEVHD"; int *find_r() { int status; int i, j; char tbuf[8]; char ss[8]; int ssl=0; /* provide default STB input file */ cpystr ( filstr, definf, '\0' ); /* provide for default symbol search string */ ssl = 5; cpystr ( ss, defsym, '\0' ); ss[ssl] = '\0'; lctouc ( ss ); /* convert to upper case */ /* parse device, uic, and filename from file name string*/ pfilnm ( &filstr, &dev, &uic, &fil ); filopn ( fdbin1, dev, uic, fil, INLUN1, FCSEQIO+FCROACC, NOFOB ); while ( getrec ( fdbin1, &stbbuf, 132, riob ) != EOF ) { i = (riob[1]- 2)/ 8; /* loop count */ if ( stbbuf.type != 1 ) continue; for ( j=0; j= 'a' && *buf <= 'z' ) *buf += inc; buf++; } }