xref: /minix3/minix/lib/libsys/proceventmask.c (revision 910831cb5ca62d66feb4e9664745910bbf5c03e1)
1*910831cbSDavid van Moolenbroek #include "syslib.h"
2*910831cbSDavid van Moolenbroek 
3*910831cbSDavid van Moolenbroek #include <string.h>
4*910831cbSDavid van Moolenbroek 
5*910831cbSDavid van Moolenbroek /*
6*910831cbSDavid van Moolenbroek  * Subscribe to a certain set of process events from PM.  Subsequent calls will
7*910831cbSDavid van Moolenbroek  * replace the set, and the empty set (a zero mask) will unsubscribe the caller
8*910831cbSDavid van Moolenbroek  * altogether.  Usage restrictions apply; see PM's event.c for details.  Return
9*910831cbSDavid van Moolenbroek  * OK or a negative error code.
10*910831cbSDavid van Moolenbroek  */
11*910831cbSDavid van Moolenbroek int
proceventmask(unsigned int mask)12*910831cbSDavid van Moolenbroek proceventmask(unsigned int mask)
13*910831cbSDavid van Moolenbroek {
14*910831cbSDavid van Moolenbroek 	message m;
15*910831cbSDavid van Moolenbroek 
16*910831cbSDavid van Moolenbroek 	memset(&m, 0, sizeof(m));
17*910831cbSDavid van Moolenbroek 	m.m_lsys_pm_proceventmask.mask = mask;
18*910831cbSDavid van Moolenbroek 
19*910831cbSDavid van Moolenbroek 	return _taskcall(PM_PROC_NR, PM_PROCEVENTMASK, &m);
20*910831cbSDavid van Moolenbroek }
21