File: sigsched.h

package info (click to toggle)
multitee 3.0-6.1
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 616 kB
  • sloc: ansic: 960; makefile: 7
file content (37 lines) | stat: -rw-r--r-- 950 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef SIGSCHED_H
#define SIGSCHED_H

typedef struct
 {
  int type;
  union { int n; char *c; } u;
 }
ss_sig;

typedef int ss_id;
typedef char *ss_idptr;
typedef void ss_threadi(ss_id);
typedef void ss_threadp(ss_idptr);
typedef union { ss_threadi *i; ss_threadp *p; } ss_thread;

extern ss_sig *ss_asap(void);
extern ss_sig *ss_sigread(int fd);
extern ss_sig *ss_sigwrite(int fd);

extern int ss_addsig(int i);

extern int ss_schedvwait(ss_sig *sig, ss_thread t, int flagi, ss_id i, ss_idptr p, int wait);
[[maybe_unused]] static int ss_schedwait(ss_sig *sig, ss_thread t, ss_id i, int wait)
{
 return ss_schedvwait(sig,t,1,i,(ss_idptr) 0,wait);
}
extern int ss_schedonce(ss_sig *sig, ss_thread t, ss_id i);
extern int ss_unschedv(ss_sig *sig, ss_thread t, int flagi, ss_id i, ss_idptr p);
[[maybe_unused]] static int ss_unsched(ss_sig *sig, ss_thread t, ss_id i)
{
 return ss_unschedv(sig,t,1,i,(ss_idptr) 0);
}

extern int ss_exec(void);

#endif