.\"determine whether or not a given variable is a function pointer .TH functionp 3 "5 Sep 1994" MudOS "LPC Library Functions" .SH NAME functionp() - determine whether or not a given variable is a function pointer, and if so what kind .SH SYNOPSIS int functionp( mixed arg ); .SH DESCRIPTION Return nonzero if `arg' is a function pointer and zero (0) otherwise. Function pointers are variables of type 'function' as indicated in the documentation for the type 'function', for example: f = (: obj, func :); The return value indicates the type of function pointer using the values given in the driver include file "include/function.h". function pointer type value --------------------- ----- call_other FP_CALL_OTHER lfun FP_LOCAL efun FP_EFUN simul_efun FP_SIMUL functional FP_FUNCTIONAL In addition, the following values will be added in some cases: (arguments provided) FP_HAS_ARGUMENTS (creator has been dested) FP_OWNER_DESTED (not rebindable) FP_NOT_BINDABLE The last set of values are bit values and can be tested with bit operations. The value FP_MASK is provided for ignoring the bit values and testing the basic type of the function pointer. Examples: To test if a function variable is an efun pointer: if ((functionp(f) & FP_MASK) == FP_EFUN) ... to test if it has args: if (functionp(f) & FP_HAS_ARGUMENTS) ... .SH SEE ALSO mapp(3), stringp(3), pointerp(3), objectp(3), intp(3), bufferp(3), floatp(3), nullp(3), undefinedp(3), errorp(3), bind(3), lpc/types/function