Annotation of /trunk/mkinitrd-magellan/busybox/runit/runit_lib.h
Parent Directory | Revision Log
Revision 816 -
(hide annotations)
(download)
Fri Apr 24 18:33:46 2009 UTC (15 years, 1 month ago) by niro
File MIME type: text/plain
File size: 3489 byte(s)
Fri Apr 24 18:33:46 2009 UTC (15 years, 1 month ago) by niro
File MIME type: text/plain
File size: 3489 byte(s)
-updated to busybox-1.13.4
1 | niro | 532 | /* |
2 | Copyright (c) 2001-2006, Gerrit Pape | ||
3 | All rights reserved. | ||
4 | |||
5 | Redistribution and use in source and binary forms, with or without | ||
6 | modification, are permitted provided that the following conditions are met: | ||
7 | |||
8 | 1. Redistributions of source code must retain the above copyright notice, | ||
9 | this list of conditions and the following disclaimer. | ||
10 | 2. Redistributions in binary form must reproduce the above copyright | ||
11 | notice, this list of conditions and the following disclaimer in the | ||
12 | documentation and/or other materials provided with the distribution. | ||
13 | 3. The name of the author may not be used to endorse or promote products | ||
14 | derived from this software without specific prior written permission. | ||
15 | |||
16 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
17 | WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
18 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO | ||
19 | EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
20 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | ||
21 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; | ||
22 | OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | ||
23 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR | ||
24 | OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF | ||
25 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | niro | 816 | #if __GNUC_PREREQ(4,1) |
29 | # pragma GCC visibility push(hidden) | ||
30 | #endif | ||
31 | niro | 532 | |
32 | extern unsigned byte_chr(char *s,unsigned n,int c); | ||
33 | |||
34 | #define direntry struct dirent | ||
35 | |||
36 | niro | 816 | //struct tai { |
37 | // uint64_t x; | ||
38 | //}; | ||
39 | // | ||
40 | //#define tai_unix(t,u) ((void) ((t)->x = 0x400000000000000aULL + (uint64_t) (u))) | ||
41 | // | ||
42 | //#define TAI_PACK 8 | ||
43 | //extern void tai_unpack(const char *,struct tai *); | ||
44 | // | ||
45 | //extern void tai_uint(struct tai *,unsigned); | ||
46 | // | ||
47 | //struct taia { | ||
48 | // struct tai sec; | ||
49 | // unsigned long nano; /* 0...999999999 */ | ||
50 | // unsigned long atto; /* 0...999999999 */ | ||
51 | //}; | ||
52 | // | ||
53 | //extern void taia_now(struct taia *); | ||
54 | // | ||
55 | //extern void taia_add(struct taia *,const struct taia *,const struct taia *); | ||
56 | //extern void taia_addsec(struct taia *,const struct taia *,int); | ||
57 | //extern void taia_sub(struct taia *,const struct taia *,const struct taia *); | ||
58 | //extern void taia_half(struct taia *,const struct taia *); | ||
59 | //extern int taia_less(const struct taia *,const struct taia *); | ||
60 | // | ||
61 | //#define TAIA_PACK 16 | ||
62 | //extern void taia_pack(char *,const struct taia *); | ||
63 | // | ||
64 | //extern void taia_uint(struct taia *,unsigned); | ||
65 | // | ||
66 | //typedef struct pollfd iopause_fd; | ||
67 | //#define IOPAUSE_READ POLLIN | ||
68 | //#define IOPAUSE_WRITE POLLOUT | ||
69 | // | ||
70 | //extern void iopause(iopause_fd *,unsigned,struct taia *,struct taia *); | ||
71 | niro | 532 | |
72 | extern int lock_ex(int); | ||
73 | extern int lock_un(int); | ||
74 | extern int lock_exnb(int); | ||
75 | |||
76 | extern int open_read(const char *); | ||
77 | extern int open_excl(const char *); | ||
78 | extern int open_append(const char *); | ||
79 | extern int open_trunc(const char *); | ||
80 | extern int open_write(const char *); | ||
81 | |||
82 | extern unsigned pmatch(const char *, const char *, unsigned); | ||
83 | |||
84 | niro | 816 | #define str_diff(s,t) strcmp((s), (t)) |
85 | #define str_equal(s,t) (!strcmp((s), (t))) | ||
86 | niro | 532 | |
87 | niro | 816 | /* |
88 | * runsv / supervise / sv stuff | ||
89 | */ | ||
90 | typedef struct svstatus_t { | ||
91 | uint64_t time_be64 PACKED; | ||
92 | uint32_t time_nsec_be32 PACKED; | ||
93 | uint32_t pid_le32 PACKED; | ||
94 | uint8_t paused; | ||
95 | uint8_t want; | ||
96 | uint8_t got_term; | ||
97 | uint8_t run_or_finish; | ||
98 | } svstatus_t; | ||
99 | struct ERR_svstatus_must_be_20_bytes { | ||
100 | char ERR_svstatus_must_be_20_bytes[sizeof(svstatus_t) == 20 ? 1 : -1]; | ||
101 | }; | ||
102 | niro | 532 | |
103 | niro | 816 | #if __GNUC_PREREQ(4,1) |
104 | # pragma GCC visibility pop | ||
105 | niro | 532 | #endif |