strerr.h
changeset 0 eeadadee24f6
equal deleted inserted replaced
-1:000000000000 0:eeadadee24f6
       
     1 #ifndef STRERR_H
       
     2 #define STRERR_H
       
     3 
       
     4 struct strerr {
       
     5   struct strerr *who;
       
     6   char *x;
       
     7   char *y;
       
     8   char *z;
       
     9 } ;
       
    10 
       
    11 extern struct strerr strerr_sys;
       
    12 extern void strerr_sysinit(void);
       
    13 
       
    14 extern char *strerr(struct strerr *);
       
    15 extern void strerr_warn(char *,char *,char *,char *,char *,char *,struct strerr *);
       
    16 extern void strerr_die(int,char *,char *,char *,char *,char *,char *,struct strerr *);
       
    17 
       
    18 #define STRERR(r,se,a) \
       
    19 { se.who = 0; se.x = a; se.y = 0; se.z = 0; return r; }
       
    20 
       
    21 #define STRERR_SYS(r,se,a) \
       
    22 { se.who = &strerr_sys; se.x = a; se.y = 0; se.z = 0; return r; }
       
    23 #define STRERR_SYS3(r,se,a,b,c) \
       
    24 { se.who = &strerr_sys; se.x = a; se.y = b; se.z = c; return r; }
       
    25 
       
    26 #define strerr_warn6(x1,x2,x3,x4,x5,x6,se) \
       
    27 strerr_warn((x1),(x2),(x3),(x4),(x5),(x6),(se))
       
    28 #define strerr_warn5(x1,x2,x3,x4,x5,se) \
       
    29 strerr_warn((x1),(x2),(x3),(x4),(x5),0,(se))
       
    30 #define strerr_warn4(x1,x2,x3,x4,se) \
       
    31 strerr_warn((x1),(x2),(x3),(x4),0,0,(se))
       
    32 #define strerr_warn3(x1,x2,x3,se) \
       
    33 strerr_warn((x1),(x2),(x3),0,0,0,(se))
       
    34 #define strerr_warn2(x1,x2,se) \
       
    35 strerr_warn((x1),(x2),0,0,0,0,(se))
       
    36 #define strerr_warn1(x1,se) \
       
    37 strerr_warn((x1),0,0,0,0,0,(se))
       
    38 
       
    39 #define strerr_die6(e,x1,x2,x3,x4,x5,x6,se) \
       
    40 strerr_die((e),(x1),(x2),(x3),(x4),(x5),(x6),(se))
       
    41 #define strerr_die5(e,x1,x2,x3,x4,x5,se) \
       
    42 strerr_die((e),(x1),(x2),(x3),(x4),(x5),0,(se))
       
    43 #define strerr_die4(e,x1,x2,x3,x4,se) \
       
    44 strerr_die((e),(x1),(x2),(x3),(x4),0,0,(se))
       
    45 #define strerr_die3(e,x1,x2,x3,se) \
       
    46 strerr_die((e),(x1),(x2),(x3),0,0,0,(se))
       
    47 #define strerr_die2(e,x1,x2,se) \
       
    48 strerr_die((e),(x1),(x2),0,0,0,0,(se))
       
    49 #define strerr_die1(e,x1,se) \
       
    50 strerr_die((e),(x1),0,0,0,0,0,(se))
       
    51 
       
    52 #define strerr_die6sys(e,x1,x2,x3,x4,x5,x6) \
       
    53 strerr_die((e),(x1),(x2),(x3),(x4),(x5),(x6),&strerr_sys)
       
    54 #define strerr_die5sys(e,x1,x2,x3,x4,x5) \
       
    55 strerr_die((e),(x1),(x2),(x3),(x4),(x5),0,&strerr_sys)
       
    56 #define strerr_die4sys(e,x1,x2,x3,x4) \
       
    57 strerr_die((e),(x1),(x2),(x3),(x4),0,0,&strerr_sys)
       
    58 #define strerr_die3sys(e,x1,x2,x3) \
       
    59 strerr_die((e),(x1),(x2),(x3),0,0,0,&strerr_sys)
       
    60 #define strerr_die2sys(e,x1,x2) \
       
    61 strerr_die((e),(x1),(x2),0,0,0,0,&strerr_sys)
       
    62 #define strerr_die1sys(e,x1) \
       
    63 strerr_die((e),(x1),0,0,0,0,0,&strerr_sys)
       
    64 
       
    65 #define strerr_die6x(e,x1,x2,x3,x4,x5,x6) \
       
    66 strerr_die((e),(x1),(x2),(x3),(x4),(x5),(x6),0)
       
    67 #define strerr_die5x(e,x1,x2,x3,x4,x5) \
       
    68 strerr_die((e),(x1),(x2),(x3),(x4),(x5),0,0)
       
    69 #define strerr_die4x(e,x1,x2,x3,x4) \
       
    70 strerr_die((e),(x1),(x2),(x3),(x4),0,0,0)
       
    71 #define strerr_die3x(e,x1,x2,x3) \
       
    72 strerr_die((e),(x1),(x2),(x3),0,0,0,0)
       
    73 #define strerr_die2x(e,x1,x2) \
       
    74 strerr_die((e),(x1),(x2),0,0,0,0,0)
       
    75 #define strerr_die1x(e,x1) \
       
    76 strerr_die((e),(x1),0,0,0,0,0,0)
       
    77 
       
    78 #endif