Annotation of 42BSD/ingres/doc/files/libq.nr, revision 1.1.1.1

1.1       root        1: .th LIBQ FILES
                      2: .sh NAME
                      3: libq \- Equel run-time support library
                      4: .sh DESCRIPTION
                      5: .it Libq is the equel run-time support library containing
                      6: all the routines necessary for an equel program to load.
                      7: It typically resides in
                      8: .bd /usr/lib/libq.a,
                      9: and must be specified when loading
                     10: equel pre-processed object code.
                     11: It may be referenced on the
                     12: command line of 
                     13: .it cc
                     14: by the abbreviation 
                     15: .bd \-lq.
                     16: .s3
                     17: Several useful routines 
                     18: which are used by equel processes are included in the library.
                     19: These may be employed by the equel programmer to avoid code
                     20: duplication.
                     21: They are:
                     22: .ne 20
                     23: .nf
                     24: 
                     25: int    IIatoi(buf, i)
                     26: char   *buf;
                     27: int    i;
                     28: 
                     29: char   *IIbmove(source, destination, len)
                     30: char   *source, *destination;
                     31: int    len;
                     32: 
                     33: char   *IIconcatv(buf, arg1, arg2, ..., 0)
                     34: char   *buf, *arg1, ...;
                     35: 
                     36: char   *IIitos(i)
                     37: int    i;
                     38: 
                     39: int    IIsequal(s1, s2)
                     40: char   *s1, *s2;
                     41: 
                     42: int    IIlength(string)
                     43: char   *string;
                     44: 
                     45: IIsyserr(string, arg1, arg2, ...);
                     46: char   *string;
                     47: 
                     48: .fi
                     49: .in +5
                     50: .de xx
                     51: .s3
                     52: .lp +12 12
                     53: \\$1\t\c
                     54: ..
                     55: .xx IIatoi
                     56: IIatoi is equivalent to atoi(UTIL).
                     57: .xx IIbmove
                     58: Moves
                     59: .it len
                     60: bytes from
                     61: .it source
                     62: to 
                     63: .it destination\c
                     64: \&, returning a pointer to the location after the last byte moved.
                     65: Does not append a null byte.
                     66: .xx IIconcatv
                     67: Concatenates into 
                     68: .it buf
                     69: all of its arguments, returning a pointer to 
                     70: the null byte at the end of the concatenation.
                     71: .it Buf
                     72: may not be equal to any of the arg-n but arg1.
                     73: .xx IIitos
                     74: IIitos is equivalent to itoa(III).
                     75: .xx IIsequal
                     76: Returns 1 iff strings s1 is identical to s2.
                     77: .xx IIlength
                     78: Returns max(length of
                     79: .it string
                     80: without null byte at end, 255)
                     81: .xx IIsyserr
                     82: IIsyserr is diferrent from syserr(util) only in that
                     83: it will print the name in IIproc_name, and in that there is no 0 mode.
                     84: Also, it will always call exit(\*-1) after printing the error message.
                     85: .i0
                     86: .s3
                     87: There are also some global Equel variables which may be manipulated by the
                     88: user:
                     89: .ne 5
                     90: .nf
                     91: 
                     92: int    IIerrflag;
                     93: char   *IImainpr;
                     94: char   (*IIprint_err)();
                     95: int    IIret_err();
                     96: int    IIno_err();
                     97: 
                     98: .fi
                     99: .in +5
                    100: .xx IIerrflag
                    101: Set on an error from \*(II to be the error number (see
                    102: the error message section of the ``\*(II Reference Manual'') that ocurred.
                    103: This remains valid from the time the error occurrs to the time when
                    104: the next equel statement is issued.
                    105: This may be used just after an equel statement to see if it succeded.
                    106: .xx IImainpr
                    107: This is a string which determines which ingres to call when a 
                    108: "## ingres" is issued. Initially it is "/usr/bin/ingres".
                    109: .xx IIprint_err
                    110: This function pointer is used to call a function which determines 
                    111: what (if any) error message should be printed when an ingres error
                    112: occurs. It is called from IIerror() with the error number as an
                    113: argument, and the error message corresponding to the error number
                    114: returned will be printed.
                    115: If (*IIprint_err)(\c
                    116: .it <errno>\c
                    117: ) returns 0, then no error message will be printed.
                    118: Initially IIprint_err is set to IIret_err() to print the error
                    119: that ocurred.
                    120: .xx IIret_err
                    121: Returns its single integer argument. Used to have (*IIprint_err)()
                    122: cause printing of the error that ocurred.
                    123: .xx IIno_err
                    124: Returns 0. Used to have (*IIprint_err)() suppress error message printing.
                    125: IIno_err is used when an error in a parametrized equel statemenr occurs
                    126: to suppress printing of the corresponding parser error.
                    127: .sh "SEE ALSO"
                    128: atoi(util),
                    129: bmove(util),
                    130: cc(I),
                    131: equel(unix),
                    132: exit(II),
                    133: itoa(III),
                    134: length(util),
                    135: sequal(util),
                    136: syserr(util)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.