ASTSA(3)

NAME
astsa - standalone libast support

SYNOPSIS
    #include <ast.h>
    #include <ccode.h>
    #include <error.h>
    #include <option.h>
    #include <stk.h>

DESCRIPTION
astsa is a standalone subset of ast(3) that requires only cdt(3) and sfio(3).

<ast.h> includes <ast_common.h>, <stdarg.h> or <varargs.h>, <sfio.h>, <limits.h>, and <limits.h> and <unistd.h> if supported by the local system.

The macros and functions provided by <ast.h> are described below. The other headers are described in ccode(3), error(3), optget(3), and stk(3).

MACROS
Evaluates to the number of elements in the array variable x. Equivalent to (type*)realloc((char*)old,sizeof(type)*elements+extra) if old!=0 and (type*)calloc(1,sizeof(type)*elements+extra) otherwise. Equivalent to (type*)realloc((char*)old,sizeof(type)*elements+extra) if old!=0 and (type*)malloc(1,sizeof(type)*elements+extra) otherwise. Evaluates to x rounded up to the next power of 2 boundary y. Equivalent to (int)sizeof(x). Equivalent to (*(a)==*(b)&&strcmp(a,b)==0). Equivalent to (*(a)==*(b)&&strncmp(a,b,n)==0).

FUNCTIONS
If plines!=0 then *plines is set to the number of lines on the tty device corresponding to fd. If pcolumns!=0 then *pcolumns is set to the number of columns on the tty device corresponding to fd. The default if fd is not a terminal device, or if fd queries fail, is 24 lines and 80 columns. Returns the error message text corresponding to the errno(3) errno. Equivalent to fmterror(errno). Matches the null-terminated string against the null-terminated ksh(1) augmented pattern. If sub!=0 then sub[2*i] is set to the start offset and sub[2*i+1] is set to the end offset of the i-th parenthesized subexpression. nsub is 1/2 the number of elements in sub. flags controls the matching: STR_MAXIMAL: Maximal match. The default is minimal (first) match. STR_LEFT: Implicit left anchor. STR_RIGHT: Implicit right anchor. STR_ICASE: Ignore case. STR_GROUP: (|&) inside [@|*|+{n,m}](...) only. Equivalent to strgrpmatch(string,pattern,0,0,STR_MAXIMAL|STR_LEFT|STR_RIGHT).

SEE ALSO
ast(3), ccode(3), cdt(3), error(3), malloc(3), option(3), sfio(3), stk(3)