MirOS Manual: systrace(9), systrace_exit(9), systrace_fork(9), systrace_redirect(9)

SYSTRACE(9)                   BSD Kernel Manual                    SYSTRACE(9)

NAME

     systrace_redirect, systrace_fork, systrace_exit - enforce policies for
     system calls

SYNOPSIS

     #include <dev/systrace.h>

     int
     systrace_redirect(int code, struct proc *p, void *args,
             register_t *retval);

     void
     systrace_fork(struct proc *oldproc, struct proc *p);

     void
     systrace_exit(struct proc *p);

DESCRIPTION

     These functions are used to enforce policy on the system calls as
     described in systrace(1).

     systrace_redirect() should be used to perform a system call number code
     with arguments args for the process p. The result is then put into the
     retval pointer. A typical code sequence would be:

           #include "systrace.h"

           ...

           #if NSYSTRACE > 0
                   if (ISSET(p->p_flag, P_SYSTRACE))
                           error = systrace_redirect(code, p, args, rval);
                   else
           #endif
                           error = (*callp->sy_call)(p, args, rval);

     systrace_fork() is called from the fork1(9) function to inherit policy
     for the child process.

     systrace_exit() is called during the death cycle of the process to detach
     the policy from the exiting process.

CODE REFERENCES

     A subsystem for enforcing system call policies is implemented in
     sys/dev/systrace.c.

SEE ALSO

     systrace(1), systrace(4), syscall(9)

HISTORY

     The systrace_redirect section manual page appeared in OpenBSD 3.4.

MirOS BSD #10-current           July 21, 2003                                1

Generated on 2014-04-02 20:57:59 by $MirOS: src/scripts/roff2htm,v 1.79 2014/02/10 00:36:11 tg Exp $

These manual pages and other documentation are copyrighted by their respective writers; their source is available at our CVSweb, AnonCVS, and other mirrors. The rest is Copyright © 2002‒2014 The MirOS Project, Germany.
This product includes material provided by Thorsten Glaser.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.