# [ctx_app.h] Current Program Context

## contents

#include "ctx_dfn.h"

## current context: Set & Get

    CTX_T CTX_ctx_val(void)

the current context

    void CTX_ctx_set(CTX_T ctx)

make 'ctx' the current context

## current context: Eval

The following functions define the program interface to their context variables.

    Abs_T CTX_eval(c_string Name, c_bool Index)
    #define CTX_EVAL(typ,name)  ABS_CAST(typ,CTX_eval(name,C_False))
    #define CTX_INDEX(name)     ((long)(CTX_eval(name,C_True)))

'Index' --> finds index of 'Name' in context; (-1) if missing
otherwise --> finds value of 'Name' in context; the program aborts if missing

    int CTX_argcnt(void)

number of variable arguments

    Abs_T CTX_argval(int idx)
    #define CTX_ARGVAL(typ,idx) ABS_CAST(typ,CTX_argval(idx))

variable argument, indexed by 'idx'