45 lines
819 B
C
45 lines
819 B
C
#ifndef _LINUX_KDPMD_H
|
|
#define _LINUX_KDPMD_H
|
|
|
|
/* define wakeup sources for kdpmd */
|
|
#define KDPMD_TIMEOUT 0
|
|
#define KDPMD_DRVOPEN 1
|
|
#define KDPMD_DRVCLOSE 2
|
|
#define KDPMD_REMOVE 0xABCDABCD
|
|
|
|
#include <linux/wait.h>
|
|
#include <linux/errno.h>
|
|
|
|
extern struct semaphore kdpmd_sem;
|
|
extern void kdpmd_set_event(unsigned int, unsigned int);
|
|
extern void kdpmd_wakeup(void);
|
|
extern int kdpmd_wait(unsigned int);
|
|
|
|
extern inline void kdpmd_lock(void)
|
|
{
|
|
down(&kdpmd_sem);
|
|
}
|
|
|
|
extern inline int kdpmd_lock_interruptible(void)
|
|
{
|
|
if (down_interruptible(&kdpmd_sem))
|
|
return -ERESTARTSYS;
|
|
return 0;
|
|
}
|
|
|
|
extern inline int kdpmd_trylock(void)
|
|
{
|
|
if (down_trylock(&kdpmd_sem))
|
|
return -EBUSY;
|
|
return 0;
|
|
}
|
|
|
|
extern inline void kdpmd_unlock(void)
|
|
{
|
|
/* Check: do we need to resynchronize? */
|
|
up(&kdpmd_sem);
|
|
}
|
|
|
|
#endif // _LINUX_KDPMD_H
|
|
|