8extern const char program[] __attribute__((__weak__));
9extern const int msg_show_pid __attribute__((__weak__));
11void msg_common(
const char* type,
const char*,
const char*,
const char*,
const char*,
const char*,
const char*,
int);
12void msg_commonf(
const char* type,
int showsys,
const char* format, ...);
13void msg_commonfv(
const char* type,
int showsys,
const char* format, va_list ap);
14#define msg(a,b,c,d,e,f) msg_common(0,a,b,c,d,e,f,0)
15void msg_warn(
const char*,
const char*,
const char*,
const char*,
const char*,
const char*,
int);
16void msg_warnf(
int showsys,
const char* format, ...);
17void msg_error(
const char*,
const char*,
const char*,
const char*,
const char*,
const char*,
int);
18void msg_errorf(
int showsys,
const char* format, ...);
19void msg_die(
int code,
const char* a,
const char* b,
const char* c,
const char* d,
const char* e,
const char* f,
int showsys) __NORETURN__;
20void msg_dief(
int code,
int showsys,
const char* format, ...) __NORETURN__;
22#define msg1(a) msg(a,0,0,0,0,0)
23#define msg2(a,b) msg(a,b,0,0,0,0)
24#define msg3(a,b,c) msg(a,b,c,0,0,0)
25#define msg4(a,b,c,d) msg(a,b,c,d,0,0)
26#define msg5(a,b,c,d,e) msg(a,b,c,d,e,0)
27#define msg6(a,b,c,d,e,f) msg(a,b,c,d,e,f)
28#define msgf(f,...) msg_commonf(0,0,f,__VA_ARGS__)
30#define warn1(a) msg_warn(a,0,0,0,0,0,0)
31#define warn2(a,b) msg_warn(a,b,0,0,0,0,0)
32#define warn3(a,b,c) msg_warn(a,b,c,0,0,0,0)
33#define warn4(a,b,c,d) msg_warn(a,b,c,d,0,0,0)
34#define warn5(a,b,c,d,e) msg_warn(a,b,c,d,e,0,0)
35#define warn6(a,b,c,d,e,f) msg_warn(a,b,c,d,e,f,0)
36#define warnf(f,...) msg_warnf(0,f,__VA_ARGS__)
38#define error1(a) msg_error(a,0,0,0,0,0,0)
39#define error2(a,b) msg_error(a,b,0,0,0,0,0)
40#define error3(a,b,c) msg_error(a,b,c,0,0,0,0)
41#define error4(a,b,c,d) msg_error(a,b,c,d,0,0,0)
42#define error5(a,b,c,d,e) msg_error(a,b,c,d,e,0,0)
43#define error6(a,b,c,d,e,f) msg_error(a,b,c,d,e,f,0)
44#define errorf(f,...) msg_errorf(0,f,__VA_ARGS__)
46#define die1(x,a) msg_die(x,a,0,0,0,0,0,0)
47#define die2(x,a,b) msg_die(x,a,b,0,0,0,0,0)
48#define die3(x,a,b,c) msg_die(x,a,b,c,0,0,0,0)
49#define die4(x,a,b,c,d) msg_die(x,a,b,c,d,0,0,0)
50#define die5(x,a,b,c,d,e) msg_die(x,a,b,c,d,e,0,0)
51#define die6(x,a,b,c,d,e,f) msg_die(x,a,b,c,d,e,f,0)
52#define dief(x,f,...) msg_dief(x,0,f,__VA_ARGS__)
54#define warn1sys(a) msg_warn(a,0,0,0,0,0,1)
55#define warn2sys(a,b) msg_warn(a,b,0,0,0,0,1)
56#define warn3sys(a,b,c) msg_warn(a,b,c,0,0,0,1)
57#define warn4sys(a,b,c,d) msg_warn(a,b,c,d,0,0,1)
58#define warn5sys(a,b,c,d,e) msg_warn(a,b,c,d,e,0,1)
59#define warn6sys(a,b,c,d,e,f) msg_warn(a,b,c,d,e,f,1)
60#define warnfsys(f,...) msg_warnf(1,f,__VA_ARGS__)
62#define error1sys(a) msg_error(a,0,0,0,0,0,1)
63#define error2sys(a,b) msg_error(a,b,0,0,0,0,1)
64#define error3sys(a,b,c) msg_error(a,b,c,0,0,0,1)
65#define error4sys(a,b,c,d) msg_error(a,b,c,d,0,0,1)
66#define error5sys(a,b,c,d,e) msg_error(a,b,c,d,e,0,1)
67#define error6sys(a,b,c,d,e,f) msg_error(a,b,c,d,e,f,1)
68#define errorfsys(f,...) msg_errorf(1,f,__VA_ARGS__)
70#define die1sys(x,a) msg_die(x,a,0,0,0,0,0,1)
71#define die2sys(x,a,b) msg_die(x,a,b,0,0,0,0,1)
72#define die3sys(x,a,b,c) msg_die(x,a,b,c,0,0,0,1)
73#define die4sys(x,a,b,c,d) msg_die(x,a,b,c,d,0,0,1)
74#define die5sys(x,a,b,c,d,e) msg_die(x,a,b,c,d,e,0,1)
75#define die6sys(x,a,b,c,d,e,f) msg_die(x,a,b,c,d,e,f,1)
76#define diefsys(x,f,...) msg_dief(x,1,f,__VA_ARGS__)
78extern void die_oom(
int);