Preprocessor macro expanding to a function header
| Space | User/kernel |
| Context | Async |
| May block | No |
| SPL | Any |
| Dynamic memory | No |
#include <ARCH/AC.H>
DECL_AST(function_name, spl, structure){
  function code...
  RETURN or RETURN_AST or RETURN_IORQ or RETURN_IORQ_LSTAT or RETURN_IORQ_CANCELABLE
} Declares function usable for IORQ handler. Macro DECL_IOCALL expands to machine-dependent and compiler-dependent function header. The function must return with one of RETURN* macros (they expand to machine- and compiler-dependent return code). There may be more RETURN statements. The function has one argument, RQ, that points to IORQ being posted.
RQ that has this type. The structure argument doesn't have effect on behavior of code, it is just a convenience, so that the programmer doesn't have to cast RQ argument each time it is used.