# 1 "setkey.c"
# 1 "<built-in>"
# 1 "<command line>"





# 1 "../../src/include-glibc/glibc-bugs.h" 1
# 9 "../../src/include-glibc/glibc-bugs.h"
# 1 "/usr/local/arm-linux.org/arm-linux/include/features.h" 1 3
# 283 "/usr/local/arm-linux.org/arm-linux/include/features.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/sys/cdefs.h" 1 3
# 284 "/usr/local/arm-linux.org/arm-linux/include/features.h" 2 3
# 312 "/usr/local/arm-linux.org/arm-linux/include/features.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/gnu/stubs.h" 1 3
# 313 "/usr/local/arm-linux.org/arm-linux/include/features.h" 2 3
# 10 "../../src/include-glibc/glibc-bugs.h" 2
# 1 "/usr/local/arm-linux.org/arm-linux/include/sys/types.h" 1 3
# 28 "/usr/local/arm-linux.org/arm-linux/include/sys/types.h" 3


# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/types.h" 1 3
# 29 "/usr/local/arm-linux.org/arm-linux/include/bits/types.h" 3
# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 1 3 4
# 213 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 3 4
typedef unsigned int size_t;
# 30 "/usr/local/arm-linux.org/arm-linux/include/bits/types.h" 2 3


typedef unsigned char __u_char;
typedef unsigned short __u_short;
typedef unsigned int __u_int;
typedef unsigned long __u_long;

__extension__ typedef unsigned long long int __u_quad_t;
__extension__ typedef long long int __quad_t;
# 49 "/usr/local/arm-linux.org/arm-linux/include/bits/types.h" 3
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
typedef signed short int __int16_t;
typedef unsigned short int __uint16_t;
typedef signed int __int32_t;
typedef unsigned int __uint32_t;

__extension__ typedef signed long long int __int64_t;
__extension__ typedef unsigned long long int __uint64_t;

typedef __quad_t *__qaddr_t;

typedef __u_quad_t __dev_t;
typedef __u_int __uid_t;
typedef __u_int __gid_t;
typedef __u_long __ino_t;
typedef __u_int __mode_t;
typedef __u_int __nlink_t;
typedef long int __off_t;
typedef __quad_t __loff_t;
typedef int __pid_t;
typedef int __ssize_t;
typedef __u_long __rlim_t;
typedef __u_quad_t __rlim64_t;
typedef __u_int __id_t;

typedef struct
  {
    int __val[2];
  } __fsid_t;


typedef int __daddr_t;
typedef char *__caddr_t;
typedef long int __time_t;
typedef unsigned int __useconds_t;
typedef long int __suseconds_t;
typedef long int __swblk_t;

typedef long int __clock_t;


typedef int __clockid_t;


typedef int __timer_t;






typedef int __key_t;


typedef unsigned short int __ipc_pid_t;



typedef long int __blksize_t;




typedef long int __blkcnt_t;
typedef __quad_t __blkcnt64_t;


typedef __u_long __fsblkcnt_t;
typedef __u_quad_t __fsblkcnt64_t;


typedef __u_long __fsfilcnt_t;
typedef __u_quad_t __fsfilcnt64_t;


typedef __u_quad_t __ino64_t;


typedef __loff_t __off64_t;


typedef long int __t_scalar_t;
typedef unsigned long int __t_uscalar_t;


typedef int __intptr_t;


typedef unsigned int __socklen_t;




# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/pthreadtypes.h" 1 3
# 23 "/usr/local/arm-linux.org/arm-linux/include/bits/pthreadtypes.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/sched.h" 1 3
# 68 "/usr/local/arm-linux.org/arm-linux/include/bits/sched.h" 3
struct __sched_param
  {
    int __sched_priority;
  };
# 24 "/usr/local/arm-linux.org/arm-linux/include/bits/pthreadtypes.h" 2 3


struct _pthread_fastlock
{
  long int __status;
  int __spinlock;

};



typedef struct _pthread_descr_struct *_pthread_descr;





typedef struct __pthread_attr_s
{
  int __detachstate;
  int __schedpolicy;
  struct __sched_param __schedparam;
  int __inheritsched;
  int __scope;
  size_t __guardsize;
  int __stackaddr_set;
  void *__stackaddr;
  size_t __stacksize;
} pthread_attr_t;



typedef struct
{
  struct _pthread_fastlock __c_lock;
  _pthread_descr __c_waiting;
} pthread_cond_t;



typedef struct
{
  int __dummy;
} pthread_condattr_t;


typedef unsigned int pthread_key_t;





typedef struct
{
  int __m_reserved;
  int __m_count;
  _pthread_descr __m_owner;
  int __m_kind;
  struct _pthread_fastlock __m_lock;
} pthread_mutex_t;



typedef struct
{
  int __mutexkind;
} pthread_mutexattr_t;



typedef int pthread_once_t;




typedef struct _pthread_rwlock_t
{
  struct _pthread_fastlock __rw_lock;
  int __rw_readers;
  _pthread_descr __rw_writer;
  _pthread_descr __rw_read_waiting;
  _pthread_descr __rw_write_waiting;
  int __rw_kind;
  int __rw_pshared;
} pthread_rwlock_t;



typedef struct
{
  int __lockkind;
  int __pshared;
} pthread_rwlockattr_t;
# 140 "/usr/local/arm-linux.org/arm-linux/include/bits/pthreadtypes.h" 3
typedef unsigned long int pthread_t;
# 144 "/usr/local/arm-linux.org/arm-linux/include/bits/types.h" 2 3
# 31 "/usr/local/arm-linux.org/arm-linux/include/sys/types.h" 2 3



typedef __u_char u_char;
typedef __u_short u_short;
typedef __u_int u_int;
typedef __u_long u_long;
typedef __quad_t quad_t;
typedef __u_quad_t u_quad_t;
typedef __fsid_t fsid_t;




typedef __loff_t loff_t;



typedef __ino_t ino_t;
# 61 "/usr/local/arm-linux.org/arm-linux/include/sys/types.h" 3
typedef __dev_t dev_t;




typedef __gid_t gid_t;




typedef __mode_t mode_t;




typedef __nlink_t nlink_t;




typedef __uid_t uid_t;





typedef __off_t off_t;
# 99 "/usr/local/arm-linux.org/arm-linux/include/sys/types.h" 3
typedef __pid_t pid_t;




typedef __id_t id_t;




typedef __ssize_t ssize_t;





typedef __daddr_t daddr_t;
typedef __caddr_t caddr_t;





typedef __key_t key_t;
# 132 "/usr/local/arm-linux.org/arm-linux/include/sys/types.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/time.h" 1 3
# 59 "/usr/local/arm-linux.org/arm-linux/include/time.h" 3
typedef __clock_t clock_t;
# 70 "/usr/local/arm-linux.org/arm-linux/include/time.h" 3
typedef __time_t time_t;
# 82 "/usr/local/arm-linux.org/arm-linux/include/time.h" 3
typedef __clockid_t clockid_t;
# 94 "/usr/local/arm-linux.org/arm-linux/include/time.h" 3
typedef __timer_t timer_t;
# 133 "/usr/local/arm-linux.org/arm-linux/include/sys/types.h" 2 3



typedef __useconds_t useconds_t;



typedef __suseconds_t suseconds_t;





# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 1 3 4
# 147 "/usr/local/arm-linux.org/arm-linux/include/sys/types.h" 2 3



typedef unsigned long int ulong;
typedef unsigned short int ushort;
typedef unsigned int uint;
# 190 "/usr/local/arm-linux.org/arm-linux/include/sys/types.h" 3
typedef int int8_t __attribute__ ((__mode__ (__QI__)));
typedef int int16_t __attribute__ ((__mode__ (__HI__)));
typedef int int32_t __attribute__ ((__mode__ (__SI__)));
typedef int int64_t __attribute__ ((__mode__ (__DI__)));


typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));

typedef int register_t __attribute__ ((__mode__ (__word__)));
# 212 "/usr/local/arm-linux.org/arm-linux/include/sys/types.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/endian.h" 1 3
# 37 "/usr/local/arm-linux.org/arm-linux/include/endian.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/endian.h" 1 3
# 38 "/usr/local/arm-linux.org/arm-linux/include/endian.h" 2 3
# 213 "/usr/local/arm-linux.org/arm-linux/include/sys/types.h" 2 3


# 1 "/usr/local/arm-linux.org/arm-linux/include/sys/select.h" 1 3
# 31 "/usr/local/arm-linux.org/arm-linux/include/sys/select.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/select.h" 1 3
# 32 "/usr/local/arm-linux.org/arm-linux/include/sys/select.h" 2 3


# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/sigset.h" 1 3
# 23 "/usr/local/arm-linux.org/arm-linux/include/bits/sigset.h" 3
typedef int __sig_atomic_t;




typedef struct
  {
    unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
  } __sigset_t;
# 35 "/usr/local/arm-linux.org/arm-linux/include/sys/select.h" 2 3



typedef __sigset_t sigset_t;





# 1 "/usr/local/arm-linux.org/arm-linux/include/time.h" 1 3
# 106 "/usr/local/arm-linux.org/arm-linux/include/time.h" 3
struct timespec
  {
    __time_t tv_sec;
    long int tv_nsec;
  };
# 45 "/usr/local/arm-linux.org/arm-linux/include/sys/select.h" 2 3

# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/time.h" 1 3
# 63 "/usr/local/arm-linux.org/arm-linux/include/bits/time.h" 3
struct timeval
  {
    __time_t tv_sec;
    __suseconds_t tv_usec;
  };
# 47 "/usr/local/arm-linux.org/arm-linux/include/sys/select.h" 2 3
# 55 "/usr/local/arm-linux.org/arm-linux/include/sys/select.h" 3
typedef long int __fd_mask;







typedef struct
  {



    __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))];





  } fd_set;






typedef __fd_mask fd_mask;
# 95 "/usr/local/arm-linux.org/arm-linux/include/sys/select.h" 3







extern int select (int __nfds, fd_set *__restrict __readfds,
                   fd_set *__restrict __writefds,
                   fd_set *__restrict __exceptfds,
                   struct timeval *__restrict __timeout) ;
# 118 "/usr/local/arm-linux.org/arm-linux/include/sys/select.h" 3

# 216 "/usr/local/arm-linux.org/arm-linux/include/sys/types.h" 2 3


# 1 "/usr/local/arm-linux.org/arm-linux/include/sys/sysmacros.h" 1 3
# 219 "/usr/local/arm-linux.org/arm-linux/include/sys/types.h" 2 3




typedef __blksize_t blksize_t;






typedef __blkcnt_t blkcnt_t;



typedef __fsblkcnt_t fsblkcnt_t;



typedef __fsfilcnt_t fsfilcnt_t;
# 262 "/usr/local/arm-linux.org/arm-linux/include/sys/types.h" 3

# 11 "../../src/include-glibc/glibc-bugs.h" 2
# 7 "<command line>" 2
# 1 "setkey.c"
# 36 "setkey.c"
# 1 "../../config.h" 1
# 37 "setkey.c" 2




# 1 "/usr/local/arm-linux.org/arm-linux/include/sys/param.h" 1 3
# 22 "/usr/local/arm-linux.org/arm-linux/include/sys/param.h" 3
# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/limits.h" 1 3 4
# 23 "/usr/local/arm-linux.org/arm-linux/include/sys/param.h" 2 3
# 1 "../../src/include-glibc/linux/limits.h" 1 3
# 24 "/usr/local/arm-linux.org/arm-linux/include/sys/param.h" 2 3
# 1 "../../src/include-glibc/linux/param.h" 1 3



# 1 "/usr/local/arm-linux.org/arm-linux/sys-include/asm/param.h" 1 3 4
# 13 "/usr/local/arm-linux.org/arm-linux/sys-include/asm/param.h" 3 4
# 1 "/usr/local/arm-linux.org/arm-linux/sys-include/asm/arch/param.h" 1 3 4
# 14 "/usr/local/arm-linux.org/arm-linux/sys-include/asm/param.h" 2 3 4
# 1 "/usr/local/arm-linux.org/arm-linux/sys-include/asm/proc/page.h" 1 3 4
# 15 "/usr/local/arm-linux.org/arm-linux/sys-include/asm/param.h" 2 3 4
# 5 "../../src/include-glibc/linux/param.h" 2 3
# 25 "/usr/local/arm-linux.org/arm-linux/include/sys/param.h" 2 3
# 42 "setkey.c" 2
# 1 "/usr/local/arm-linux.org/arm-linux/include/sys/socket.h" 1 3
# 25 "/usr/local/arm-linux.org/arm-linux/include/sys/socket.h" 3


# 1 "/usr/local/arm-linux.org/arm-linux/include/sys/uio.h" 1 3
# 26 "/usr/local/arm-linux.org/arm-linux/include/sys/uio.h" 3



# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/uio.h" 1 3
# 42 "/usr/local/arm-linux.org/arm-linux/include/bits/uio.h" 3
struct iovec
  {
    void *iov_base;
    size_t iov_len;
  };
# 30 "/usr/local/arm-linux.org/arm-linux/include/sys/uio.h" 2 3







extern ssize_t readv (int __fd, __const struct iovec *__vector, int __count)
     ;






extern ssize_t writev (int __fd, __const struct iovec *__vector, int __count)
     ;


# 28 "/usr/local/arm-linux.org/arm-linux/include/sys/socket.h" 2 3

# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 1 3 4
# 30 "/usr/local/arm-linux.org/arm-linux/include/sys/socket.h" 2 3





# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/socket.h" 1 3
# 29 "/usr/local/arm-linux.org/arm-linux/include/bits/socket.h" 3
# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 1 3 4
# 30 "/usr/local/arm-linux.org/arm-linux/include/bits/socket.h" 2 3






typedef __socklen_t socklen_t;




enum __socket_type
{
  SOCK_STREAM = 1,


  SOCK_DGRAM = 2,


  SOCK_RAW = 3,

  SOCK_RDM = 4,

  SOCK_SEQPACKET = 5,


  SOCK_PACKET = 10



};
# 142 "/usr/local/arm-linux.org/arm-linux/include/bits/socket.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/sockaddr.h" 1 3
# 29 "/usr/local/arm-linux.org/arm-linux/include/bits/sockaddr.h" 3
typedef unsigned short int sa_family_t;
# 143 "/usr/local/arm-linux.org/arm-linux/include/bits/socket.h" 2 3


struct sockaddr
  {
    sa_family_t sa_family;
    char sa_data[14];
  };
# 162 "/usr/local/arm-linux.org/arm-linux/include/bits/socket.h" 3
struct sockaddr_storage
  {
    sa_family_t ss_family;
    __uint32_t __ss_align;
    char __ss_padding[(128 - (2 * sizeof (__uint32_t)))];
  };



enum
  {
    MSG_OOB = 0x01,

    MSG_PEEK = 0x02,

    MSG_DONTROUTE = 0x04,






    MSG_CTRUNC = 0x08,

    MSG_PROXY = 0x10,

    MSG_TRUNC = 0x20,

    MSG_DONTWAIT = 0x40,

    MSG_EOR = 0x80,

    MSG_WAITALL = 0x100,

    MSG_FIN = 0x200,

    MSG_SYN = 0x400,

    MSG_CONFIRM = 0x800,

    MSG_RST = 0x1000,

    MSG_ERRQUEUE = 0x2000,

    MSG_NOSIGNAL = 0x4000,

    MSG_MORE = 0x8000

  };




struct msghdr
  {
    void *msg_name;
    socklen_t msg_namelen;

    struct iovec *msg_iov;
    int msg_iovlen;

    void *msg_control;
    socklen_t msg_controllen;

    int msg_flags;
  };


struct cmsghdr
  {
    size_t cmsg_len;

    int cmsg_level;
    int cmsg_type;

    __extension__ unsigned char __cmsg_data [];

  };
# 257 "/usr/local/arm-linux.org/arm-linux/include/bits/socket.h" 3
extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr,
                                      struct cmsghdr *__cmsg) ;




extern __inline struct cmsghdr *
__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg)
{
  if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))

    return 0;

  __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg
                               + (((__cmsg->cmsg_len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)));
  if ((unsigned char *) (__cmsg + 1) > ((unsigned char *) __mhdr->msg_control
                                        + __mhdr->msg_controllen)
      || ((unsigned char *) __cmsg + (((__cmsg->cmsg_len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1))
          > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen)))

    return 0;
  return __cmsg;
}




enum
  {
    SCM_RIGHTS = 0x01,


    SCM_CREDENTIALS = 0x02,


    __SCM_CONNECT = 0x03
  };



struct ucred
{
  pid_t pid;
  uid_t uid;
  gid_t gid;
};


# 1 "/usr/local/arm-linux.org/arm-linux/sys-include/asm/socket.h" 1 3 4



# 1 "/usr/local/arm-linux.org/arm-linux/sys-include/asm/sockios.h" 1 3 4
# 5 "/usr/local/arm-linux.org/arm-linux/sys-include/asm/socket.h" 2 3 4
# 306 "/usr/local/arm-linux.org/arm-linux/include/bits/socket.h" 2 3



struct linger
  {
    int l_onoff;
    int l_linger;
  };
# 36 "/usr/local/arm-linux.org/arm-linux/include/sys/socket.h" 2 3




struct osockaddr
  {
    unsigned short int sa_family;
    unsigned char sa_data[14];
  };




enum
{
  SHUT_RD = 0,

  SHUT_WR,

  SHUT_RDWR

};
# 100 "/usr/local/arm-linux.org/arm-linux/include/sys/socket.h" 3
extern int socket (int __domain, int __type, int __protocol) ;





extern int socketpair (int __domain, int __type, int __protocol,
                       int __fds[2]) ;


extern int bind (int __fd, __const struct sockaddr * __addr, socklen_t __len)
     ;


extern int getsockname (int __fd, struct sockaddr *__restrict __addr,
                        socklen_t *__restrict __len) ;





extern int connect (int __fd, __const struct sockaddr * __addr, socklen_t __len)
     ;



extern int getpeername (int __fd, struct sockaddr *__restrict __addr,
                        socklen_t *__restrict __len) ;



extern ssize_t send (int __fd, __const void *__buf, size_t __n, int __flags)
     ;



extern ssize_t recv (int __fd, void *__buf, size_t __n, int __flags)
     ;



extern ssize_t sendto (int __fd, __const void *__buf, size_t __n,
                       int __flags, __const struct sockaddr * __addr,
                       socklen_t __addr_len) ;





extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags,
                         struct sockaddr *__restrict __addr, socklen_t *__restrict __addr_len)
     ;




extern ssize_t sendmsg (int __fd, __const struct msghdr *__message, int __flags)
     ;



extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags)
     ;





extern int getsockopt (int __fd, int __level, int __optname,
                       void *__restrict __optval,
                       socklen_t *__restrict __optlen) ;




extern int setsockopt (int __fd, int __level, int __optname,
                       __const void *__optval, socklen_t __optlen) ;





extern int listen (int __fd, int __n) ;






extern int accept (int __fd, struct sockaddr *__restrict __addr,
                   socklen_t *__restrict __addr_len)
     ;







extern int shutdown (int __fd, int __how) ;
# 212 "/usr/local/arm-linux.org/arm-linux/include/sys/socket.h" 3
extern int isfdtype (int __fd, int __fdtype) ;



# 43 "setkey.c" 2
# 1 "/usr/local/arm-linux.org/arm-linux/include/sys/time.h" 1 3
# 26 "/usr/local/arm-linux.org/arm-linux/include/sys/time.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/time.h" 1 3
# 27 "/usr/local/arm-linux.org/arm-linux/include/sys/time.h" 2 3

# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/time.h" 1 3
# 29 "/usr/local/arm-linux.org/arm-linux/include/sys/time.h" 2 3
# 38 "/usr/local/arm-linux.org/arm-linux/include/sys/time.h" 3

# 56 "/usr/local/arm-linux.org/arm-linux/include/sys/time.h" 3
struct timezone
  {
    int tz_minuteswest;
    int tz_dsttime;
  };

typedef struct timezone *__restrict __timezone_ptr_t;
# 72 "/usr/local/arm-linux.org/arm-linux/include/sys/time.h" 3
extern int gettimeofday (struct timeval *__restrict __tv,
                         __timezone_ptr_t __tz) ;




extern int settimeofday (__const struct timeval *__tv,
                         __const struct timezone *__tz) ;





extern int adjtime (__const struct timeval *__delta,
                    struct timeval *__olddelta) ;




enum __itimer_which
  {

    ITIMER_REAL = 0,


    ITIMER_VIRTUAL = 1,



    ITIMER_PROF = 2

  };



struct itimerval
  {

    struct timeval it_interval;

    struct timeval it_value;
  };






typedef int __itimer_which_t;




extern int getitimer (__itimer_which_t __which,
                      struct itimerval *__value) ;




extern int setitimer (__itimer_which_t __which,
                      __const struct itimerval *__restrict __new,
                      struct itimerval *__restrict __old) ;



extern int utimes (__const char *__file, __const struct timeval __tvp[2])
     ;
# 171 "/usr/local/arm-linux.org/arm-linux/include/sys/time.h" 3

# 44 "setkey.c" 2
# 1 "/usr/local/arm-linux.org/arm-linux/include/sys/stat.h" 1 3
# 32 "/usr/local/arm-linux.org/arm-linux/include/sys/stat.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/time.h" 1 3
# 33 "/usr/local/arm-linux.org/arm-linux/include/sys/stat.h" 2 3
# 96 "/usr/local/arm-linux.org/arm-linux/include/sys/stat.h" 3


# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/stat.h" 1 3
# 36 "/usr/local/arm-linux.org/arm-linux/include/bits/stat.h" 3
struct stat
  {
    __dev_t st_dev;
    unsigned short int __pad1;

    __ino_t st_ino;



    __mode_t st_mode;
    __nlink_t st_nlink;
    __uid_t st_uid;
    __gid_t st_gid;
    __dev_t st_rdev;
    unsigned short int __pad2;

    __off_t st_size;



    __blksize_t st_blksize;


    __blkcnt_t st_blocks;



    __time_t st_atime;
    unsigned long int __unused1;
    __time_t st_mtime;
    unsigned long int __unused2;
    __time_t st_ctime;
    unsigned long int __unused3;

    unsigned long int __unused4;
    unsigned long int __unused5;



  };
# 99 "/usr/local/arm-linux.org/arm-linux/include/sys/stat.h" 2 3
# 200 "/usr/local/arm-linux.org/arm-linux/include/sys/stat.h" 3
extern int stat (__const char *__restrict __file,
                 struct stat *__restrict __buf) ;



extern int fstat (int __fd, struct stat *__buf) ;
# 228 "/usr/local/arm-linux.org/arm-linux/include/sys/stat.h" 3
extern int lstat (__const char *__restrict __file,
                  struct stat *__restrict __buf) ;
# 249 "/usr/local/arm-linux.org/arm-linux/include/sys/stat.h" 3
extern int chmod (__const char *__file, __mode_t __mode) ;



extern int fchmod (int __fd, __mode_t __mode) ;





extern __mode_t umask (__mode_t __mask) ;
# 268 "/usr/local/arm-linux.org/arm-linux/include/sys/stat.h" 3
extern int mkdir (__const char *__path, __mode_t __mode) ;





extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev)
     ;




extern int mkfifo (__const char *__path, __mode_t __mode) ;
# 306 "/usr/local/arm-linux.org/arm-linux/include/sys/stat.h" 3
extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf) ;
extern int __xstat (int __ver, __const char *__filename,
                    struct stat *__stat_buf) ;
extern int __lxstat (int __ver, __const char *__filename,
                     struct stat *__stat_buf) ;
# 337 "/usr/local/arm-linux.org/arm-linux/include/sys/stat.h" 3
extern int __xmknod (int __ver, __const char *__path, __mode_t __mode,
                     __dev_t *__dev) ;




extern __inline__ int stat (__const char *__path,
                            struct stat *__statbuf)
{
  return __xstat (3, __path, __statbuf);
}


extern __inline__ int lstat (__const char *__path,
                             struct stat *__statbuf)
{
  return __lxstat (3, __path, __statbuf);
}


extern __inline__ int fstat (int __fd, struct stat *__statbuf)
{
  return __fxstat (3, __fd, __statbuf);
}


extern __inline__ int mknod (__const char *__path, __mode_t __mode,
                             __dev_t __dev)
{
  return __xmknod (1, __path, __mode, &__dev);
}
# 395 "/usr/local/arm-linux.org/arm-linux/include/sys/stat.h" 3

# 45 "setkey.c" 2
# 1 "/usr/local/arm-linux.org/arm-linux/include/sys/sysctl.h" 1 3
# 24 "/usr/local/arm-linux.org/arm-linux/include/sys/sysctl.h" 3



# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 1 3 4
# 28 "/usr/local/arm-linux.org/arm-linux/include/sys/sysctl.h" 2 3
# 1 "../../src/include-glibc/linux/sysctl.h" 1 3
# 21 "../../src/include-glibc/linux/sysctl.h" 3
# 1 "../../src/include-glibc/linux/kernel.h" 1 3
# 254 "../../src/include-glibc/linux/kernel.h" 3
struct sysinfo {
        long uptime;
        unsigned long loads[3];
        unsigned long totalram;
        unsigned long freeram;
        unsigned long sharedram;
        unsigned long bufferram;
        unsigned long totalswap;
        unsigned long freeswap;
        unsigned short procs;
        unsigned short pad;
        unsigned long totalhigh;
        unsigned long freehigh;
        unsigned int mem_unit;
        char _f[20-2*sizeof(long)-sizeof(int)];
};

extern void BUILD_BUG(void);
# 22 "../../src/include-glibc/linux/sysctl.h" 2 3
# 1 "../../src/include-glibc/linux/types.h" 1 3
# 13 "../../src/include-glibc/linux/types.h" 3
# 1 "../../src/include-glibc/linux/posix_types.h" 1 3



# 1 "../../src/include-glibc/linux/stddef.h" 1 3



# 1 "../../src/include-glibc/linux/compiler.h" 1 3
# 5 "../../src/include-glibc/linux/stddef.h" 2 3
# 5 "../../src/include-glibc/linux/posix_types.h" 2 3
# 36 "../../src/include-glibc/linux/posix_types.h" 3
typedef struct {
        unsigned long fds_bits [(1024/(8 * sizeof(unsigned long)))];
} __kernel_fd_set;


typedef void (*__kernel_sighandler_t)(int);


typedef int __kernel_key_t;
typedef int __kernel_mqd_t;

# 1 "/usr/local/arm-linux.org/arm-linux/sys-include/asm/posix_types.h" 1 3 4
# 22 "/usr/local/arm-linux.org/arm-linux/sys-include/asm/posix_types.h" 3 4
typedef unsigned short __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned short __kernel_mode_t;
typedef unsigned short __kernel_nlink_t;
typedef long __kernel_off_t;
typedef int __kernel_pid_t;
typedef unsigned short __kernel_ipc_pid_t;
typedef unsigned short __kernel_uid_t;
typedef unsigned short __kernel_gid_t;
typedef unsigned int __kernel_size_t;
typedef int __kernel_ssize_t;
typedef int __kernel_ptrdiff_t;
typedef long __kernel_time_t;
typedef long __kernel_suseconds_t;
typedef long __kernel_clock_t;
typedef int __kernel_daddr_t;
typedef char * __kernel_caddr_t;
typedef unsigned short __kernel_uid16_t;
typedef unsigned short __kernel_gid16_t;
typedef unsigned int __kernel_uid32_t;
typedef unsigned int __kernel_gid32_t;

typedef unsigned short __kernel_old_uid_t;
typedef unsigned short __kernel_old_gid_t;


typedef long long __kernel_loff_t;


typedef struct {



        int __val[2];

} __kernel_fsid_t;
# 48 "../../src/include-glibc/linux/posix_types.h" 2 3
# 14 "../../src/include-glibc/linux/types.h" 2 3
# 1 "/usr/local/arm-linux.org/arm-linux/sys-include/asm/types.h" 1 3 4



typedef unsigned short umode_t;






typedef __signed__ char __s8;
typedef unsigned char __u8;

typedef __signed__ short __s16;
typedef unsigned short __u16;

typedef __signed__ int __s32;
typedef unsigned int __u32;


typedef __signed__ long long __s64;
typedef unsigned long long __u64;
# 15 "../../src/include-glibc/linux/types.h" 2 3
# 162 "../../src/include-glibc/linux/types.h" 3
struct ustat {
        __kernel_daddr_t f_tfree;
        __kernel_ino_t f_tinode;
        char f_fname[6];
        char f_fpack[6];
};
# 23 "../../src/include-glibc/linux/sysctl.h" 2 3
# 1 "../../src/include-glibc/linux/list.h" 1 3
# 24 "../../src/include-glibc/linux/sysctl.h" 2 3


struct file;






struct __sysctl_args {
        int *name;
        int nlen;
        void *oldval;
        size_t *oldlenp;
        void *newval;
        size_t newlen;
        unsigned long __unused[4];
};
# 53 "../../src/include-glibc/linux/sysctl.h" 3
enum
{
        CTL_KERN=1,
        CTL_VM=2,
        CTL_NET=3,
        CTL_PROC=4,
        CTL_FS=5,
        CTL_DEBUG=6,
        CTL_DEV=7,
        CTL_BUS=8,
        CTL_ABI=9,
        CTL_CPU=10
};


enum
{
        CTL_BUS_ISA=1
};


enum
{
        KERN_OSTYPE=1,
        KERN_OSRELEASE=2,
        KERN_OSREV=3,
        KERN_VERSION=4,
        KERN_SECUREMASK=5,
        KERN_PROF=6,
        KERN_NODENAME=7,
        KERN_DOMAINNAME=8,

        KERN_CAP_BSET=14,
        KERN_PANIC=15,
        KERN_REALROOTDEV=16,

        KERN_SPARC_REBOOT=21,
        KERN_CTLALTDEL=22,
        KERN_PRINTK=23,
        KERN_NAMETRANS=24,
        KERN_PPC_HTABRECLAIM=25,
        KERN_PPC_ZEROPAGED=26,
        KERN_PPC_POWERSAVE_NAP=27,
        KERN_MODPROBE=28,
        KERN_SG_BIG_BUFF=29,
        KERN_ACCT=30,
        KERN_PPC_L2CR=31,

        KERN_RTSIGNR=32,
        KERN_RTSIGMAX=33,

        KERN_SHMMAX=34,
        KERN_MSGMAX=35,
        KERN_MSGMNB=36,
        KERN_MSGPOOL=37,
        KERN_SYSRQ=38,
        KERN_MAX_THREADS=39,
        KERN_RANDOM=40,
        KERN_SHMALL=41,
        KERN_MSGMNI=42,
        KERN_SEM=43,
        KERN_SPARC_STOP_A=44,
        KERN_SHMMNI=45,
        KERN_OVERFLOWUID=46,
        KERN_OVERFLOWGID=47,
        KERN_SHMPATH=48,
        KERN_HOTPLUG=49,
        KERN_IEEE_EMULATION_WARNINGS=50,
        KERN_S390_USER_DEBUG_LOGGING=51,
        KERN_CORE_USES_PID=52,
        KERN_TAINTED=53,
        KERN_CADPID=54,
        KERN_PIDMAX=55,
        KERN_CORE_PATTERN=56,
        KERN_PANIC_ON_OOPS=57,
        KERN_HPPA_PWRSW=58,
        KERN_HPPA_UNALIGNED=59,
        KERN_PRINTK_RATELIMIT=60,
        KERN_PRINTK_RATELIMIT_BURST=61,
        KERN_PTY=62,
        KERN_NGROUPS_MAX=63,
        KERN_SPARC_SCONS_PWROFF=64,
        KERN_HZ_TIMER=65,
        KERN_UNKNOWN_NMI_PANIC=66,
};



enum
{
        VM_UNUSED1=1,
        VM_UNUSED2=2,
        VM_UNUSED3=3,
        VM_UNUSED4=4,
        VM_OVERCOMMIT_MEMORY=5,
        VM_UNUSED5=6,
        VM_UNUSED7=7,
        VM_UNUSED8=8,
        VM_UNUSED9=9,
        VM_PAGE_CLUSTER=10,
        VM_DIRTY_BACKGROUND=11,
        VM_DIRTY_RATIO=12,
        VM_DIRTY_WB_CS=13,
        VM_DIRTY_EXPIRE_CS=14,
        VM_NR_PDFLUSH_THREADS=15,
        VM_OVERCOMMIT_RATIO=16,
        VM_PAGEBUF=17,
        VM_HUGETLB_PAGES=18,
        VM_SWAPPINESS=19,
        VM_LOWER_ZONE_PROTECTION=20,
        VM_MIN_FREE_KBYTES=21,
        VM_MAX_MAP_COUNT=22,
        VM_LAPTOP_MODE=23,
        VM_BLOCK_DUMP=24,
        VM_HUGETLB_GROUP=25,
        VM_VFS_CACHE_PRESSURE=26,
        VM_LEGACY_VA_LAYOUT=27,
};



enum
{
        NET_CORE=1,
        NET_ETHER=2,
        NET_802=3,
        NET_UNIX=4,
        NET_IPV4=5,
        NET_IPX=6,
        NET_ATALK=7,
        NET_NETROM=8,
        NET_AX25=9,
        NET_BRIDGE=10,
        NET_ROSE=11,
        NET_IPV6=12,
        NET_X25=13,
        NET_TR=14,
        NET_DECNET=15,
        NET_ECONET=16,
        NET_SCTP=17,
};


enum
{
        RANDOM_POOLSIZE=1,
        RANDOM_ENTROPY_COUNT=2,
        RANDOM_READ_THRESH=3,
        RANDOM_WRITE_THRESH=4,
        RANDOM_BOOT_ID=5,
        RANDOM_UUID=6
};


enum
{
        PTY_MAX=1,
        PTY_NR=2
};


enum
{
        BUS_ISA_MEM_BASE=1,
        BUS_ISA_PORT_BASE=2,
        BUS_ISA_PORT_SHIFT=3
};


enum
{
        NET_CORE_WMEM_MAX=1,
        NET_CORE_RMEM_MAX=2,
        NET_CORE_WMEM_DEFAULT=3,
        NET_CORE_RMEM_DEFAULT=4,

        NET_CORE_MAX_BACKLOG=6,
        NET_CORE_FASTROUTE=7,
        NET_CORE_MSG_COST=8,
        NET_CORE_MSG_BURST=9,
        NET_CORE_OPTMEM_MAX=10,
        NET_CORE_HOT_LIST_LENGTH=11,
        NET_CORE_DIVERT_VERSION=12,
        NET_CORE_NO_CONG_THRESH=13,
        NET_CORE_NO_CONG=14,
        NET_CORE_LO_CONG=15,
        NET_CORE_MOD_CONG=16,
        NET_CORE_DEV_WEIGHT=17,
        NET_CORE_SOMAXCONN=18,
};







enum
{
        NET_UNIX_DESTROY_DELAY=1,
        NET_UNIX_DELETE_DELAY=2,
        NET_UNIX_MAX_DGRAM_QLEN=3,
};


enum
{

        NET_IPV4_FORWARD=8,
        NET_IPV4_DYNADDR=9,

        NET_IPV4_CONF=16,
        NET_IPV4_NEIGH=17,
        NET_IPV4_ROUTE=18,
        NET_IPV4_FIB_HASH=19,
        NET_IPV4_NETFILTER=20,

        NET_IPV4_TCP_TIMESTAMPS=33,
        NET_IPV4_TCP_WINDOW_SCALING=34,
        NET_IPV4_TCP_SACK=35,
        NET_IPV4_TCP_RETRANS_COLLAPSE=36,
        NET_IPV4_DEFAULT_TTL=37,
        NET_IPV4_AUTOCONFIG=38,
        NET_IPV4_NO_PMTU_DISC=39,
        NET_IPV4_TCP_SYN_RETRIES=40,
        NET_IPV4_IPFRAG_HIGH_THRESH=41,
        NET_IPV4_IPFRAG_LOW_THRESH=42,
        NET_IPV4_IPFRAG_TIME=43,
        NET_IPV4_TCP_MAX_KA_PROBES=44,
        NET_IPV4_TCP_KEEPALIVE_TIME=45,
        NET_IPV4_TCP_KEEPALIVE_PROBES=46,
        NET_IPV4_TCP_RETRIES1=47,
        NET_IPV4_TCP_RETRIES2=48,
        NET_IPV4_TCP_FIN_TIMEOUT=49,
        NET_IPV4_IP_MASQ_DEBUG=50,
        NET_TCP_SYNCOOKIES=51,
        NET_TCP_STDURG=52,
        NET_TCP_RFC1337=53,
        NET_TCP_SYN_TAILDROP=54,
        NET_TCP_MAX_SYN_BACKLOG=55,
        NET_IPV4_LOCAL_PORT_RANGE=56,
        NET_IPV4_ICMP_ECHO_IGNORE_ALL=57,
        NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS=58,
        NET_IPV4_ICMP_SOURCEQUENCH_RATE=59,
        NET_IPV4_ICMP_DESTUNREACH_RATE=60,
        NET_IPV4_ICMP_TIMEEXCEED_RATE=61,
        NET_IPV4_ICMP_PARAMPROB_RATE=62,
        NET_IPV4_ICMP_ECHOREPLY_RATE=63,
        NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES=64,
        NET_IPV4_IGMP_MAX_MEMBERSHIPS=65,
        NET_TCP_TW_RECYCLE=66,
        NET_IPV4_ALWAYS_DEFRAG=67,
        NET_IPV4_TCP_KEEPALIVE_INTVL=68,
        NET_IPV4_INET_PEER_THRESHOLD=69,
        NET_IPV4_INET_PEER_MINTTL=70,
        NET_IPV4_INET_PEER_MAXTTL=71,
        NET_IPV4_INET_PEER_GC_MINTIME=72,
        NET_IPV4_INET_PEER_GC_MAXTIME=73,
        NET_TCP_ORPHAN_RETRIES=74,
        NET_TCP_ABORT_ON_OVERFLOW=75,
        NET_TCP_SYNACK_RETRIES=76,
        NET_TCP_MAX_ORPHANS=77,
        NET_TCP_MAX_TW_BUCKETS=78,
        NET_TCP_FACK=79,
        NET_TCP_REORDERING=80,
        NET_TCP_ECN=81,
        NET_TCP_DSACK=82,
        NET_TCP_MEM=83,
        NET_TCP_WMEM=84,
        NET_TCP_RMEM=85,
        NET_TCP_APP_WIN=86,
        NET_TCP_ADV_WIN_SCALE=87,
        NET_IPV4_NONLOCAL_BIND=88,
        NET_IPV4_ICMP_RATELIMIT=89,
        NET_IPV4_ICMP_RATEMASK=90,
        NET_TCP_TW_REUSE=91,
        NET_TCP_FRTO=92,
        NET_TCP_LOW_LATENCY=93,
        NET_IPV4_IPFRAG_SECRET_INTERVAL=94,
        NET_TCP_WESTWOOD=95,
        NET_IPV4_IGMP_MAX_MSF=96,
        NET_TCP_NO_METRICS_SAVE=97,
        NET_TCP_VEGAS=98,
        NET_TCP_VEGAS_ALPHA=99,
        NET_TCP_VEGAS_BETA=100,
        NET_TCP_VEGAS_GAMMA=101,
        NET_TCP_BIC=102,
        NET_TCP_BIC_FAST_CONVERGENCE=103,
        NET_TCP_BIC_LOW_WINDOW=104,
        NET_TCP_DEFAULT_WIN_SCALE=105,
        NET_TCP_MODERATE_RCVBUF=106,
        NET_TCP_TSO_WIN_DIVISOR=107,
};

enum {
        NET_IPV4_ROUTE_FLUSH=1,
        NET_IPV4_ROUTE_MIN_DELAY=2,
        NET_IPV4_ROUTE_MAX_DELAY=3,
        NET_IPV4_ROUTE_GC_THRESH=4,
        NET_IPV4_ROUTE_MAX_SIZE=5,
        NET_IPV4_ROUTE_GC_MIN_INTERVAL=6,
        NET_IPV4_ROUTE_GC_TIMEOUT=7,
        NET_IPV4_ROUTE_GC_INTERVAL=8,
        NET_IPV4_ROUTE_REDIRECT_LOAD=9,
        NET_IPV4_ROUTE_REDIRECT_NUMBER=10,
        NET_IPV4_ROUTE_REDIRECT_SILENCE=11,
        NET_IPV4_ROUTE_ERROR_COST=12,
        NET_IPV4_ROUTE_ERROR_BURST=13,
        NET_IPV4_ROUTE_GC_ELASTICITY=14,
        NET_IPV4_ROUTE_MTU_EXPIRES=15,
        NET_IPV4_ROUTE_MIN_PMTU=16,
        NET_IPV4_ROUTE_MIN_ADVMSS=17,
        NET_IPV4_ROUTE_SECRET_INTERVAL=18,
};

enum
{
        NET_PROTO_CONF_ALL=-2,
        NET_PROTO_CONF_DEFAULT=-3


};

enum
{
        NET_IPV4_CONF_FORWARDING=1,
        NET_IPV4_CONF_MC_FORWARDING=2,
        NET_IPV4_CONF_PROXY_ARP=3,
        NET_IPV4_CONF_ACCEPT_REDIRECTS=4,
        NET_IPV4_CONF_SECURE_REDIRECTS=5,
        NET_IPV4_CONF_SEND_REDIRECTS=6,
        NET_IPV4_CONF_SHARED_MEDIA=7,
        NET_IPV4_CONF_RP_FILTER=8,
        NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE=9,
        NET_IPV4_CONF_BOOTP_RELAY=10,
        NET_IPV4_CONF_LOG_MARTIANS=11,
        NET_IPV4_CONF_TAG=12,
        NET_IPV4_CONF_ARPFILTER=13,
        NET_IPV4_CONF_MEDIUM_ID=14,
        NET_IPV4_CONF_NOXFRM=15,
        NET_IPV4_CONF_NOPOLICY=16,
        NET_IPV4_CONF_FORCE_IGMP_VERSION=17,
        NET_IPV4_CONF_ARP_ANNOUNCE=18,
        NET_IPV4_CONF_ARP_IGNORE=19,
};


enum
{
        NET_IPV4_NF_CONNTRACK_MAX=1,
        NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT=2,
        NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV=3,
        NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED=4,
        NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT=5,
        NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT=6,
        NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK=7,
        NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT=8,
        NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE=9,
        NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT=10,
        NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT_STREAM=11,
        NET_IPV4_NF_CONNTRACK_ICMP_TIMEOUT=12,
        NET_IPV4_NF_CONNTRACK_GENERIC_TIMEOUT=13,
        NET_IPV4_NF_CONNTRACK_BUCKETS=14,
        NET_IPV4_NF_CONNTRACK_LOG_INVALID=15,
        NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS=16,
        NET_IPV4_NF_CONNTRACK_TCP_LOOSE=17,
        NET_IPV4_NF_CONNTRACK_TCP_BE_LIBERAL=18,
        NET_IPV4_NF_CONNTRACK_TCP_MAX_RETRANS=19,
        NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED=20,
        NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT=21,
        NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED=22,
        NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED=23,
        NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT=24,
        NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD=25,
        NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT=26,
        NET_IPV4_NF_CONNTRACK_COUNT=27,
};


enum {
        NET_IPV6_CONF=16,
        NET_IPV6_NEIGH=17,
        NET_IPV6_ROUTE=18,
        NET_IPV6_ICMP=19,
        NET_IPV6_BINDV6ONLY=20,
        NET_IPV6_IP6FRAG_HIGH_THRESH=21,
        NET_IPV6_IP6FRAG_LOW_THRESH=22,
        NET_IPV6_IP6FRAG_TIME=23,
        NET_IPV6_IP6FRAG_SECRET_INTERVAL=24,
        NET_IPV6_MLD_MAX_MSF=25,
};

enum {
        NET_IPV6_ROUTE_FLUSH=1,
        NET_IPV6_ROUTE_GC_THRESH=2,
        NET_IPV6_ROUTE_MAX_SIZE=3,
        NET_IPV6_ROUTE_GC_MIN_INTERVAL=4,
        NET_IPV6_ROUTE_GC_TIMEOUT=5,
        NET_IPV6_ROUTE_GC_INTERVAL=6,
        NET_IPV6_ROUTE_GC_ELASTICITY=7,
        NET_IPV6_ROUTE_MTU_EXPIRES=8,
        NET_IPV6_ROUTE_MIN_ADVMSS=9
};

enum {
        NET_IPV6_FORWARDING=1,
        NET_IPV6_HOP_LIMIT=2,
        NET_IPV6_MTU=3,
        NET_IPV6_ACCEPT_RA=4,
        NET_IPV6_ACCEPT_REDIRECTS=5,
        NET_IPV6_AUTOCONF=6,
        NET_IPV6_DAD_TRANSMITS=7,
        NET_IPV6_RTR_SOLICITS=8,
        NET_IPV6_RTR_SOLICIT_INTERVAL=9,
        NET_IPV6_RTR_SOLICIT_DELAY=10,
        NET_IPV6_USE_TEMPADDR=11,
        NET_IPV6_TEMP_VALID_LFT=12,
        NET_IPV6_TEMP_PREFERED_LFT=13,
        NET_IPV6_REGEN_MAX_RETRY=14,
        NET_IPV6_MAX_DESYNC_FACTOR=15,
        NET_IPV6_MAX_ADDRESSES=16,
        NET_IPV6_FORCE_MLD_VERSION=17
};


enum {
        NET_IPV6_ICMP_RATELIMIT=1
};


enum {
        NET_NEIGH_MCAST_SOLICIT=1,
        NET_NEIGH_UCAST_SOLICIT=2,
        NET_NEIGH_APP_SOLICIT=3,
        NET_NEIGH_RETRANS_TIME=4,
        NET_NEIGH_REACHABLE_TIME=5,
        NET_NEIGH_DELAY_PROBE_TIME=6,
        NET_NEIGH_GC_STALE_TIME=7,
        NET_NEIGH_UNRES_QLEN=8,
        NET_NEIGH_PROXY_QLEN=9,
        NET_NEIGH_ANYCAST_DELAY=10,
        NET_NEIGH_PROXY_DELAY=11,
        NET_NEIGH_LOCKTIME=12,
        NET_NEIGH_GC_INTERVAL=13,
        NET_NEIGH_GC_THRESH1=14,
        NET_NEIGH_GC_THRESH2=15,
        NET_NEIGH_GC_THRESH3=16
};


enum {
        NET_IPX_PPROP_BROADCASTING=1,
        NET_IPX_FORWARDING=2
};



enum {
        NET_ATALK_AARP_EXPIRY_TIME=1,
        NET_ATALK_AARP_TICK_TIME=2,
        NET_ATALK_AARP_RETRANSMIT_LIMIT=3,
        NET_ATALK_AARP_RESOLVE_TIME=4
};



enum {
        NET_NETROM_DEFAULT_PATH_QUALITY=1,
        NET_NETROM_OBSOLESCENCE_COUNT_INITIALISER=2,
        NET_NETROM_NETWORK_TTL_INITIALISER=3,
        NET_NETROM_TRANSPORT_TIMEOUT=4,
        NET_NETROM_TRANSPORT_MAXIMUM_TRIES=5,
        NET_NETROM_TRANSPORT_ACKNOWLEDGE_DELAY=6,
        NET_NETROM_TRANSPORT_BUSY_DELAY=7,
        NET_NETROM_TRANSPORT_REQUESTED_WINDOW_SIZE=8,
        NET_NETROM_TRANSPORT_NO_ACTIVITY_TIMEOUT=9,
        NET_NETROM_ROUTING_CONTROL=10,
        NET_NETROM_LINK_FAILS_COUNT=11
};


enum {
        NET_AX25_IP_DEFAULT_MODE=1,
        NET_AX25_DEFAULT_MODE=2,
        NET_AX25_BACKOFF_TYPE=3,
        NET_AX25_CONNECT_MODE=4,
        NET_AX25_STANDARD_WINDOW=5,
        NET_AX25_EXTENDED_WINDOW=6,
        NET_AX25_T1_TIMEOUT=7,
        NET_AX25_T2_TIMEOUT=8,
        NET_AX25_T3_TIMEOUT=9,
        NET_AX25_IDLE_TIMEOUT=10,
        NET_AX25_N2=11,
        NET_AX25_PACLEN=12,
        NET_AX25_PROTOCOL=13,
        NET_AX25_DAMA_SLAVE_TIMEOUT=14
};


enum {
        NET_ROSE_RESTART_REQUEST_TIMEOUT=1,
        NET_ROSE_CALL_REQUEST_TIMEOUT=2,
        NET_ROSE_RESET_REQUEST_TIMEOUT=3,
        NET_ROSE_CLEAR_REQUEST_TIMEOUT=4,
        NET_ROSE_ACK_HOLD_BACK_TIMEOUT=5,
        NET_ROSE_ROUTING_CONTROL=6,
        NET_ROSE_LINK_FAIL_TIMEOUT=7,
        NET_ROSE_MAX_VCS=8,
        NET_ROSE_WINDOW_SIZE=9,
        NET_ROSE_NO_ACTIVITY_TIMEOUT=10
};


enum {
        NET_X25_RESTART_REQUEST_TIMEOUT=1,
        NET_X25_CALL_REQUEST_TIMEOUT=2,
        NET_X25_RESET_REQUEST_TIMEOUT=3,
        NET_X25_CLEAR_REQUEST_TIMEOUT=4,
        NET_X25_ACK_HOLD_BACK_TIMEOUT=5
};


enum
{
        NET_TR_RIF_TIMEOUT=1
};


enum {
        NET_DECNET_NODE_TYPE = 1,
        NET_DECNET_NODE_ADDRESS = 2,
        NET_DECNET_NODE_NAME = 3,
        NET_DECNET_DEFAULT_DEVICE = 4,
        NET_DECNET_TIME_WAIT = 5,
        NET_DECNET_DN_COUNT = 6,
        NET_DECNET_DI_COUNT = 7,
        NET_DECNET_DR_COUNT = 8,
        NET_DECNET_DST_GC_INTERVAL = 9,
        NET_DECNET_CONF = 10,
        NET_DECNET_NO_FC_MAX_CWND = 11,
        NET_DECNET_DEBUG_LEVEL = 255
};


enum {
        NET_DECNET_CONF_LOOPBACK = -2,
        NET_DECNET_CONF_DDCMP = -3,
        NET_DECNET_CONF_PPP = -4,
        NET_DECNET_CONF_X25 = -5,
        NET_DECNET_CONF_GRE = -6,
        NET_DECNET_CONF_ETHER = -7


};


enum {
        NET_DECNET_CONF_DEV_PRIORITY = 1,
        NET_DECNET_CONF_DEV_T1 = 2,
        NET_DECNET_CONF_DEV_T2 = 3,
        NET_DECNET_CONF_DEV_T3 = 4,
        NET_DECNET_CONF_DEV_FORWARDING = 5,
        NET_DECNET_CONF_DEV_BLKSIZE = 6,
        NET_DECNET_CONF_DEV_STATE = 7
};


enum {
        NET_SCTP_RTO_INITIAL = 1,
        NET_SCTP_RTO_MIN = 2,
        NET_SCTP_RTO_MAX = 3,
        NET_SCTP_RTO_ALPHA = 4,
        NET_SCTP_RTO_BETA = 5,
        NET_SCTP_VALID_COOKIE_LIFE = 6,
        NET_SCTP_ASSOCIATION_MAX_RETRANS = 7,
        NET_SCTP_PATH_MAX_RETRANS = 8,
        NET_SCTP_MAX_INIT_RETRANSMITS = 9,
        NET_SCTP_HB_INTERVAL = 10,
        NET_SCTP_PRESERVE_ENABLE = 11,
        NET_SCTP_MAX_BURST = 12,
        NET_SCTP_ADDIP_ENABLE = 13,
        NET_SCTP_PRSCTP_ENABLE = 14,
};


enum {
        NET_BRIDGE_NF_CALL_ARPTABLES = 1,
        NET_BRIDGE_NF_CALL_IPTABLES = 2,
        NET_BRIDGE_NF_CALL_IP6TABLES = 3,
        NET_BRIDGE_NF_FILTER_VLAN_TAGGED = 4,
};




enum
{
        FS_NRINODE=1,
        FS_STATINODE=2,
        FS_MAXINODE=3,
        FS_NRDQUOT=4,
        FS_MAXDQUOT=5,
        FS_NRFILE=6,
        FS_MAXFILE=7,
        FS_DENTRY=8,
        FS_NRSUPER=9,
        FS_MAXSUPER=10,
        FS_OVERFLOWUID=11,
        FS_OVERFLOWGID=12,
        FS_LEASES=13,
        FS_DIR_NOTIFY=14,
        FS_LEASE_TIME=15,
        FS_DQSTATS=16,
        FS_XFS=17,
        FS_AIO_NR=18,
        FS_AIO_MAX_NR=19,
};


enum {
        FS_DQ_LOOKUPS = 1,
        FS_DQ_DROPS = 2,
        FS_DQ_READS = 3,
        FS_DQ_WRITES = 4,
        FS_DQ_CACHE_HITS = 5,
        FS_DQ_ALLOCATED = 6,
        FS_DQ_FREE = 7,
        FS_DQ_SYNCS = 8,
};




enum {
        DEV_CDROM=1,
        DEV_HWMON=2,
        DEV_PARPORT=3,
        DEV_RAID=4,
        DEV_MAC_HID=5,
        DEV_SCSI=6,
};


enum {
        DEV_CDROM_INFO=1,
        DEV_CDROM_AUTOCLOSE=2,
        DEV_CDROM_AUTOEJECT=3,
        DEV_CDROM_DEBUG=4,
        DEV_CDROM_LOCK=5,
        DEV_CDROM_CHECK_MEDIA=6
};


enum {
        DEV_PARPORT_DEFAULT=-3
};


enum {
        DEV_RAID_SPEED_LIMIT_MIN=1,
        DEV_RAID_SPEED_LIMIT_MAX=2
};


enum {
        DEV_PARPORT_DEFAULT_TIMESLICE=1,
        DEV_PARPORT_DEFAULT_SPINTIME=2
};


enum {
        DEV_PARPORT_SPINTIME=1,
        DEV_PARPORT_BASE_ADDR=2,
        DEV_PARPORT_IRQ=3,
        DEV_PARPORT_DMA=4,
        DEV_PARPORT_MODES=5,
        DEV_PARPORT_DEVICES=6,
        DEV_PARPORT_AUTOPROBE=16
};


enum {
        DEV_PARPORT_DEVICES_ACTIVE=-3,
};


enum {
        DEV_PARPORT_DEVICE_TIMESLICE=1,
};


enum {
        DEV_MAC_HID_KEYBOARD_SENDS_LINUX_KEYCODES=1,
        DEV_MAC_HID_KEYBOARD_LOCK_KEYCODES=2,
        DEV_MAC_HID_MOUSE_BUTTON_EMULATION=3,
        DEV_MAC_HID_MOUSE_BUTTON2_KEYCODE=4,
        DEV_MAC_HID_MOUSE_BUTTON3_KEYCODE=5,
        DEV_MAC_HID_ADB_MOUSE_SENDS_KEYCODES=6
};


enum {
        DEV_SCSI_LOGGING_LEVEL=1,
};


enum
{
        ABI_DEFHANDLER_COFF=1,
        ABI_DEFHANDLER_ELF=2,
        ABI_DEFHANDLER_LCALL7=3,
        ABI_DEFHANDLER_LIBCSO=4,
        ABI_TRACE=5,
        ABI_FAKE_UTSNAME=6,
};
# 29 "/usr/local/arm-linux.org/arm-linux/include/sys/sysctl.h" 2 3


extern int sysctl (int *__name, int __nlen, void *__oldval,
                   size_t *__oldlenp, void *__newval, size_t __newlen) ;


# 46 "setkey.c" 2
# 1 "/usr/local/arm-linux.org/arm-linux/include/err.h" 1 3
# 26 "/usr/local/arm-linux.org/arm-linux/include/err.h" 3
# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stdarg.h" 1 3 4
# 43 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stdarg.h" 3 4
typedef __builtin_va_list __gnuc_va_list;
# 27 "/usr/local/arm-linux.org/arm-linux/include/err.h" 2 3








extern void warn (__const char *__format, ...)
     __attribute__ ((__format__ (__printf__, 1, 2)));
extern void vwarn (__const char *__format, __gnuc_va_list)
     __attribute__ ((__format__ (__printf__, 1, 0)));


extern void warnx (__const char *__format, ...)
     __attribute__ ((__format__ (__printf__, 1, 2)));
extern void vwarnx (__const char *__format, __gnuc_va_list)
     __attribute__ ((__format__ (__printf__, 1, 0)));


extern void err (int __status, __const char *__format, ...)
     __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3)));
extern void verr (int __status, __const char *__format, __gnuc_va_list)
     __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));
extern void errx (int __status, __const char *__format, ...)
     __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3)));
extern void verrx (int __status, __const char *, __gnuc_va_list)
     __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0)));


# 47 "setkey.c" 2
# 1 "/usr/local/arm-linux.org/arm-linux/include/netinet/in.h" 1 3
# 23 "/usr/local/arm-linux.org/arm-linux/include/netinet/in.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/stdint.h" 1 3
# 27 "/usr/local/arm-linux.org/arm-linux/include/stdint.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/wchar.h" 1 3
# 28 "/usr/local/arm-linux.org/arm-linux/include/stdint.h" 2 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/wordsize.h" 1 3
# 29 "/usr/local/arm-linux.org/arm-linux/include/stdint.h" 2 3
# 49 "/usr/local/arm-linux.org/arm-linux/include/stdint.h" 3
typedef unsigned char uint8_t;
typedef unsigned short int uint16_t;

typedef unsigned int uint32_t;





__extension__
typedef unsigned long long int uint64_t;






typedef signed char int_least8_t;
typedef short int int_least16_t;
typedef int int_least32_t;



__extension__
typedef long long int int_least64_t;



typedef unsigned char uint_least8_t;
typedef unsigned short int uint_least16_t;
typedef unsigned int uint_least32_t;



__extension__
typedef unsigned long long int uint_least64_t;






typedef signed char int_fast8_t;





typedef int int_fast16_t;
typedef int int_fast32_t;
__extension__
typedef long long int int_fast64_t;



typedef unsigned char uint_fast8_t;





typedef unsigned int uint_fast16_t;
typedef unsigned int uint_fast32_t;
__extension__
typedef unsigned long long int uint_fast64_t;
# 126 "/usr/local/arm-linux.org/arm-linux/include/stdint.h" 3
typedef int intptr_t;


typedef unsigned int uintptr_t;
# 138 "/usr/local/arm-linux.org/arm-linux/include/stdint.h" 3
__extension__
typedef long long int intmax_t;
__extension__
typedef unsigned long long int uintmax_t;
# 24 "/usr/local/arm-linux.org/arm-linux/include/netinet/in.h" 2 3






enum
  {
    IPPROTO_IP = 0,

    IPPROTO_HOPOPTS = 0,

    IPPROTO_ICMP = 1,

    IPPROTO_IGMP = 2,

    IPPROTO_IPIP = 4,

    IPPROTO_TCP = 6,

    IPPROTO_EGP = 8,

    IPPROTO_PUP = 12,

    IPPROTO_UDP = 17,

    IPPROTO_IDP = 22,

    IPPROTO_TP = 29,

    IPPROTO_IPV6 = 41,

    IPPROTO_ROUTING = 43,

    IPPROTO_FRAGMENT = 44,

    IPPROTO_RSVP = 46,

    IPPROTO_GRE = 47,

    IPPROTO_ESP = 50,

    IPPROTO_AH = 51,

    IPPROTO_ICMPV6 = 58,

    IPPROTO_NONE = 59,

    IPPROTO_DSTOPTS = 60,

    IPPROTO_MTP = 92,

    IPPROTO_ENCAP = 98,

    IPPROTO_PIM = 103,

    IPPROTO_COMP = 108,

    IPPROTO_RAW = 255,

    IPPROTO_MAX
  };



typedef uint16_t in_port_t;


enum
  {
    IPPORT_ECHO = 7,
    IPPORT_DISCARD = 9,
    IPPORT_SYSTAT = 11,
    IPPORT_DAYTIME = 13,
    IPPORT_NETSTAT = 15,
    IPPORT_FTP = 21,
    IPPORT_TELNET = 23,
    IPPORT_SMTP = 25,
    IPPORT_TIMESERVER = 37,
    IPPORT_NAMESERVER = 42,
    IPPORT_WHOIS = 43,
    IPPORT_MTP = 57,

    IPPORT_TFTP = 69,
    IPPORT_RJE = 77,
    IPPORT_FINGER = 79,
    IPPORT_TTYLINK = 87,
    IPPORT_SUPDUP = 95,


    IPPORT_EXECSERVER = 512,
    IPPORT_LOGINSERVER = 513,
    IPPORT_CMDSERVER = 514,
    IPPORT_EFSSERVER = 520,


    IPPORT_BIFFUDP = 512,
    IPPORT_WHOSERVER = 513,
    IPPORT_ROUTESERVER = 520,


    IPPORT_RESERVED = 1024,


    IPPORT_USERRESERVED = 5000
  };



typedef uint32_t in_addr_t;
struct in_addr
  {
    in_addr_t s_addr;
  };
# 190 "/usr/local/arm-linux.org/arm-linux/include/netinet/in.h" 3
struct in6_addr
  {
    union
      {
        uint8_t u6_addr8[16];
        uint16_t u6_addr16[8];
        uint32_t u6_addr32[4];
      } in6_u;



  };

extern const struct in6_addr in6addr_any;
extern const struct in6_addr in6addr_loopback;
# 216 "/usr/local/arm-linux.org/arm-linux/include/netinet/in.h" 3
struct sockaddr_in
  {
    sa_family_t sin_family;
    in_port_t sin_port;
    struct in_addr sin_addr;


    unsigned char sin_zero[sizeof (struct sockaddr) -
                           (sizeof (unsigned short int)) -
                           sizeof (in_port_t) -
                           sizeof (struct in_addr)];
  };


struct sockaddr_in6
  {
    sa_family_t sin6_family;
    in_port_t sin6_port;
    uint32_t sin6_flowinfo;
    struct in6_addr sin6_addr;
    uint32_t sin6_scope_id;
  };


struct ipv6_mreq
  {

    struct in6_addr ipv6mr_multiaddr;


    unsigned int ipv6mr_interface;
  };


# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/in.h" 1 3
# 66 "/usr/local/arm-linux.org/arm-linux/include/bits/in.h" 3
struct ip_opts
  {
    struct in_addr ip_dst;
    char ip_opts[40];
  };


struct ip_mreq
  {
    struct in_addr imr_multiaddr;
    struct in_addr imr_interface;
  };


struct ip_mreqn
  {
    struct in_addr imr_multiaddr;
    struct in_addr imr_address;
    int imr_ifindex;
  };


struct in_pktinfo
  {
    int ipi_ifindex;
    struct in_addr ipi_spec_dst;
    struct in_addr ipi_addr;
  };
# 251 "/usr/local/arm-linux.org/arm-linux/include/netinet/in.h" 2 3






extern uint32_t ntohl(uint32_t __netlong) __attribute__ ((__const__));
extern uint16_t ntohs(uint16_t __netshort) __attribute__ ((__const__));
extern uint32_t htonl(uint32_t __hostlong) __attribute__ ((__const__));
extern uint16_t htons(uint16_t __hostshort) __attribute__ ((__const__));




# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/byteswap.h" 1 3
# 266 "/usr/local/arm-linux.org/arm-linux/include/netinet/in.h" 2 3
# 328 "/usr/local/arm-linux.org/arm-linux/include/netinet/in.h" 3
extern int bindresvport (int __sockfd, struct sockaddr_in *__sock_in) ;


extern int bindresvport6 (int __sockfd, struct sockaddr_in6 *__sock_in)
     ;
# 356 "/usr/local/arm-linux.org/arm-linux/include/netinet/in.h" 3
struct in6_pktinfo
  {
    struct in6_addr ipi6_addr;
    unsigned int ipi6_ifindex;
  };


# 48 "setkey.c" 2
# 1 "../../src/include-glibc/net/pfkeyv2.h" 1






# 1 "../../src/include-glibc/linux/pfkeyv2.h" 1
# 14 "../../src/include-glibc/linux/pfkeyv2.h"
struct sadb_msg {
        uint8_t sadb_msg_version;
        uint8_t sadb_msg_type;
        uint8_t sadb_msg_errno;
        uint8_t sadb_msg_satype;
        uint16_t sadb_msg_len;
        uint16_t sadb_msg_reserved;
        uint32_t sadb_msg_seq;
        uint32_t sadb_msg_pid;
} __attribute__((packed));


struct sadb_ext {
        uint16_t sadb_ext_len;
        uint16_t sadb_ext_type;
} __attribute__((packed));


struct sadb_sa {
        uint16_t sadb_sa_len;
        uint16_t sadb_sa_exttype;
        uint32_t sadb_sa_spi;
        uint8_t sadb_sa_replay;
        uint8_t sadb_sa_state;
        uint8_t sadb_sa_auth;
        uint8_t sadb_sa_encrypt;
        uint32_t sadb_sa_flags;
} __attribute__((packed));


struct sadb_lifetime {
        uint16_t sadb_lifetime_len;
        uint16_t sadb_lifetime_exttype;
        uint32_t sadb_lifetime_allocations;
        uint64_t sadb_lifetime_bytes;
        uint64_t sadb_lifetime_addtime;
        uint64_t sadb_lifetime_usetime;
} __attribute__((packed));


struct sadb_address {
        uint16_t sadb_address_len;
        uint16_t sadb_address_exttype;
        uint8_t sadb_address_proto;
        uint8_t sadb_address_prefixlen;
        uint16_t sadb_address_reserved;
} __attribute__((packed));


struct sadb_key {
        uint16_t sadb_key_len;
        uint16_t sadb_key_exttype;
        uint16_t sadb_key_bits;
        uint16_t sadb_key_reserved;
} __attribute__((packed));


struct sadb_ident {
        uint16_t sadb_ident_len;
        uint16_t sadb_ident_exttype;
        uint16_t sadb_ident_type;
        uint16_t sadb_ident_reserved;
        uint64_t sadb_ident_id;
} __attribute__((packed));


struct sadb_sens {
        uint16_t sadb_sens_len;
        uint16_t sadb_sens_exttype;
        uint32_t sadb_sens_dpd;
        uint8_t sadb_sens_sens_level;
        uint8_t sadb_sens_sens_len;
        uint8_t sadb_sens_integ_level;
        uint8_t sadb_sens_integ_len;
        uint32_t sadb_sens_reserved;
} __attribute__((packed));






struct sadb_prop {
        uint16_t sadb_prop_len;
        uint16_t sadb_prop_exttype;
        uint8_t sadb_prop_replay;
        uint8_t sadb_prop_reserved[3];
} __attribute__((packed));







struct sadb_comb {
        uint8_t sadb_comb_auth;
        uint8_t sadb_comb_encrypt;
        uint16_t sadb_comb_flags;
        uint16_t sadb_comb_auth_minbits;
        uint16_t sadb_comb_auth_maxbits;
        uint16_t sadb_comb_encrypt_minbits;
        uint16_t sadb_comb_encrypt_maxbits;
        uint32_t sadb_comb_reserved;
        uint32_t sadb_comb_soft_allocations;
        uint32_t sadb_comb_hard_allocations;
        uint64_t sadb_comb_soft_bytes;
        uint64_t sadb_comb_hard_bytes;
        uint64_t sadb_comb_soft_addtime;
        uint64_t sadb_comb_hard_addtime;
        uint64_t sadb_comb_soft_usetime;
        uint64_t sadb_comb_hard_usetime;
} __attribute__((packed));


struct sadb_supported {
        uint16_t sadb_supported_len;
        uint16_t sadb_supported_exttype;
        uint32_t sadb_supported_reserved;
} __attribute__((packed));







struct sadb_alg {
        uint8_t sadb_alg_id;
        uint8_t sadb_alg_ivlen;
        uint16_t sadb_alg_minbits;
        uint16_t sadb_alg_maxbits;
        uint16_t sadb_alg_reserved;
} __attribute__((packed));


struct sadb_spirange {
        uint16_t sadb_spirange_len;
        uint16_t sadb_spirange_exttype;
        uint32_t sadb_spirange_min;
        uint32_t sadb_spirange_max;
        uint32_t sadb_spirange_reserved;
} __attribute__((packed));


struct sadb_x_kmprivate {
        uint16_t sadb_x_kmprivate_len;
        uint16_t sadb_x_kmprivate_exttype;
        u_int32_t sadb_x_kmprivate_reserved;
} __attribute__((packed));


struct sadb_x_sa2 {
        uint16_t sadb_x_sa2_len;
        uint16_t sadb_x_sa2_exttype;
        uint8_t sadb_x_sa2_mode;
        uint8_t sadb_x_sa2_reserved1;
        uint16_t sadb_x_sa2_reserved2;
        uint32_t sadb_x_sa2_sequence;
        uint32_t sadb_x_sa2_reqid;
} __attribute__((packed));


struct sadb_x_policy {
        uint16_t sadb_x_policy_len;
        uint16_t sadb_x_policy_exttype;
        uint16_t sadb_x_policy_type;
        uint8_t sadb_x_policy_dir;
        uint8_t sadb_x_policy_reserved;
        uint32_t sadb_x_policy_id;
        uint32_t sadb_x_policy_priority;
} __attribute__((packed));


struct sadb_x_ipsecrequest {
        uint16_t sadb_x_ipsecrequest_len;
        uint16_t sadb_x_ipsecrequest_proto;
        uint8_t sadb_x_ipsecrequest_mode;
        uint8_t sadb_x_ipsecrequest_level;
        uint16_t sadb_x_ipsecrequest_reserved1;
        uint32_t sadb_x_ipsecrequest_reqid;
        uint32_t sadb_x_ipsecrequest_reserved2;
} __attribute__((packed));





struct sadb_x_nat_t_type {
        uint16_t sadb_x_nat_t_type_len;
        uint16_t sadb_x_nat_t_type_exttype;
        uint8_t sadb_x_nat_t_type_type;
        uint8_t sadb_x_nat_t_type_reserved[3];
} __attribute__((packed));



struct sadb_x_nat_t_port {
        uint16_t sadb_x_nat_t_port_len;
        uint16_t sadb_x_nat_t_port_exttype;
        uint16_t sadb_x_nat_t_port_port;
        uint16_t sadb_x_nat_t_port_reserved;
} __attribute__((packed));
# 8 "../../src/include-glibc/net/pfkeyv2.h" 2
# 49 "setkey.c" 2
# 1 "../../src/include-glibc/netinet/ipsec.h" 1



# 1 "../../src/include-glibc/linux/ipsec.h" 1
# 12 "../../src/include-glibc/linux/ipsec.h"
enum {
        IPSEC_MODE_ANY = 0,
        IPSEC_MODE_TRANSPORT = 1,
        IPSEC_MODE_TUNNEL = 2
};

enum {
        IPSEC_DIR_ANY = 0,
        IPSEC_DIR_INBOUND = 1,
        IPSEC_DIR_OUTBOUND = 2,
        IPSEC_DIR_FWD = 3,
        IPSEC_DIR_MAX = 4,
        IPSEC_DIR_INVALID = 5
};

enum {
        IPSEC_POLICY_DISCARD = 0,
        IPSEC_POLICY_NONE = 1,
        IPSEC_POLICY_IPSEC = 2,
        IPSEC_POLICY_ENTRUST = 3,
        IPSEC_POLICY_BYPASS = 4
};

enum {
        IPSEC_LEVEL_DEFAULT = 0,
        IPSEC_LEVEL_USE = 1,
        IPSEC_LEVEL_REQUIRE = 2,
        IPSEC_LEVEL_UNIQUE = 3
};
# 5 "../../src/include-glibc/netinet/ipsec.h" 2
# 50 "setkey.c" 2

# 1 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 1 3
# 30 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3




# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 1 3 4
# 35 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 2 3
# 45 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
typedef struct _IO_FILE FILE;
# 55 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
typedef struct _IO_FILE __FILE;
# 65 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/libio.h" 1 3
# 32 "/usr/local/arm-linux.org/arm-linux/include/libio.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/_G_config.h" 1 3
# 14 "/usr/local/arm-linux.org/arm-linux/include/_G_config.h" 3
# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 1 3 4
# 325 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 3 4
typedef long int wchar_t;
# 354 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 3 4
typedef unsigned int wint_t;
# 15 "/usr/local/arm-linux.org/arm-linux/include/_G_config.h" 2 3
# 24 "/usr/local/arm-linux.org/arm-linux/include/_G_config.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/wchar.h" 1 3
# 48 "/usr/local/arm-linux.org/arm-linux/include/wchar.h" 3
# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 1 3 4
# 49 "/usr/local/arm-linux.org/arm-linux/include/wchar.h" 2 3
# 67 "/usr/local/arm-linux.org/arm-linux/include/wchar.h" 3
typedef struct
{
  int __count;
  union
  {
    wint_t __wch;
    char __wchb[4];
  } __value;
} __mbstate_t;
# 25 "/usr/local/arm-linux.org/arm-linux/include/_G_config.h" 2 3

typedef struct
{
  __off_t __pos;
  __mbstate_t __state;
} _G_fpos_t;
typedef struct
{
  __off64_t __pos;
  __mbstate_t __state;
} _G_fpos64_t;
# 44 "/usr/local/arm-linux.org/arm-linux/include/_G_config.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/gconv.h" 1 3
# 28 "/usr/local/arm-linux.org/arm-linux/include/gconv.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/wchar.h" 1 3
# 48 "/usr/local/arm-linux.org/arm-linux/include/wchar.h" 3
# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 1 3 4
# 49 "/usr/local/arm-linux.org/arm-linux/include/wchar.h" 2 3
# 29 "/usr/local/arm-linux.org/arm-linux/include/gconv.h" 2 3


# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 1 3 4
# 32 "/usr/local/arm-linux.org/arm-linux/include/gconv.h" 2 3





enum
{
  __GCONV_OK = 0,
  __GCONV_NOCONV,
  __GCONV_NODB,
  __GCONV_NOMEM,

  __GCONV_EMPTY_INPUT,
  __GCONV_FULL_OUTPUT,
  __GCONV_ILLEGAL_INPUT,
  __GCONV_INCOMPLETE_INPUT,

  __GCONV_ILLEGAL_DESCRIPTOR,
  __GCONV_INTERNAL_ERROR
};



enum
{
  __GCONV_IS_LAST = 0x0001,
  __GCONV_IGNORE_ERRORS = 0x0002
};



struct __gconv_step;
struct __gconv_step_data;
struct __gconv_loaded_object;
struct __gconv_trans_data;



typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *,
                            __const unsigned char **, __const unsigned char *,
                            unsigned char **, size_t *, int, int);


typedef int (*__gconv_init_fct) (struct __gconv_step *);
typedef void (*__gconv_end_fct) (struct __gconv_step *);



typedef int (*__gconv_trans_fct) (struct __gconv_step *,
                                  struct __gconv_step_data *, void *,
                                  __const unsigned char *,
                                  __const unsigned char **,
                                  __const unsigned char *, unsigned char **,
                                  size_t *);


typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *,
                                          __const unsigned char *,
                                          unsigned char *, unsigned char *);


typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***,
                                        size_t *);


typedef int (*__gconv_trans_init_fct) (void **, const char *);
typedef void (*__gconv_trans_end_fct) (void *);

struct __gconv_trans_data
{

  __gconv_trans_fct __trans_fct;
  __gconv_trans_context_fct __trans_context_fct;
  __gconv_trans_end_fct __trans_end_fct;
  void *__data;
  struct __gconv_trans_data *__next;
};



struct __gconv_step
{
  struct __gconv_loaded_object *__shlib_handle;
  __const char *__modname;

  int __counter;

  char *__from_name;
  char *__to_name;

  __gconv_fct __fct;
  __gconv_init_fct __init_fct;
  __gconv_end_fct __end_fct;



  int __min_needed_from;
  int __max_needed_from;
  int __min_needed_to;
  int __max_needed_to;


  int __stateful;

  void *__data;
};



struct __gconv_step_data
{
  unsigned char *__outbuf;
  unsigned char *__outbufend;



  int __flags;



  int __invocation_counter;



  int __internal_use;

  __mbstate_t *__statep;
  __mbstate_t __state;



  struct __gconv_trans_data *__trans;
};



typedef struct __gconv_info
{
  size_t __nsteps;
  struct __gconv_step *__steps;
  __extension__ struct __gconv_step_data __data [];
} *__gconv_t;
# 45 "/usr/local/arm-linux.org/arm-linux/include/_G_config.h" 2 3
typedef union
{
  struct __gconv_info __cd;
  struct
  {
    struct __gconv_info __cd;
    struct __gconv_step_data __data;
  } __combined;
} _G_iconv_t;

typedef int _G_int16_t __attribute__ ((__mode__ (__HI__)));
typedef int _G_int32_t __attribute__ ((__mode__ (__SI__)));
typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__)));
typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
# 33 "/usr/local/arm-linux.org/arm-linux/include/libio.h" 2 3
# 53 "/usr/local/arm-linux.org/arm-linux/include/libio.h" 3
# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stdarg.h" 1 3 4
# 54 "/usr/local/arm-linux.org/arm-linux/include/libio.h" 2 3
# 160 "/usr/local/arm-linux.org/arm-linux/include/libio.h" 3
struct _IO_jump_t; struct _IO_FILE;
# 170 "/usr/local/arm-linux.org/arm-linux/include/libio.h" 3
typedef void _IO_lock_t;





struct _IO_marker {
  struct _IO_marker *_next;
  struct _IO_FILE *_sbuf;



  int _pos;
# 193 "/usr/local/arm-linux.org/arm-linux/include/libio.h" 3
};


enum __codecvt_result
{
  __codecvt_ok,
  __codecvt_partial,
  __codecvt_error,
  __codecvt_noconv
};
# 261 "/usr/local/arm-linux.org/arm-linux/include/libio.h" 3
struct _IO_FILE {
  int _flags;




  char* _IO_read_ptr;
  char* _IO_read_end;
  char* _IO_read_base;
  char* _IO_write_base;
  char* _IO_write_ptr;
  char* _IO_write_end;
  char* _IO_buf_base;
  char* _IO_buf_end;

  char *_IO_save_base;
  char *_IO_backup_base;
  char *_IO_save_end;

  struct _IO_marker *_markers;

  struct _IO_FILE *_chain;

  int _fileno;
  int _blksize;
  __off_t _old_offset;



  unsigned short _cur_column;
  signed char _vtable_offset;
  char _shortbuf[1];



  _IO_lock_t *_lock;
# 305 "/usr/local/arm-linux.org/arm-linux/include/libio.h" 3
  __off64_t _offset;





  void *__pad1;
  void *__pad2;

  int _mode;

  char _unused2[15 * sizeof (int) - 2 * sizeof (void *)];

};


typedef struct _IO_FILE _IO_FILE;


struct _IO_FILE_plus;

extern struct _IO_FILE_plus _IO_2_1_stdin_;
extern struct _IO_FILE_plus _IO_2_1_stdout_;
extern struct _IO_FILE_plus _IO_2_1_stderr_;
# 344 "/usr/local/arm-linux.org/arm-linux/include/libio.h" 3
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);







typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf,
                                 size_t __n);







typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w);


typedef int __io_close_fn (void *__cookie);
# 396 "/usr/local/arm-linux.org/arm-linux/include/libio.h" 3
extern int __underflow (_IO_FILE *) ;
extern int __uflow (_IO_FILE *) ;
extern int __overflow (_IO_FILE *, int) ;
extern wint_t __wunderflow (_IO_FILE *) ;
extern wint_t __wuflow (_IO_FILE *) ;
extern wint_t __woverflow (_IO_FILE *, wint_t) ;
# 426 "/usr/local/arm-linux.org/arm-linux/include/libio.h" 3
extern int _IO_getc (_IO_FILE *__fp) ;
extern int _IO_putc (int __c, _IO_FILE *__fp) ;
extern int _IO_feof (_IO_FILE *__fp) ;
extern int _IO_ferror (_IO_FILE *__fp) ;

extern int _IO_peekc_locked (_IO_FILE *__fp) ;





extern void _IO_flockfile (_IO_FILE *) ;
extern void _IO_funlockfile (_IO_FILE *) ;
extern int _IO_ftrylockfile (_IO_FILE *) ;
# 456 "/usr/local/arm-linux.org/arm-linux/include/libio.h" 3
extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict,
                        __gnuc_va_list, int *__restrict) ;
extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict,
                         __gnuc_va_list) ;
extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) ;
extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) ;

extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) ;
extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) ;

extern void _IO_free_backup_area (_IO_FILE *) ;
# 66 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 2 3




typedef __gnuc_va_list va_list;
# 80 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
typedef _G_fpos_t fpos_t;
# 129 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/stdio_lim.h" 1 3
# 130 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 2 3



extern FILE *stdin;
extern FILE *stdout;
extern FILE *stderr;






extern int remove (__const char *__filename) ;

extern int rename (__const char *__old, __const char *__new) ;




extern FILE *tmpfile (void) ;
# 161 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
extern char *tmpnam (char *__s) ;




extern char *tmpnam_r (char *__s) ;
# 178 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
extern char *tempnam (__const char *__dir, __const char *__pfx)
     __attribute__ ((__malloc__));




extern int fclose (FILE *__stream) ;

extern int fflush (FILE *__stream) ;



extern int fflush_unlocked (FILE *__stream) ;
# 201 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
extern FILE *fopen (__const char *__restrict __filename,
                    __const char *__restrict __modes) ;

extern FILE *freopen (__const char *__restrict __filename,
                      __const char *__restrict __modes,
                      FILE *__restrict __stream) ;
# 231 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
extern FILE *fdopen (int __fd, __const char *__modes) ;
# 254 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) ;



extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
                    int __modes, size_t __n) ;




extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
                       size_t __size) ;


extern void setlinebuf (FILE *__stream) ;




extern int fprintf (FILE *__restrict __stream,
                    __const char *__restrict __format, ...) ;

extern int printf (__const char *__restrict __format, ...) ;

extern int sprintf (char *__restrict __s,
                    __const char *__restrict __format, ...) ;


extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format,
                     __gnuc_va_list __arg) ;

extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg)
     ;

extern int vsprintf (char *__restrict __s, __const char *__restrict __format,
                     __gnuc_va_list __arg) ;



extern int snprintf (char *__restrict __s, size_t __maxlen,
                     __const char *__restrict __format, ...)
     __attribute__ ((__format__ (__printf__, 3, 4)));

extern int vsnprintf (char *__restrict __s, size_t __maxlen,
                      __const char *__restrict __format, __gnuc_va_list __arg)
     __attribute__ ((__format__ (__printf__, 3, 0)));
# 325 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
extern int fscanf (FILE *__restrict __stream,
                   __const char *__restrict __format, ...) ;

extern int scanf (__const char *__restrict __format, ...) ;

extern int sscanf (__const char *__restrict __s,
                   __const char *__restrict __format, ...) ;
# 351 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
extern int fgetc (FILE *__stream) ;
extern int getc (FILE *__stream) ;


extern int getchar (void) ;







extern int getc_unlocked (FILE *__stream) ;
extern int getchar_unlocked (void) ;




extern int fgetc_unlocked (FILE *__stream) ;




extern int fputc (int __c, FILE *__stream) ;
extern int putc (int __c, FILE *__stream) ;


extern int putchar (int __c) ;







extern int fputc_unlocked (int __c, FILE *__stream) ;




extern int putc_unlocked (int __c, FILE *__stream) ;
extern int putchar_unlocked (int __c) ;





extern int getw (FILE *__stream) ;


extern int putw (int __w, FILE *__stream) ;




extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
     ;
# 417 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
extern char *gets (char *__s) ;
# 441 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
extern int fputs (__const char *__restrict __s, FILE *__restrict __stream)
     ;
# 451 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
extern int puts (__const char *__s) ;



extern int ungetc (int __c, FILE *__stream) ;



extern size_t fread (void *__restrict __ptr, size_t __size,
                     size_t __n, FILE *__restrict __stream) ;

extern size_t fwrite (__const void *__restrict __ptr, size_t __size,
                      size_t __n, FILE *__restrict __s) ;



extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
                              size_t __n, FILE *__restrict __stream) ;
extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size,
                               size_t __n, FILE *__restrict __stream) ;




extern int fseek (FILE *__stream, long int __off, int __whence) ;

extern long int ftell (FILE *__stream) ;

extern void rewind (FILE *__stream) ;
# 489 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
extern int fseeko (FILE *__stream, __off_t __off, int __whence) ;

extern __off_t ftello (FILE *__stream) ;



extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos)
     ;

extern int fsetpos (FILE *__stream, __const fpos_t *__pos) ;
# 531 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
extern void clearerr (FILE *__stream) ;

extern int feof (FILE *__stream) ;

extern int ferror (FILE *__stream) ;



extern void clearerr_unlocked (FILE *__stream) ;
extern int feof_unlocked (FILE *__stream) ;
extern int ferror_unlocked (FILE *__stream) ;




extern void perror (__const char *__s) ;




extern int sys_nerr;
extern __const char *__const sys_errlist[];
# 562 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
extern int fileno (FILE *__stream) ;




extern int fileno_unlocked (FILE *__stream) ;






extern FILE *popen (__const char *__command, __const char *__modes) ;


extern int pclose (FILE *__stream) ;





extern char *ctermid (char *__s) ;





extern char *cuserid (char *__s) ;
# 609 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 3
extern void flockfile (FILE *__stream) ;



extern int ftrylockfile (FILE *__stream) ;


extern void funlockfile (FILE *__stream) ;







# 1 "/usr/local/arm-linux.org/arm-linux/include/getopt.h" 1 3
# 47 "/usr/local/arm-linux.org/arm-linux/include/getopt.h" 3
extern char *optarg;
# 61 "/usr/local/arm-linux.org/arm-linux/include/getopt.h" 3
extern int optind;




extern int opterr;



extern int optopt;
# 145 "/usr/local/arm-linux.org/arm-linux/include/getopt.h" 3
extern int getopt (int ___argc, char *const *___argv, const char *__shortopts);
# 625 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 2 3





# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/stdio.h" 1 3
# 33 "/usr/local/arm-linux.org/arm-linux/include/bits/stdio.h" 3
extern __inline int
vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg)
{
  return vfprintf (stdout, __fmt, __arg);
}


extern __inline int
getchar (void)
{
  return _IO_getc (stdin);
}




extern __inline int
getc_unlocked (FILE *__fp)
{
  return ((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
}


extern __inline int
getchar_unlocked (void)
{
  return ((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
}




extern __inline int
putchar (int __c)
{
  return _IO_putc (__c, stdout);
}




extern __inline int
fputc_unlocked (int __c, FILE *__stream)
{
  return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
}





extern __inline int
putc_unlocked (int __c, FILE *__stream)
{
  return (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
}


extern __inline int
putchar_unlocked (int __c)
{
  return (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
}
# 111 "/usr/local/arm-linux.org/arm-linux/include/bits/stdio.h" 3
extern __inline int
feof_unlocked (FILE *__stream)
{
  return (((__stream)->_flags & 0x10) != 0);
}


extern __inline int
ferror_unlocked (FILE *__stream)
{
  return (((__stream)->_flags & 0x20) != 0);
}
# 631 "/usr/local/arm-linux.org/arm-linux/include/stdio.h" 2 3



# 52 "setkey.c" 2
# 1 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 1 3
# 33 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 1 3 4
# 34 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 2 3








# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/waitflags.h" 1 3
# 43 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 2 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/waitstatus.h" 1 3
# 65 "/usr/local/arm-linux.org/arm-linux/include/bits/waitstatus.h" 3
union wait
  {
    int w_status;
    struct
      {

        unsigned int __w_termsig:7;
        unsigned int __w_coredump:1;
        unsigned int __w_retcode:8;
        unsigned int:16;







      } __wait_terminated;
    struct
      {

        unsigned int __w_stopval:8;
        unsigned int __w_stopsig:8;
        unsigned int:16;






      } __wait_stopped;
  };
# 44 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 2 3
# 68 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
typedef union
  {
    union wait *__uptr;
    int *__iptr;
  } __WAIT_STATUS __attribute__ ((__transparent_union__));
# 94 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
typedef struct
  {
    int quot;
    int rem;
  } div_t;



typedef struct
  {
    long int quot;
    long int rem;
  } ldiv_t;
# 133 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
extern size_t __ctype_get_mb_cur_max (void) ;



extern double atof (__const char *__nptr) __attribute__ ((__pure__));

extern int atoi (__const char *__nptr) __attribute__ ((__pure__));

extern long int atol (__const char *__nptr) __attribute__ ((__pure__));



__extension__ extern long long int atoll (__const char *__nptr)
     __attribute__ ((__pure__));



extern double strtod (__const char *__restrict __nptr,
                      char **__restrict __endptr) ;
# 163 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
extern long int strtol (__const char *__restrict __nptr,
                        char **__restrict __endptr, int __base) ;

extern unsigned long int strtoul (__const char *__restrict __nptr,
                                  char **__restrict __endptr, int __base)
     ;



__extension__
extern long long int strtoq (__const char *__restrict __nptr,
                             char **__restrict __endptr, int __base) ;

__extension__
extern unsigned long long int strtouq (__const char *__restrict __nptr,
                                       char **__restrict __endptr, int __base)
     ;






__extension__
extern long long int strtoll (__const char *__restrict __nptr,
                              char **__restrict __endptr, int __base) ;

__extension__
extern unsigned long long int strtoull (__const char *__restrict __nptr,
                                        char **__restrict __endptr, int __base)
     ;
# 250 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
extern double __strtod_internal (__const char *__restrict __nptr,
                                 char **__restrict __endptr, int __group)
     ;
extern float __strtof_internal (__const char *__restrict __nptr,
                                char **__restrict __endptr, int __group)
     ;
extern long double __strtold_internal (__const char *__restrict __nptr,
                                       char **__restrict __endptr,
                                       int __group) ;

extern long int __strtol_internal (__const char *__restrict __nptr,
                                   char **__restrict __endptr,
                                   int __base, int __group) ;



extern unsigned long int __strtoul_internal (__const char *__restrict __nptr,
                                             char **__restrict __endptr,
                                             int __base, int __group) ;




__extension__
extern long long int __strtoll_internal (__const char *__restrict __nptr,
                                         char **__restrict __endptr,
                                         int __base, int __group) ;



__extension__
extern unsigned long long int __strtoull_internal (__const char *
                                                   __restrict __nptr,
                                                   char **__restrict __endptr,
                                                   int __base, int __group)
     ;







extern __inline double
strtod (__const char *__restrict __nptr, char **__restrict __endptr)
{
  return __strtod_internal (__nptr, __endptr, 0);
}
extern __inline long int
strtol (__const char *__restrict __nptr, char **__restrict __endptr,
        int __base)
{
  return __strtol_internal (__nptr, __endptr, __base, 0);
}
extern __inline unsigned long int
strtoul (__const char *__restrict __nptr, char **__restrict __endptr,
         int __base)
{
  return __strtoul_internal (__nptr, __endptr, __base, 0);
}
# 325 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
__extension__ extern __inline long long int
strtoq (__const char *__restrict __nptr, char **__restrict __endptr,
        int __base)
{
  return __strtoll_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline unsigned long long int
strtouq (__const char *__restrict __nptr, char **__restrict __endptr,
         int __base)
{
  return __strtoull_internal (__nptr, __endptr, __base, 0);
}



__extension__ extern __inline long long int
strtoll (__const char *__restrict __nptr, char **__restrict __endptr,
         int __base)
{
  return __strtoll_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline unsigned long long int
strtoull (__const char * __restrict __nptr, char **__restrict __endptr,
          int __base)
{
  return __strtoull_internal (__nptr, __endptr, __base, 0);
}


extern __inline double
atof (__const char *__nptr)
{
  return strtod (__nptr, (char **) ((void *)0));
}
extern __inline int
atoi (__const char *__nptr)
{
  return (int) strtol (__nptr, (char **) ((void *)0), 10);
}
extern __inline long int
atol (__const char *__nptr)
{
  return strtol (__nptr, (char **) ((void *)0), 10);
}


__extension__ extern __inline long long int
atoll (__const char *__nptr)
{
  return strtoll (__nptr, (char **) ((void *)0), 10);
}
# 384 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
extern char *l64a (long int __n) ;


extern long int a64l (__const char *__s) __attribute__ ((__pure__));
# 397 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
extern long int random (void) ;


extern void srandom (unsigned int __seed) ;





extern char *initstate (unsigned int __seed, char *__statebuf,
                        size_t __statelen) ;



extern char *setstate (char *__statebuf) ;







struct random_data
  {
    int32_t *fptr;
    int32_t *rptr;
    int32_t *state;
    int rand_type;
    int rand_deg;
    int rand_sep;
    int32_t *end_ptr;
  };

extern int random_r (struct random_data *__restrict __buf,
                     int32_t *__restrict __result) ;

extern int srandom_r (unsigned int __seed, struct random_data *__buf) ;

extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
                        size_t __statelen,
                        struct random_data *__restrict __buf) ;

extern int setstate_r (char *__restrict __statebuf,
                       struct random_data *__restrict __buf) ;





extern int rand (void) ;

extern void srand (unsigned int __seed) ;



extern int rand_r (unsigned int *__seed) ;







extern double drand48 (void) ;
extern double erand48 (unsigned short int __xsubi[3]) ;


extern long int lrand48 (void) ;
extern long int nrand48 (unsigned short int __xsubi[3]) ;


extern long int mrand48 (void) ;
extern long int jrand48 (unsigned short int __xsubi[3]) ;


extern void srand48 (long int __seedval) ;
extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ;
extern void lcong48 (unsigned short int __param[7]) ;





struct drand48_data
  {
    unsigned short int __x[3];
    unsigned short int __old_x[3];
    unsigned short int __c;
    unsigned short int __init;
    unsigned long long int __a;
  };


extern int drand48_r (struct drand48_data *__restrict __buffer,
                      double *__restrict __result) ;
extern int erand48_r (unsigned short int __xsubi[3],
                      struct drand48_data *__restrict __buffer,
                      double *__restrict __result) ;


extern int lrand48_r (struct drand48_data *__restrict __buffer,
                      long int *__restrict __result) ;
extern int nrand48_r (unsigned short int __xsubi[3],
                      struct drand48_data *__restrict __buffer,
                      long int *__restrict __result) ;


extern int mrand48_r (struct drand48_data *__restrict __buffer,
                      long int *__restrict __result) ;
extern int jrand48_r (unsigned short int __xsubi[3],
                      struct drand48_data *__restrict __buffer,
                      long int *__restrict __result) ;


extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
     ;

extern int seed48_r (unsigned short int __seed16v[3],
                     struct drand48_data *__buffer) ;

extern int lcong48_r (unsigned short int __param[7],
                      struct drand48_data *__buffer) ;
# 527 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
extern void *malloc (size_t __size) __attribute__ ((__malloc__));

extern void *calloc (size_t __nmemb, size_t __size)
     __attribute__ ((__malloc__));





extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__malloc__));

extern void free (void *__ptr) ;



extern void cfree (void *__ptr) ;



# 1 "/usr/local/arm-linux.org/arm-linux/include/alloca.h" 1 3
# 25 "/usr/local/arm-linux.org/arm-linux/include/alloca.h" 3
# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 1 3 4
# 26 "/usr/local/arm-linux.org/arm-linux/include/alloca.h" 2 3







extern void *alloca (size_t __size) ;






# 547 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 2 3




extern void *valloc (size_t __size) __attribute__ ((__malloc__));
# 561 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
extern void abort (void) __attribute__ ((__noreturn__));



extern int atexit (void (*__func) (void)) ;




extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
     ;





extern void exit (int __status) __attribute__ ((__noreturn__));
# 587 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
extern char *getenv (__const char *__name) ;



extern char *__secure_getenv (__const char *__name) ;





extern int putenv (char *__string) ;





extern int setenv (__const char *__name, __const char *__value, int __replace)
     ;


extern int unsetenv (__const char *__name) ;






extern int clearenv (void) ;
# 623 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
extern char *mktemp (char *__template) ;







extern int mkstemp (char *__template) ;
# 650 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
extern char *mkdtemp (char *__template) ;




extern int system (__const char *__command) ;
# 672 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
extern char *realpath (__const char *__restrict __name,
                       char *__restrict __resolved) ;






typedef int (*__compar_fn_t) (__const void *, __const void *);
# 689 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
extern void *bsearch (__const void *__key, __const void *__base,
                      size_t __nmemb, size_t __size, __compar_fn_t __compar);



extern void qsort (void *__base, size_t __nmemb, size_t __size,
                   __compar_fn_t __compar);



extern int abs (int __x) __attribute__ ((__const__));
extern long int labs (long int __x) __attribute__ ((__const__));
# 710 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
extern div_t div (int __numer, int __denom)
     __attribute__ ((__const__));
extern ldiv_t ldiv (long int __numer, long int __denom)
     __attribute__ ((__const__));
# 728 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign) ;




extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign) ;




extern char *gcvt (double __value, int __ndigit, char *__buf) ;




extern char *qecvt (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign) ;
extern char *qfcvt (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign) ;
extern char *qgcvt (long double __value, int __ndigit, char *__buf) ;




extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign, char *__restrict __buf,
                   size_t __len) ;
extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
                   int *__restrict __sign, char *__restrict __buf,
                   size_t __len) ;

extern int qecvt_r (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign,
                    char *__restrict __buf, size_t __len) ;
extern int qfcvt_r (long double __value, int __ndigit,
                    int *__restrict __decpt, int *__restrict __sign,
                    char *__restrict __buf, size_t __len) ;






extern int mblen (__const char *__s, size_t __n) ;


extern int mbtowc (wchar_t *__restrict __pwc,
                   __const char *__restrict __s, size_t __n) ;


extern int wctomb (char *__s, wchar_t __wchar) ;



extern size_t mbstowcs (wchar_t *__restrict __pwcs,
                        __const char *__restrict __s, size_t __n) ;

extern size_t wcstombs (char *__restrict __s,
                        __const wchar_t *__restrict __pwcs, size_t __n)
     ;
# 808 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
extern int getsubopt (char **__restrict __optionp,
                      char *__const *__restrict __tokens,
                      char **__restrict __valuep) ;





extern void setkey (__const char *__key) ;
# 832 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
extern int grantpt (int __fd) ;



extern int unlockpt (int __fd) ;




extern char *ptsname (int __fd) ;
# 858 "/usr/local/arm-linux.org/arm-linux/include/stdlib.h" 3
extern int getloadavg (double __loadavg[], int __nelem) ;






# 53 "setkey.c" 2

# 1 "/usr/local/arm-linux.org/arm-linux/include/string.h" 1 3
# 28 "/usr/local/arm-linux.org/arm-linux/include/string.h" 3





# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 1 3 4
# 34 "/usr/local/arm-linux.org/arm-linux/include/string.h" 2 3



extern void *memcpy (void *__restrict __dest,
                     __const void *__restrict __src, size_t __n) ;


extern void *memmove (void *__dest, __const void *__src, size_t __n)
     ;





extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
                      int __c, size_t __n)
     ;




extern void *memset (void *__s, int __c, size_t __n) ;


extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
     __attribute__ ((__pure__));


extern void *memchr (__const void *__s, int __c, size_t __n)
      __attribute__ ((__pure__));
# 77 "/usr/local/arm-linux.org/arm-linux/include/string.h" 3
extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
     ;

extern char *strncpy (char *__restrict __dest,
                      __const char *__restrict __src, size_t __n) ;


extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
     ;

extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
                      size_t __n) ;


extern int strcmp (__const char *__s1, __const char *__s2)
     __attribute__ ((__pure__));

extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
     __attribute__ ((__pure__));


extern int strcoll (__const char *__s1, __const char *__s2)
     __attribute__ ((__pure__));

extern size_t strxfrm (char *__restrict __dest,
                       __const char *__restrict __src, size_t __n) ;
# 120 "/usr/local/arm-linux.org/arm-linux/include/string.h" 3
extern char *strdup (__const char *__s) __attribute__ ((__malloc__));
# 155 "/usr/local/arm-linux.org/arm-linux/include/string.h" 3
extern char *strchr (__const char *__s, int __c) __attribute__ ((__pure__));

extern char *strrchr (__const char *__s, int __c) __attribute__ ((__pure__));
# 167 "/usr/local/arm-linux.org/arm-linux/include/string.h" 3
extern size_t strcspn (__const char *__s, __const char *__reject)
     __attribute__ ((__pure__));


extern size_t strspn (__const char *__s, __const char *__accept)
     __attribute__ ((__pure__));

extern char *strpbrk (__const char *__s, __const char *__accept)
     __attribute__ ((__pure__));

extern char *strstr (__const char *__haystack, __const char *__needle)
     __attribute__ ((__pure__));
# 187 "/usr/local/arm-linux.org/arm-linux/include/string.h" 3
extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
     ;



extern char *__strtok_r (char *__restrict __s,
                         __const char *__restrict __delim,
                         char **__restrict __save_ptr) ;

extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
                       char **__restrict __save_ptr) ;
# 218 "/usr/local/arm-linux.org/arm-linux/include/string.h" 3
extern size_t strlen (__const char *__s) __attribute__ ((__pure__));
# 229 "/usr/local/arm-linux.org/arm-linux/include/string.h" 3
extern char *strerror (int __errnum) ;



extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) ;




extern void __bzero (void *__s, size_t __n) ;



extern void bcopy (__const void *__src, void *__dest, size_t __n) ;


extern void bzero (void *__s, size_t __n) ;


extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
     __attribute__ ((__pure__));


extern char *index (__const char *__s, int __c) __attribute__ ((__pure__));


extern char *rindex (__const char *__s, int __c) __attribute__ ((__pure__));



extern int ffs (int __i) __attribute__ ((__const__));
# 272 "/usr/local/arm-linux.org/arm-linux/include/string.h" 3
extern int strcasecmp (__const char *__s1, __const char *__s2)
     __attribute__ ((__pure__));


extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
     __attribute__ ((__pure__));
# 294 "/usr/local/arm-linux.org/arm-linux/include/string.h" 3
extern char *strsep (char **__restrict __stringp,
                     __const char *__restrict __delim) ;
# 357 "/usr/local/arm-linux.org/arm-linux/include/string.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/string.h" 1 3
# 358 "/usr/local/arm-linux.org/arm-linux/include/string.h" 2 3


# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/string2.h" 1 3
# 80 "/usr/local/arm-linux.org/arm-linux/include/bits/string2.h" 3
typedef struct { unsigned char __arr[2]; } __STRING2_COPY_ARR2 __attribute__ ((packed));
typedef struct { unsigned char __arr[3]; } __STRING2_COPY_ARR3 __attribute__ ((packed));
typedef struct { unsigned char __arr[4]; } __STRING2_COPY_ARR4 __attribute__ ((packed));
typedef struct { unsigned char __arr[5]; } __STRING2_COPY_ARR5 __attribute__ ((packed));
typedef struct { unsigned char __arr[6]; } __STRING2_COPY_ARR6 __attribute__ ((packed));
typedef struct { unsigned char __arr[7]; } __STRING2_COPY_ARR7 __attribute__ ((packed));
typedef struct { unsigned char __arr[8]; } __STRING2_COPY_ARR8 __attribute__ ((packed));
# 377 "/usr/local/arm-linux.org/arm-linux/include/bits/string2.h" 3
extern void *__rawmemchr (const void *__s, int __c);
# 893 "/usr/local/arm-linux.org/arm-linux/include/bits/string2.h" 3
extern __inline size_t __strcspn_c1 (__const char *__s, int __reject);
extern __inline size_t
__strcspn_c1 (__const char *__s, int __reject)
{
  register size_t __result = 0;
  while (__s[__result] != '\0' && __s[__result] != __reject)
    ++__result;
  return __result;
}

extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1,
                                     int __reject2);
extern __inline size_t
__strcspn_c2 (__const char *__s, int __reject1, int __reject2)
{
  register size_t __result = 0;
  while (__s[__result] != '\0' && __s[__result] != __reject1
         && __s[__result] != __reject2)
    ++__result;
  return __result;
}

extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1,
                                     int __reject2, int __reject3);
extern __inline size_t
__strcspn_c3 (__const char *__s, int __reject1, int __reject2,
              int __reject3)
{
  register size_t __result = 0;
  while (__s[__result] != '\0' && __s[__result] != __reject1
         && __s[__result] != __reject2 && __s[__result] != __reject3)
    ++__result;
  return __result;
}
# 950 "/usr/local/arm-linux.org/arm-linux/include/bits/string2.h" 3
extern __inline size_t __strspn_c1 (__const char *__s, int __accept);
extern __inline size_t
__strspn_c1 (__const char *__s, int __accept)
{
  register size_t __result = 0;

  while (__s[__result] == __accept)
    ++__result;
  return __result;
}

extern __inline size_t __strspn_c2 (__const char *__s, int __accept1,
                                    int __accept2);
extern __inline size_t
__strspn_c2 (__const char *__s, int __accept1, int __accept2)
{
  register size_t __result = 0;

  while (__s[__result] == __accept1 || __s[__result] == __accept2)
    ++__result;
  return __result;
}

extern __inline size_t __strspn_c3 (__const char *__s, int __accept1,
                                    int __accept2, int __accept3);
extern __inline size_t
__strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3)
{
  register size_t __result = 0;

  while (__s[__result] == __accept1 || __s[__result] == __accept2
         || __s[__result] == __accept3)
    ++__result;
  return __result;
}
# 1007 "/usr/local/arm-linux.org/arm-linux/include/bits/string2.h" 3
extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1,
                                     int __accept2);
extern __inline char *
__strpbrk_c2 (__const char *__s, int __accept1, int __accept2)
{

  while (*__s != '\0' && *__s != __accept1 && *__s != __accept2)
    ++__s;
  return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
}

extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1,
                                     int __accept2, int __accept3);
extern __inline char *
__strpbrk_c3 (__const char *__s, int __accept1, int __accept2,
              int __accept3)
{

  while (*__s != '\0' && *__s != __accept1 && *__s != __accept2
         && *__s != __accept3)
    ++__s;
  return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
}
# 1059 "/usr/local/arm-linux.org/arm-linux/include/bits/string2.h" 3
extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp);
extern __inline char *
__strtok_r_1c (char *__s, char __sep, char **__nextp)
{
  char *__result;
  if (__s == ((void *)0))
    __s = *__nextp;
  while (*__s == __sep)
    ++__s;
  __result = ((void *)0);
  if (*__s != '\0')
    {
      __result = __s++;
      while (*__s != '\0')
        if (*__s++ == __sep)
          {
            __s[-1] = '\0';
            break;
          }
      *__nextp = __s;
    }
  return __result;
}
# 1091 "/usr/local/arm-linux.org/arm-linux/include/bits/string2.h" 3
extern char *__strsep_g (char **__stringp, __const char *__delim);
# 1109 "/usr/local/arm-linux.org/arm-linux/include/bits/string2.h" 3
extern __inline char *__strsep_1c (char **__s, char __reject);
extern __inline char *
__strsep_1c (char **__s, char __reject)
{
  register char *__retval = *__s;
  if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : strchr (__retval, __reject)))) != ((void *)0))
    *(*__s)++ = '\0';
  return __retval;
}

extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2);
extern __inline char *
__strsep_2c (char **__s, char __reject1, char __reject2)
{
  register char *__retval = *__s;
  if (__retval != ((void *)0))
    {
      register char *__cp = __retval;
      while (1)
        {
          if (*__cp == '\0')
            {
              __cp = ((void *)0);
          break;
            }
          if (*__cp == __reject1 || *__cp == __reject2)
            {
              *__cp++ = '\0';
              break;
            }
          ++__cp;
        }
      *__s = __cp;
    }
  return __retval;
}

extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2,
                                   char __reject3);
extern __inline char *
__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)
{
  register char *__retval = *__s;
  if (__retval != ((void *)0))
    {
      register char *__cp = __retval;
      while (1)
        {
          if (*__cp == '\0')
            {
              __cp = ((void *)0);
          break;
            }
          if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3)
            {
              *__cp++ = '\0';
              break;
            }
          ++__cp;
        }
      *__s = __cp;
    }
  return __retval;
}
# 1190 "/usr/local/arm-linux.org/arm-linux/include/bits/string2.h" 3
extern char *__strdup (__const char *__string) __attribute__ ((__malloc__));
# 1209 "/usr/local/arm-linux.org/arm-linux/include/bits/string2.h" 3
extern char *__strndup (__const char *__string, size_t __n)
     __attribute__ ((__malloc__));
# 361 "/usr/local/arm-linux.org/arm-linux/include/string.h" 2 3




# 55 "setkey.c" 2
# 1 "/usr/local/arm-linux.org/arm-linux/include/ctype.h" 1 3
# 29 "/usr/local/arm-linux.org/arm-linux/include/ctype.h" 3

# 47 "/usr/local/arm-linux.org/arm-linux/include/ctype.h" 3
enum
{
  _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
  _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
  _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
  _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
  _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
  _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
  _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
  _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
  _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
  _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
  _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
  _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
};
# 75 "/usr/local/arm-linux.org/arm-linux/include/ctype.h" 3
extern __const unsigned short int *__ctype_b;
extern __const __int32_t *__ctype_tolower;
extern __const __int32_t *__ctype_toupper;
# 91 "/usr/local/arm-linux.org/arm-linux/include/ctype.h" 3
extern int isalnum (int) ;
extern int isalpha (int) ;
extern int iscntrl (int) ;
extern int isdigit (int) ;
extern int islower (int) ;
extern int isgraph (int) ;
extern int isprint (int) ;
extern int ispunct (int) ;
extern int isspace (int) ;
extern int isupper (int) ;
extern int isxdigit (int) ;







extern int tolower (int __c) ;


extern int toupper (int __c) ;






extern int isascii (int __c) ;



extern int toascii (int __c) ;



extern int _toupper (int) ;
extern int _tolower (int) ;
# 167 "/usr/local/arm-linux.org/arm-linux/include/ctype.h" 3
extern __inline int
tolower (int __c)
{
  return __c >= -128 && __c < 256 ? __ctype_tolower[__c] : __c;
}

extern __inline int
toupper (int __c)
{
  return __c >= -128 && __c < 256 ? __ctype_toupper[__c] : __c;
}
# 276 "/usr/local/arm-linux.org/arm-linux/include/ctype.h" 3

# 56 "setkey.c" 2
# 1 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 1 3
# 28 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3

# 175 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/posix_opt.h" 1 3
# 176 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 2 3



# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/environments.h" 1 3
# 23 "/usr/local/arm-linux.org/arm-linux/include/bits/environments.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/wordsize.h" 1 3
# 24 "/usr/local/arm-linux.org/arm-linux/include/bits/environments.h" 2 3
# 180 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 2 3
# 199 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 1 3 4
# 200 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 2 3
# 260 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern int access (__const char *__name, int __type) ;
# 290 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern __off_t lseek (int __fd, __off_t __offset, int __whence) ;
# 306 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern int close (int __fd) ;



extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ;


extern ssize_t write (int __fd, __const void *__buf, size_t __n) ;



extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset)
     ;
extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n,
                       __off_t __offset) ;
# 353 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern int pipe (int __pipedes[2]) ;
# 362 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern unsigned int alarm (unsigned int __seconds) ;
# 371 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern unsigned int sleep (unsigned int __seconds) ;






extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval)
     ;



extern int usleep (__useconds_t __useconds) ;





extern int pause (void) ;



extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
     ;



extern int fchown (int __fd, __uid_t __owner, __gid_t __group) ;




extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group)
     ;




extern int chdir (__const char *__path) ;



extern int fchdir (int __fd) ;
# 423 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern char *getcwd (char *__buf, size_t __size) ;
# 436 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern char *getwd (char *__buf) ;




extern int dup (int __fd) ;


extern int dup2 (int __fd, int __fd2) ;


extern char **__environ;







extern int execve (__const char *__path, char *__const __argv[],
                   char *__const __envp[]) ;
# 467 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern int execv (__const char *__path, char *__const __argv[]) ;



extern int execle (__const char *__path, __const char *__arg, ...) ;



extern int execl (__const char *__path, __const char *__arg, ...) ;



extern int execvp (__const char *__file, char *__const __argv[]) ;




extern int execlp (__const char *__file, __const char *__arg, ...) ;




extern int nice (int __inc) ;




extern void _exit (int __status) __attribute__ ((__noreturn__));





# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/confname.h" 1 3
# 25 "/usr/local/arm-linux.org/arm-linux/include/bits/confname.h" 3
enum
  {
    _PC_LINK_MAX,

    _PC_MAX_CANON,

    _PC_MAX_INPUT,

    _PC_NAME_MAX,

    _PC_PATH_MAX,

    _PC_PIPE_BUF,

    _PC_CHOWN_RESTRICTED,

    _PC_NO_TRUNC,

    _PC_VDISABLE,

    _PC_SYNC_IO,

    _PC_ASYNC_IO,

    _PC_PRIO_IO,

    _PC_SOCK_MAXBUF,

    _PC_FILESIZEBITS,

    _PC_REC_INCR_XFER_SIZE,

    _PC_REC_MAX_XFER_SIZE,

    _PC_REC_MIN_XFER_SIZE,

    _PC_REC_XFER_ALIGN,

    _PC_ALLOC_SIZE_MIN,

    _PC_SYMLINK_MAX

  };


enum
  {
    _SC_ARG_MAX,

    _SC_CHILD_MAX,

    _SC_CLK_TCK,

    _SC_NGROUPS_MAX,

    _SC_OPEN_MAX,

    _SC_STREAM_MAX,

    _SC_TZNAME_MAX,

    _SC_JOB_CONTROL,

    _SC_SAVED_IDS,

    _SC_REALTIME_SIGNALS,

    _SC_PRIORITY_SCHEDULING,

    _SC_TIMERS,

    _SC_ASYNCHRONOUS_IO,

    _SC_PRIORITIZED_IO,

    _SC_SYNCHRONIZED_IO,

    _SC_FSYNC,

    _SC_MAPPED_FILES,

    _SC_MEMLOCK,

    _SC_MEMLOCK_RANGE,

    _SC_MEMORY_PROTECTION,

    _SC_MESSAGE_PASSING,

    _SC_SEMAPHORES,

    _SC_SHARED_MEMORY_OBJECTS,

    _SC_AIO_LISTIO_MAX,

    _SC_AIO_MAX,

    _SC_AIO_PRIO_DELTA_MAX,

    _SC_DELAYTIMER_MAX,

    _SC_MQ_OPEN_MAX,

    _SC_MQ_PRIO_MAX,

    _SC_VERSION,

    _SC_PAGESIZE,


    _SC_RTSIG_MAX,

    _SC_SEM_NSEMS_MAX,

    _SC_SEM_VALUE_MAX,

    _SC_SIGQUEUE_MAX,

    _SC_TIMER_MAX,




    _SC_BC_BASE_MAX,

    _SC_BC_DIM_MAX,

    _SC_BC_SCALE_MAX,

    _SC_BC_STRING_MAX,

    _SC_COLL_WEIGHTS_MAX,

    _SC_EQUIV_CLASS_MAX,

    _SC_EXPR_NEST_MAX,

    _SC_LINE_MAX,

    _SC_RE_DUP_MAX,

    _SC_CHARCLASS_NAME_MAX,


    _SC_2_VERSION,

    _SC_2_C_BIND,

    _SC_2_C_DEV,

    _SC_2_FORT_DEV,

    _SC_2_FORT_RUN,

    _SC_2_SW_DEV,

    _SC_2_LOCALEDEF,


    _SC_PII,

    _SC_PII_XTI,

    _SC_PII_SOCKET,

    _SC_PII_INTERNET,

    _SC_PII_OSI,

    _SC_POLL,

    _SC_SELECT,

    _SC_UIO_MAXIOV,

    _SC_IOV_MAX = _SC_UIO_MAXIOV,

    _SC_PII_INTERNET_STREAM,

    _SC_PII_INTERNET_DGRAM,

    _SC_PII_OSI_COTS,

    _SC_PII_OSI_CLTS,

    _SC_PII_OSI_M,

    _SC_T_IOV_MAX,



    _SC_THREADS,

    _SC_THREAD_SAFE_FUNCTIONS,

    _SC_GETGR_R_SIZE_MAX,

    _SC_GETPW_R_SIZE_MAX,

    _SC_LOGIN_NAME_MAX,

    _SC_TTY_NAME_MAX,

    _SC_THREAD_DESTRUCTOR_ITERATIONS,

    _SC_THREAD_KEYS_MAX,

    _SC_THREAD_STACK_MIN,

    _SC_THREAD_THREADS_MAX,

    _SC_THREAD_ATTR_STACKADDR,

    _SC_THREAD_ATTR_STACKSIZE,

    _SC_THREAD_PRIORITY_SCHEDULING,

    _SC_THREAD_PRIO_INHERIT,

    _SC_THREAD_PRIO_PROTECT,

    _SC_THREAD_PROCESS_SHARED,


    _SC_NPROCESSORS_CONF,

    _SC_NPROCESSORS_ONLN,

    _SC_PHYS_PAGES,

    _SC_AVPHYS_PAGES,

    _SC_ATEXIT_MAX,

    _SC_PASS_MAX,


    _SC_XOPEN_VERSION,

    _SC_XOPEN_XCU_VERSION,

    _SC_XOPEN_UNIX,

    _SC_XOPEN_CRYPT,

    _SC_XOPEN_ENH_I18N,

    _SC_XOPEN_SHM,


    _SC_2_CHAR_TERM,

    _SC_2_C_VERSION,

    _SC_2_UPE,


    _SC_XOPEN_XPG2,

    _SC_XOPEN_XPG3,

    _SC_XOPEN_XPG4,


    _SC_CHAR_BIT,

    _SC_CHAR_MAX,

    _SC_CHAR_MIN,

    _SC_INT_MAX,

    _SC_INT_MIN,

    _SC_LONG_BIT,

    _SC_WORD_BIT,

    _SC_MB_LEN_MAX,

    _SC_NZERO,

    _SC_SSIZE_MAX,

    _SC_SCHAR_MAX,

    _SC_SCHAR_MIN,

    _SC_SHRT_MAX,

    _SC_SHRT_MIN,

    _SC_UCHAR_MAX,

    _SC_UINT_MAX,

    _SC_ULONG_MAX,

    _SC_USHRT_MAX,


    _SC_NL_ARGMAX,

    _SC_NL_LANGMAX,

    _SC_NL_MSGMAX,

    _SC_NL_NMAX,

    _SC_NL_SETMAX,

    _SC_NL_TEXTMAX,


    _SC_XBS5_ILP32_OFF32,

    _SC_XBS5_ILP32_OFFBIG,

    _SC_XBS5_LP64_OFF64,

    _SC_XBS5_LPBIG_OFFBIG,


    _SC_XOPEN_LEGACY,

    _SC_XOPEN_REALTIME,

    _SC_XOPEN_REALTIME_THREADS,


    _SC_ADVISORY_INFO,

    _SC_BARRIERS,

    _SC_BASE,

    _SC_C_LANG_SUPPORT,

    _SC_C_LANG_SUPPORT_R,

    _SC_CLOCK_SELECTION,

    _SC_CPUTIME,

    _SC_THREAD_CPUTIME,

    _SC_DEVICE_IO,

    _SC_DEVICE_SPECIFIC,

    _SC_DEVICE_SPECIFIC_R,

    _SC_FD_MGMT,

    _SC_FIFO,

    _SC_PIPE,

    _SC_FILE_ATTRIBUTES,

    _SC_FILE_LOCKING,

    _SC_FILE_SYSTEM,

    _SC_MONOTONIC_CLOCK,

    _SC_MULTI_PROCESS,

    _SC_SINGLE_PROCESS,

    _SC_NETWORKING,

    _SC_READER_WRITER_LOCKS,

    _SC_SPIN_LOCKS,

    _SC_REGEXP,

    _SC_REGEX_VERSION,

    _SC_SHELL,

    _SC_SIGNALS,

    _SC_SPAWN,

    _SC_SPORADIC_SERVER,

    _SC_THREAD_SPORADIC_SERVER,

    _SC_SYSTEM_DATABASE,

    _SC_SYSTEM_DATABASE_R,

    _SC_TIMEOUTS,

    _SC_TYPED_MEMORY_OBJECTS,

    _SC_USER_GROUPS,

    _SC_USER_GROUPS_R,

    _SC_2_PBS,

    _SC_2_PBS_ACCOUNTING,

    _SC_2_PBS_LOCATE,

    _SC_2_PBS_MESSAGE,

    _SC_2_PBS_TRACK,

    _SC_SYMLOOP_MAX,

    _SC_STREAMS,

    _SC_2_PBS_CHECKPOINT,


    _SC_V6_ILP32_OFF32,

    _SC_V6_ILP32_OFFBIG,

    _SC_V6_LP64_OFF64,

    _SC_V6_LPBIG_OFFBIG,


    _SC_HOST_NAME_MAX,

    _SC_TRACE,

    _SC_TRACE_EVENT_FILTER,

    _SC_TRACE_INHERIT,

    _SC_TRACE_LOG

  };





enum
  {
    _CS_PATH,




    _CS_LFS_CFLAGS = 1000,

    _CS_LFS_LDFLAGS,

    _CS_LFS_LIBS,

    _CS_LFS_LINTFLAGS,

    _CS_LFS64_CFLAGS,

    _CS_LFS64_LDFLAGS,

    _CS_LFS64_LIBS,

    _CS_LFS64_LINTFLAGS,




    _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,

    _CS_XBS5_ILP32_OFF32_LDFLAGS,

    _CS_XBS5_ILP32_OFF32_LIBS,

    _CS_XBS5_ILP32_OFF32_LINTFLAGS,

    _CS_XBS5_ILP32_OFFBIG_CFLAGS,

    _CS_XBS5_ILP32_OFFBIG_LDFLAGS,

    _CS_XBS5_ILP32_OFFBIG_LIBS,

    _CS_XBS5_ILP32_OFFBIG_LINTFLAGS,

    _CS_XBS5_LP64_OFF64_CFLAGS,

    _CS_XBS5_LP64_OFF64_LDFLAGS,

    _CS_XBS5_LP64_OFF64_LIBS,

    _CS_XBS5_LP64_OFF64_LINTFLAGS,

    _CS_XBS5_LPBIG_OFFBIG_CFLAGS,

    _CS_XBS5_LPBIG_OFFBIG_LDFLAGS,

    _CS_XBS5_LPBIG_OFFBIG_LIBS,

    _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
# 563 "/usr/local/arm-linux.org/arm-linux/include/bits/confname.h" 3
    _CS_V6_WIDTH_RESTRICTED_ENVS

  };
# 501 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 2 3


extern long int pathconf (__const char *__path, int __name) ;


extern long int fpathconf (int __fd, int __name) ;


extern long int sysconf (int __name) __attribute__ ((__const__));



extern size_t confstr (int __name, char *__buf, size_t __len) ;




extern __pid_t getpid (void) ;


extern __pid_t getppid (void) ;




extern __pid_t getpgrp (void) ;
# 536 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern __pid_t __getpgid (__pid_t __pid) ;

extern __pid_t getpgid (__pid_t __pid) ;






extern int setpgid (__pid_t __pid, __pid_t __pgid) ;
# 562 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern int setpgrp (void) ;
# 580 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern __pid_t setsid (void) ;



extern __pid_t getsid (__pid_t __pid) ;



extern __uid_t getuid (void) ;


extern __uid_t geteuid (void) ;


extern __gid_t getgid (void) ;


extern __gid_t getegid (void) ;




extern int getgroups (int __size, __gid_t __list[]) ;
# 613 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern int setuid (__uid_t __uid) ;




extern int setreuid (__uid_t __ruid, __uid_t __euid) ;




extern int seteuid (__uid_t __uid) ;






extern int setgid (__gid_t __gid) ;




extern int setregid (__gid_t __rgid, __gid_t __egid) ;




extern int setegid (__gid_t __gid) ;






extern __pid_t fork (void) ;






extern __pid_t vfork (void) ;





extern char *ttyname (int __fd) ;



extern int ttyname_r (int __fd, char *__buf, size_t __buflen) ;



extern int isatty (int __fd) ;





extern int ttyslot (void) ;




extern int link (__const char *__from, __const char *__to) ;



extern int symlink (__const char *__from, __const char *__to) ;




extern int readlink (__const char *__restrict __path, char *__restrict __buf,
                     size_t __len) ;



extern int unlink (__const char *__name) ;


extern int rmdir (__const char *__path) ;



extern __pid_t tcgetpgrp (int __fd) ;


extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) ;



extern char *getlogin (void) ;




extern int getlogin_r (char *__name, size_t __name_len) ;




extern int setlogin (__const char *__name) ;
# 726 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/getopt.h" 1 3
# 47 "/usr/local/arm-linux.org/arm-linux/include/getopt.h" 3
extern char *optarg;
# 61 "/usr/local/arm-linux.org/arm-linux/include/getopt.h" 3
extern int optind;




extern int opterr;



extern int optopt;
# 145 "/usr/local/arm-linux.org/arm-linux/include/getopt.h" 3
extern int getopt (int ___argc, char *const *___argv, const char *__shortopts);
# 727 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 2 3







extern int gethostname (char *__name, size_t __len) ;






extern int sethostname (__const char *__name, size_t __len) ;



extern int sethostid (long int __id) ;





extern int getdomainname (char *__name, size_t __len) ;
extern int setdomainname (__const char *__name, size_t __len) ;





extern int vhangup (void) ;


extern int revoke (__const char *__file) ;







extern int profil (unsigned short int *__sample_buffer, size_t __size,
                   size_t __offset, unsigned int __scale) ;





extern int acct (__const char *__name) ;



extern char *getusershell (void) ;
extern void endusershell (void) ;
extern void setusershell (void) ;





extern int daemon (int __nochdir, int __noclose) ;






extern int chroot (__const char *__path) ;



extern char *getpass (__const char *__prompt) ;





extern int fsync (int __fd) ;






extern long int gethostid (void) ;


extern void sync (void) ;




extern int getpagesize (void) __attribute__ ((__const__));




extern int truncate (__const char *__file, __off_t __length) ;
# 841 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern int ftruncate (int __fd, __off_t __length) ;
# 857 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern int getdtablesize (void) ;
# 866 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern int brk (void *__addr) ;





extern void *sbrk (intptr_t __delta) ;
# 887 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern long int syscall (long int __sysno, ...) ;
# 907 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern int lockf (int __fd, int __cmd, __off_t __len) ;
# 938 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern int fdatasync (int __fildes) ;







extern char *crypt (__const char *__key, __const char *__salt) ;



extern void encrypt (char *__block, int __edflag) ;






extern void swab (__const void *__restrict __from, void *__restrict __to,
                  ssize_t __n) ;







extern char *ctermid (char *__s) ;
# 983 "/usr/local/arm-linux.org/arm-linux/include/unistd.h" 3
extern int pthread_atfork (void (*__prepare) (void),
                           void (*__parent) (void),
                           void (*__child) (void)) ;



# 57 "setkey.c" 2
# 1 "/usr/local/arm-linux.org/arm-linux/include/errno.h" 1 3
# 32 "/usr/local/arm-linux.org/arm-linux/include/errno.h" 3




# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/errno.h" 1 3
# 25 "/usr/local/arm-linux.org/arm-linux/include/bits/errno.h" 3
# 1 "../../src/include-glibc/linux/errno.h" 1 3



# 1 "/usr/local/arm-linux.org/arm-linux/sys-include/asm/errno.h" 1 3 4
# 5 "../../src/include-glibc/linux/errno.h" 2 3
# 26 "/usr/local/arm-linux.org/arm-linux/include/bits/errno.h" 2 3
# 36 "/usr/local/arm-linux.org/arm-linux/include/bits/errno.h" 3
extern int errno;


extern int *__errno_location (void) __attribute__ ((__const__));
# 37 "/usr/local/arm-linux.org/arm-linux/include/errno.h" 2 3
# 59 "/usr/local/arm-linux.org/arm-linux/include/errno.h" 3

# 58 "setkey.c" 2
# 1 "/usr/local/arm-linux.org/arm-linux/include/netdb.h" 1 3
# 33 "/usr/local/arm-linux.org/arm-linux/include/netdb.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/rpc/netdb.h" 1 3
# 42 "/usr/local/arm-linux.org/arm-linux/include/rpc/netdb.h" 3
# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 1 3 4
# 43 "/usr/local/arm-linux.org/arm-linux/include/rpc/netdb.h" 2 3



struct rpcent
{
  char *r_name;
  char **r_aliases;
  int r_number;
};

extern void setrpcent (int __stayopen) ;
extern void endrpcent (void) ;
extern struct rpcent *getrpcbyname (__const char *__name) ;
extern struct rpcent *getrpcbynumber (int __number) ;
extern struct rpcent *getrpcent (void) ;


extern int getrpcbyname_r (__const char *__name, struct rpcent *__result_buf,
                           char *__buffer, size_t __buflen,
                           struct rpcent **__result) ;

extern int getrpcbynumber_r (int __number, struct rpcent *__result_buf,
                             char *__buffer, size_t __buflen,
                             struct rpcent **__result) ;

extern int getrpcent_r (struct rpcent *__result_buf, char *__buffer,
                        size_t __buflen, struct rpcent **__result) ;



# 34 "/usr/local/arm-linux.org/arm-linux/include/netdb.h" 2 3
# 43 "/usr/local/arm-linux.org/arm-linux/include/netdb.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/netdb.h" 1 3
# 27 "/usr/local/arm-linux.org/arm-linux/include/bits/netdb.h" 3
struct netent
{
  char *n_name;
  char **n_aliases;
  int n_addrtype;
  uint32_t n_net;
};
# 44 "/usr/local/arm-linux.org/arm-linux/include/netdb.h" 2 3
# 54 "/usr/local/arm-linux.org/arm-linux/include/netdb.h" 3



extern int h_errno;


extern int *__h_errno_location (void) __attribute__ ((__const__));
# 105 "/usr/local/arm-linux.org/arm-linux/include/netdb.h" 3
extern void herror (__const char *__str) ;


extern __const char *hstrerror (int __err_num) ;




struct hostent
{
  char *h_name;
  char **h_aliases;
  int h_addrtype;
  int h_length;
  char **h_addr_list;

};



extern void sethostent (int __stay_open) ;


extern void endhostent (void) ;



extern struct hostent *gethostent (void) ;



extern struct hostent *gethostbyaddr (__const void *__addr, __socklen_t __len,
                                      int __type) ;


extern struct hostent *gethostbyname (__const char *__name) ;





extern struct hostent *gethostbyname2 (__const char *__name, int __af) ;






extern int gethostent_r (struct hostent *__restrict __result_buf,
                         char *__restrict __buf, size_t __buflen,
                         struct hostent **__restrict __result,
                         int *__restrict __h_errnop) ;

extern int gethostbyaddr_r (__const void *__restrict __addr, __socklen_t __len,
                            int __type,
                            struct hostent *__restrict __result_buf,
                            char *__restrict __buf, size_t __buflen,
                            struct hostent **__restrict __result,
                            int *__restrict __h_errnop) ;

extern int gethostbyname_r (__const char *__restrict __name,
                            struct hostent *__restrict __result_buf,
                            char *__restrict __buf, size_t __buflen,
                            struct hostent **__restrict __result,
                            int *__restrict __h_errnop) ;

extern int gethostbyname2_r (__const char *__restrict __name, int __af,
                             struct hostent *__restrict __result_buf,
                             char *__restrict __buf, size_t __buflen,
                             struct hostent **__restrict __result,
                             int *__restrict __h_errnop) ;





extern void setnetent (int __stay_open) ;


extern void endnetent (void) ;



extern struct netent *getnetent (void) ;



extern struct netent *getnetbyaddr (uint32_t __net, int __type)
     ;


extern struct netent *getnetbyname (__const char *__name) ;







extern int getnetent_r (struct netent *__restrict __result_buf,
                        char *__restrict __buf, size_t __buflen,
                        struct netent **__restrict __result,
                        int *__restrict __h_errnop) ;

extern int getnetbyaddr_r (uint32_t __net, int __type,
                           struct netent *__restrict __result_buf,
                           char *__restrict __buf, size_t __buflen,
                           struct netent **__restrict __result,
                           int *__restrict __h_errnop) ;

extern int getnetbyname_r (__const char *__restrict __name,
                           struct netent *__restrict __result_buf,
                           char *__restrict __buf, size_t __buflen,
                           struct netent **__restrict __result,
                           int *__restrict __h_errnop) ;




struct servent
{
  char *s_name;
  char **s_aliases;
  int s_port;
  char *s_proto;
};



extern void setservent (int __stay_open) ;


extern void endservent (void) ;



extern struct servent *getservent (void) ;



extern struct servent *getservbyname (__const char *__name,
                                      __const char *__proto) ;



extern struct servent *getservbyport (int __port, __const char *__proto)
     ;





extern int getservent_r (struct servent *__restrict __result_buf,
                         char *__restrict __buf, size_t __buflen,
                         struct servent **__restrict __result) ;

extern int getservbyname_r (__const char *__restrict __name,
                            __const char *__restrict __proto,
                            struct servent *__restrict __result_buf,
                            char *__restrict __buf, size_t __buflen,
                            struct servent **__restrict __result) ;

extern int getservbyport_r (int __port, __const char *__restrict __proto,
                            struct servent *__restrict __result_buf,
                            char *__restrict __buf, size_t __buflen,
                            struct servent **__restrict __result) ;




struct protoent
{
  char *p_name;
  char **p_aliases;
  int p_proto;
};



extern void setprotoent (int __stay_open) ;


extern void endprotoent (void) ;



extern struct protoent *getprotoent (void) ;


extern struct protoent *getprotobyname (__const char *__name) ;


extern struct protoent *getprotobynumber (int __proto) ;





extern int getprotoent_r (struct protoent *__restrict __result_buf,
                          char *__restrict __buf, size_t __buflen,
                          struct protoent **__restrict __result) ;

extern int getprotobyname_r (__const char *__restrict __name,
                             struct protoent *__restrict __result_buf,
                             char *__restrict __buf, size_t __buflen,
                             struct protoent **__restrict __result) ;

extern int getprotobynumber_r (int __proto,
                               struct protoent *__restrict __result_buf,
                               char *__restrict __buf, size_t __buflen,
                               struct protoent **__restrict __result) ;




extern int setnetgrent (__const char *__netgroup) ;


extern void endnetgrent (void) ;



extern int getnetgrent (char **__restrict __hostp,
                        char **__restrict __userp,
                        char **__restrict __domainp) ;



extern int innetgr (__const char *__netgroup, __const char *__host,
                    __const char *, __const char *domain) ;


extern int getnetgrent_r (char **__restrict __hostp,
                          char **__restrict __userp,
                          char **__restrict __domainp,
                          char *__restrict __buffer, size_t __buflen) ;
# 351 "/usr/local/arm-linux.org/arm-linux/include/netdb.h" 3
extern int rcmd (char **__restrict __ahost, unsigned short int __rport,
                 __const char *__restrict __locuser,
                 __const char *__restrict __remuser,
                 __const char *__restrict __cmd, int *__restrict __fd2p)
     ;



extern int rcmd_af (char **__restrict __ahost, unsigned short int __rport,
                    __const char *__restrict __locuser,
                    __const char *__restrict __remuser,
                    __const char *__restrict __cmd, int *__restrict __fd2p,
                    sa_family_t __af) ;






extern int rexec (char **__restrict __ahost, int __rport,
                  __const char *__restrict __name,
                  __const char *__restrict __pass,
                  __const char *__restrict __cmd, int *__restrict __fd2p)
     ;



extern int rexec_af (char **__restrict __ahost, int __rport,
                     __const char *__restrict __name,
                     __const char *__restrict __pass,
                     __const char *__restrict __cmd, int *__restrict __fd2p,
                     sa_family_t __af) ;




extern int ruserok (__const char *__rhost, int __suser,
                    __const char *__remuser, __const char *__locuser) ;



extern int ruserok_af (__const char *__rhost, int __suser,
                       __const char *__remuser, __const char *__locuser,
                       sa_family_t __af) ;




extern int rresvport (int *__alport) ;



extern int rresvport_af (int *__alport, sa_family_t __af) ;






struct addrinfo
{
  int ai_flags;
  int ai_family;
  int ai_socktype;
  int ai_protocol;
  socklen_t ai_addrlen;
  struct sockaddr *ai_addr;
  char *ai_canonname;
  struct addrinfo *ai_next;
};
# 476 "/usr/local/arm-linux.org/arm-linux/include/netdb.h" 3
extern int getaddrinfo (__const char *__restrict __name,
                        __const char *__restrict __service,
                        __const struct addrinfo *__restrict __req,
                        struct addrinfo **__restrict __pai) ;


extern void freeaddrinfo (struct addrinfo *__ai) ;


extern __const char *gai_strerror (int __ecode) ;


extern int getnameinfo (__const struct sockaddr *__restrict __sa,
                        socklen_t __salen, char *__restrict __host,
                        socklen_t __hostlen, char *__restrict __serv,
                        socklen_t __servlen, unsigned int __flags) ;
# 515 "/usr/local/arm-linux.org/arm-linux/include/netdb.h" 3

# 59 "setkey.c" 2
# 1 "/usr/local/arm-linux.org/arm-linux/include/fcntl.h" 1 3
# 29 "/usr/local/arm-linux.org/arm-linux/include/fcntl.h" 3




# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/fcntl.h" 1 3
# 137 "/usr/local/arm-linux.org/arm-linux/include/bits/fcntl.h" 3
struct flock
  {
    short int l_type;
    short int l_whence;

    __off_t l_start;
    __off_t l_len;




    __pid_t l_pid;
  };
# 34 "/usr/local/arm-linux.org/arm-linux/include/fcntl.h" 2 3
# 60 "/usr/local/arm-linux.org/arm-linux/include/fcntl.h" 3
extern int fcntl (int __fd, int __cmd, ...) ;





extern int open (__const char *__file, int __oflag, ...) ;
# 83 "/usr/local/arm-linux.org/arm-linux/include/fcntl.h" 3
extern int creat (__const char *__file, __mode_t __mode) ;
# 165 "/usr/local/arm-linux.org/arm-linux/include/fcntl.h" 3

# 60 "setkey.c" 2
# 1 "/usr/local/arm-linux.org/arm-linux/include/dirent.h" 1 3
# 28 "/usr/local/arm-linux.org/arm-linux/include/dirent.h" 3

# 62 "/usr/local/arm-linux.org/arm-linux/include/dirent.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/dirent.h" 1 3
# 23 "/usr/local/arm-linux.org/arm-linux/include/bits/dirent.h" 3
struct dirent
  {

    __ino_t d_ino;
    __off_t d_off;




    unsigned short int d_reclen;
    unsigned char d_type;
    char d_name[256];
  };
# 63 "/usr/local/arm-linux.org/arm-linux/include/dirent.h" 2 3
# 98 "/usr/local/arm-linux.org/arm-linux/include/dirent.h" 3
enum
  {
    DT_UNKNOWN = 0,

    DT_FIFO = 1,

    DT_CHR = 2,

    DT_DIR = 4,

    DT_BLK = 6,

    DT_REG = 8,

    DT_LNK = 10,

    DT_SOCK = 12,

    DT_WHT = 14

  };
# 128 "/usr/local/arm-linux.org/arm-linux/include/dirent.h" 3
typedef struct __dirstream DIR;



extern DIR *opendir (__const char *__name) ;



extern int closedir (DIR *__dirp) ;
# 146 "/usr/local/arm-linux.org/arm-linux/include/dirent.h" 3
extern struct dirent *readdir (DIR *__dirp) ;
# 163 "/usr/local/arm-linux.org/arm-linux/include/dirent.h" 3
extern int readdir_r (DIR *__restrict __dirp,
                      struct dirent *__restrict __entry,
                      struct dirent **__restrict __result) ;
# 186 "/usr/local/arm-linux.org/arm-linux/include/dirent.h" 3
extern void rewinddir (DIR *__dirp) ;





extern void seekdir (DIR *__dirp, long int __pos) ;


extern long int telldir (DIR *__dirp) ;





extern int dirfd (DIR *__dirp) ;







# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/posix1_lim.h" 1 3
# 126 "/usr/local/arm-linux.org/arm-linux/include/bits/posix1_lim.h" 3
# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/local_lim.h" 1 3
# 127 "/usr/local/arm-linux.org/arm-linux/include/bits/posix1_lim.h" 2 3
# 210 "/usr/local/arm-linux.org/arm-linux/include/dirent.h" 2 3
# 220 "/usr/local/arm-linux.org/arm-linux/include/dirent.h" 3
# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 1 3 4
# 221 "/usr/local/arm-linux.org/arm-linux/include/dirent.h" 2 3






extern int scandir (__const char *__restrict __dir,
                    struct dirent ***__restrict __namelist,
                    int (*__selector) (__const struct dirent *),
                    int (*__cmp) (__const void *, __const void *)) ;
# 255 "/usr/local/arm-linux.org/arm-linux/include/dirent.h" 3
extern int alphasort (__const void *__e1, __const void *__e2)
     __attribute__ ((__pure__));
# 300 "/usr/local/arm-linux.org/arm-linux/include/dirent.h" 3
extern __ssize_t getdirentries (int __fd, char *__restrict __buf,
                                size_t __nbytes,
                                __off_t *__restrict __basep) ;
# 323 "/usr/local/arm-linux.org/arm-linux/include/dirent.h" 3

# 61 "setkey.c" 2
# 1 "/usr/local/arm-linux.org/arm-linux/include/time.h" 1 3
# 30 "/usr/local/arm-linux.org/arm-linux/include/time.h" 3








# 1 "/usr/local/arm-linux.org/lib/gcc-lib/arm-linux/3.3.2/include/stddef.h" 1 3 4
# 39 "/usr/local/arm-linux.org/arm-linux/include/time.h" 2 3



# 1 "/usr/local/arm-linux.org/arm-linux/include/bits/time.h" 1 3
# 40 "/usr/local/arm-linux.org/arm-linux/include/bits/time.h" 3
extern long int __sysconf (int);
# 43 "/usr/local/arm-linux.org/arm-linux/include/time.h" 2 3
# 118 "/usr/local/arm-linux.org/arm-linux/include/time.h" 3
struct tm
{
  int tm_sec;
  int tm_min;
  int tm_hour;
  int tm_mday;
  int tm_mon;
  int tm_year;
  int tm_wday;
  int tm_yday;
  int tm_isdst;


  long int tm_gmtoff;
  __const char *tm_zone;




};




struct itimerspec
  {
    struct timespec it_interval;
    struct timespec it_value;
  };


struct sigevent;
# 163 "/usr/local/arm-linux.org/arm-linux/include/time.h" 3
extern clock_t clock (void) ;


extern time_t time (time_t *__timer) ;


extern double difftime (time_t __time1, time_t __time0)
     __attribute__ ((__const__));


extern time_t mktime (struct tm *__tp) ;





extern size_t strftime (char *__restrict __s, size_t __maxsize,
                        __const char *__restrict __format,
                        __const struct tm *__restrict __tp) ;




extern char *strptime (__const char *__restrict __s,
                       __const char *__restrict __fmt, struct tm *__tp)
     ;





extern struct tm *gmtime (__const time_t *__timer) ;



extern struct tm *localtime (__const time_t *__timer) ;




extern struct tm *gmtime_r (__const time_t *__restrict __timer,
                            struct tm *__restrict __tp) ;



extern struct tm *localtime_r (__const time_t *__restrict __timer,
                               struct tm *__restrict __tp) ;




extern char *asctime (__const struct tm *__tp) ;


extern char *ctime (__const time_t *__timer) ;






extern char *asctime_r (__const struct tm *__restrict __tp,
                        char *__restrict __buf) ;


extern char *ctime_r (__const time_t *__restrict __timer,
                      char *__restrict __buf) ;




extern char *__tzname[2];
extern int __daylight;
extern long int __timezone;




extern char *tzname[2];



extern void tzset (void) ;



extern int daylight;
extern long int timezone;
# 271 "/usr/local/arm-linux.org/arm-linux/include/time.h" 3
extern time_t timegm (struct tm *__tp) ;


extern time_t timelocal (struct tm *__tp) ;


extern int dysize (int __year) __attribute__ ((__const__));





extern int nanosleep (__const struct timespec *__requested_time,
                      struct timespec *__remaining) ;



extern int clock_getres (clockid_t __clock_id, struct timespec *__res) ;


extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) ;


extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
     ;
# 309 "/usr/local/arm-linux.org/arm-linux/include/time.h" 3
extern int timer_create (clockid_t __clock_id,
                         struct sigevent *__restrict __evp,
                         timer_t *__restrict __timerid) ;


extern int timer_delete (timer_t __timerid) ;


extern int timer_settime (timer_t __timerid, int __flags,
                          __const struct itimerspec *__restrict __value,
                          struct itimerspec *__restrict __ovalue) ;


extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
     ;


extern int timer_getoverrun (timer_t __timerid) ;
# 342 "/usr/local/arm-linux.org/arm-linux/include/time.h" 3
extern int getdate_err;





extern struct tm *getdate (__const char *__string) ;
# 362 "/usr/local/arm-linux.org/arm-linux/include/time.h" 3

# 62 "setkey.c" 2






# 1 "../../config.h" 1
# 69 "setkey.c" 2
# 1 "../../src/libipsec/libpfkey.h" 1
# 47 "../../src/libipsec/libpfkey.h"
struct sadb_msg;
extern void pfkey_sadump (struct sadb_msg *) ;
extern void pfkey_sadump_withports (struct sadb_msg *) ;
extern void pfkey_spdump (struct sadb_msg *) ;
extern void pfkey_spdump_withports (struct sadb_msg *) ;

struct sockaddr;
struct sadb_alg;



# 1 "../../src/include-glibc/netinet/ipsec.h" 1
# 59 "../../src/libipsec/libpfkey.h" 2


typedef caddr_t ipsec_policy_t;





struct pfkey_send_sa_args {
        int so;
        u_int type;
        u_int satype;
        u_int mode;
        struct sockaddr *src;
        struct sockaddr *dst;
        u_int32_t spi;
        u_int32_t reqid;
        u_int wsize;
        caddr_t keymat;
        u_int e_type, e_keylen;
        u_int a_type, a_keylen;
        u_int flags;
        u_int32_t l_alloc;
        u_int32_t l_bytes;
        u_int32_t l_addtime;
        u_int32_t l_usetime;
        u_int32_t seq;
        u_int8_t l_natt_type;
        u_int16_t l_natt_sport, l_natt_dport;
        struct sockaddr *l_natt_oa;
        u_int16_t l_natt_frag;
        u_int8_t ctxdoi, ctxalg;
        caddr_t ctxstr;
        u_int16_t ctxstrlen;
};


extern int libipsec_opt;






int ipsec_check_keylen (u_int, u_int, u_int) ;
int ipsec_check_keylen2 (u_int, u_int, u_int) ;
int ipsec_get_keylen (u_int, u_int, struct sadb_alg *) ;
char *ipsec_dump_policy_withports (void *, const char *) ;
void ipsec_hexdump (const void *, int) ;
const char *ipsec_strerror (void) ;
void kdebug_sadb (struct sadb_msg *) ;
ipsec_policy_t ipsec_set_policy ( char *, int) ;
int ipsec_get_policylen (ipsec_policy_t) ;
char *ipsec_dump_policy (ipsec_policy_t, char *) ;



u_int pfkey_set_softrate (u_int, u_int) ;
u_int pfkey_get_softrate (u_int) ;
int pfkey_send_getspi (int, u_int, u_int, struct sockaddr *, struct sockaddr *, u_int32_t, u_int32_t, u_int32_t, u_int32_t) ;

int pfkey_send_update2 (struct pfkey_send_sa_args *) ;
int pfkey_send_add2 (struct pfkey_send_sa_args *) ;
int pfkey_send_delete (int, u_int, u_int, struct sockaddr *, struct sockaddr *, u_int32_t) ;

int pfkey_send_delete_all (int, u_int, u_int, struct sockaddr *, struct sockaddr *) ;

int pfkey_send_get (int, u_int, u_int, struct sockaddr *, struct sockaddr *, u_int32_t) ;

int pfkey_send_register (int, u_int) ;
int pfkey_recv_register (int) ;
int pfkey_set_supported (struct sadb_msg *, int) ;
int pfkey_send_flush (int, u_int) ;
int pfkey_send_dump (int, u_int) ;
int pfkey_send_promisc_toggle (int, int) ;
int pfkey_send_spdadd (int, struct sockaddr *, u_int, struct sockaddr *, u_int, u_int, caddr_t, int, u_int32_t) ;

int pfkey_send_spdadd2 (int, struct sockaddr *, u_int, struct sockaddr *, u_int, u_int, u_int64_t, u_int64_t, caddr_t, int, u_int32_t) ;


int pfkey_send_spdupdate (int, struct sockaddr *, u_int, struct sockaddr *, u_int, u_int, caddr_t, int, u_int32_t) ;

int pfkey_send_spdupdate2 (int, struct sockaddr *, u_int, struct sockaddr *, u_int, u_int, u_int64_t, u_int64_t, caddr_t, int, u_int32_t) ;


int pfkey_send_spddelete (int, struct sockaddr *, u_int, struct sockaddr *, u_int, u_int, caddr_t, int, u_int32_t) ;

int pfkey_send_spddelete2 (int, u_int32_t) ;
int pfkey_send_spdget (int, u_int32_t) ;
int pfkey_send_spdsetidx (int, struct sockaddr *, u_int, struct sockaddr *, u_int, u_int, caddr_t, int, u_int32_t) ;

int pfkey_send_spdflush (int) ;
int pfkey_send_spddump (int) ;





int pfkey_open (void) ;
void pfkey_close (int) ;
struct sadb_msg *pfkey_recv (int) ;
int pfkey_send (int, struct sadb_msg *, int) ;
int pfkey_align (struct sadb_msg *, caddr_t *) ;
int pfkey_check (caddr_t *) ;





int pfkey_send_update (int, u_int, u_int, struct sockaddr *, struct sockaddr *, u_int32_t, u_int32_t, u_int, caddr_t, u_int, u_int, u_int, u_int, u_int, u_int32_t, u_int64_t, u_int64_t, u_int64_t, u_int32_t) ;



int pfkey_send_update_nat (int, u_int, u_int, struct sockaddr *, struct sockaddr *, u_int32_t, u_int32_t, u_int, caddr_t, u_int, u_int, u_int, u_int, u_int, u_int32_t, u_int64_t, u_int64_t, u_int64_t, u_int32_t, u_int8_t, u_int16_t, u_int16_t, struct sockaddr *, u_int16_t) ;




int pfkey_send_add (int, u_int, u_int, struct sockaddr *, struct sockaddr *, u_int32_t, u_int32_t, u_int, caddr_t, u_int, u_int, u_int, u_int, u_int, u_int32_t, u_int64_t, u_int64_t, u_int64_t, u_int32_t) ;



int pfkey_send_add_nat (int, u_int, u_int, struct sockaddr *, struct sockaddr *, u_int32_t, u_int32_t, u_int, caddr_t, u_int, u_int, u_int, u_int, u_int, u_int32_t, u_int64_t, u_int64_t, u_int64_t, u_int32_t, u_int8_t, u_int16_t, u_int16_t, struct sockaddr *, u_int16_t) ;
# 199 "../../src/libipsec/libpfkey.h"
static __inline u_int8_t
sysdep_sa_len (const struct sockaddr *sa)
{

  switch (sa->sa_family)
    {
    case 2:
      return sizeof (struct sockaddr_in);
    case 10:
      return sizeof (struct sockaddr_in6);
    }

  return sizeof (struct sockaddr_in);



}
# 70 "setkey.c" 2
# 1 "../../package_version.h" 1
# 71 "setkey.c" 2

# 1 "extern.h" 1




void parse_init (void) ;
int parse (FILE **) ;
int parse_string (char *) ;

int setkeymsg (char *, size_t *) ;
int sendkeymsg (char *, size_t) ;

int yylex (void) ;
int yyparse (void) ;
void yyfatal (const char *) ;
void yyerror (const char *) ;

 int f_rfcmode;
 int lineno;
 int last_msg_type;
 u_int32_t last_priority;
 int exit_now;

 u_char m_buf[8192];
 u_int m_len;
 int f_debug;


 int last_msg_type;
 u_int32_t last_priority;
# 73 "setkey.c" 2



void usage (int) ;
int main (int, char **) ;
int get_supported (void) ;
void sendkeyshort (u_int) ;
void promisc (void) ;
int postproc (struct sadb_msg *, int) ;
int verifypriority (struct sadb_msg *m) ;
int fileproc (const char *) ;
const char *numstr (int) ;
void shortdump_hdr (void) ;
void shortdump (struct sadb_msg *) ;
static void printdate (void) ;
static int32_t gmt2local (time_t) ;
void stdin_loop (void) ;







int so;

int f_forever = 0;
int f_all = 0;
int f_verbose = 0;
int f_mode = 0;
int f_cmddump = 0;
int f_policy = 0;
int f_hexdump = 0;
int f_tflag = 0;
int f_notreally = 0;
int f_withports = 0;




int f_rkwarn = 0;

static void rkwarn(void);
static void
rkwarn(void)
{
        if (!f_rkwarn) {
                f_rkwarn = 1;
                printf("warning: -r and -k options are not supported in this environment\n");
        }
}


static time_t thiszone;

void
usage(int only_version)
{
        printf("setkey @(#) %s (%s)\n", "ipsec-tools 0.7", "http://ipsec-tools.sourceforge.net");
        if (! only_version) {
                printf("usage: setkey [-v" "" "] file ...\n");
                printf("       setkey [-nv" "" "] -c\n");
                printf("       setkey [-nv" "" "] -f filename\n");
                printf("       setkey [-Palpv" "" "] -D\n");
                printf("       setkey [-Pv] -F\n");
                printf("       setkey [-H] -x\n");
                printf("       setkey [-V] [-h]\n");
        }
        exit(1);
}

int
main(argc, argv)
        int argc;
        char **argv;
{
        FILE *fp = stdin;
        int c;

        if (argc == 1) {
                usage(0);

        }

        thiszone = gmt2local(0);

        while ((c = getopt(argc, argv, "acdf:HlnvxDFPphVrk?")) != -1) {
                switch (c) {
                case 'c':
                        f_mode = 5;




                        break;
                case 'f':
                        f_mode = 1;
                        if ((fp = fopen(optarg, "r")) == ((void *)0)) {
                                err(1, "fopen");

                        }
                        break;
                case 'D':
                        f_mode = 2;
                        break;
                case 'F':
                        f_mode = 3;
                        break;
                case 'a':
                        f_all = 1;
                        break;
                case 'l':
                        f_forever = 1;
                        break;
                case 'n':
                        f_notreally = 1;
                        break;



                case 'H':
                        f_hexdump = 1;
                        break;
                case 'x':
                        f_mode = 4;
                        f_tflag++;
                        break;
                case 'P':
                        f_policy = 1;
                        break;
                case 'p':
                        f_withports = 1;
                        break;
                case 'v':
                        f_verbose = 1;
                        break;
                case 'r':



                        rkwarn();

                        break;
                case 'k':



                        rkwarn();

                        break;
                case 'V':
                        usage(1);
                        break;


                case 'h':

                case '?':
                default:
                        usage(0);

                }
        }

        argc -= optind;
        argv += optind;

        if (argc > 0) {
                while (argc--)
                        if (fileproc(*argv++) < 0) {
                                err(1, "%s", argv[-1]);

                        }
                exit(0);
        }

        so = pfkey_open();
        if (so < 0) {
                perror("pfkey_open");
                exit(1);
        }

        switch (f_mode) {
        case 2:
                sendkeyshort(f_policy ? 18 : 10);
                break;
        case 3:
                sendkeyshort(f_policy ? 19: 9);
                break;
        case 1:
                if (get_supported() < 0) {
                        errx(1, "%s", ipsec_strerror());

                }
                if (parse(&fp))
                        exit (1);
                break;
        case 5:
                if (get_supported() < 0) {
                        errx(1, "%s", ipsec_strerror());

                }
                stdin_loop();
                break;
        case 4:
                promisc();

        default:
                usage(0);

        }

        exit(0);
}

int
get_supported()
{

        if (pfkey_send_register(so, 0) < 0)
                return -1;

        if (pfkey_recv_register(so) < 0)
                return -1;

        return (0);
}

void
stdin_loop()
{
        char line[1024], *semicolon, *comment;
        size_t linelen = 0;

        (__extension__ (__builtin_constant_p (0) && (0) == '\0' ? ({ void *__s = (line); __builtin_memset (__s, '\0', sizeof(line)); __s; }) : memset (line, 0, sizeof(line))));

        parse_init();
        while (1) {






                char rbuf[1024];
                rbuf[0] = '\0';
                fgets (rbuf, sizeof(rbuf), stdin);
                if (!rbuf[0])
                        break;
                if (rbuf[strlen(rbuf)-1] == '\n')
                        rbuf[strlen(rbuf)-1] = '\0';

                comment = (__extension__ (__builtin_constant_p ('#') && ('#') == '\0' ? (char *) __rawmemchr (rbuf, '#') : strchr (rbuf, '#')));
                if (comment)
                        *comment = '\0';

                if (!rbuf[0])
                        continue;

                linelen += snprintf (&line[linelen], sizeof(line) - linelen,
                                     "%s%s", linelen > 0 ? " " : "", rbuf);

                semicolon = (__extension__ (__builtin_constant_p (';') && (';') == '\0' ? (char *) __rawmemchr (line, ';') : strchr (line, ';')));
                while (semicolon) {
                        char saved_char = *++semicolon;
                        *semicolon = '\0';





                        last_msg_type = -1;


                        parse_string (line);
                        if (exit_now)
                                return;
                        if (saved_char) {
                                *semicolon = saved_char;
                                linelen = strlen (semicolon);
                                memmove (line, semicolon, linelen + 1);
                                semicolon = (__extension__ (__builtin_constant_p (';') && (';') == '\0' ? (char *) __rawmemchr (line, ';') : strchr (line, ';')));
                        }
                        else {
                                semicolon = ((void *)0);
                                linelen = 0;
                        }
                }
        }
}

void
sendkeyshort(type)
        u_int type;
{
        struct sadb_msg msg;

        msg.sadb_msg_version = 2;
        msg.sadb_msg_type = type;
        msg.sadb_msg_errno = 0;
        msg.sadb_msg_satype = 0;
        msg.sadb_msg_len = ((sizeof(msg)) >> 3);
        msg.sadb_msg_reserved = 0;
        msg.sadb_msg_seq = 0;
        msg.sadb_msg_pid = getpid();

        sendkeymsg((char *)&msg, sizeof(msg));

        return;
}

void
promisc()
{
        struct sadb_msg msg;
        u_char rbuf[1024 * 32];
        ssize_t l;

        msg.sadb_msg_version = 2;
        msg.sadb_msg_type = 11;
        msg.sadb_msg_errno = 0;
        msg.sadb_msg_satype = 1;
        msg.sadb_msg_len = ((sizeof(msg)) >> 3);
        msg.sadb_msg_reserved = 0;
        msg.sadb_msg_seq = 0;
        msg.sadb_msg_pid = getpid();

        if ((l = send(so, &msg, sizeof(msg), 0)) < 0) {
                err(1, "send");

        }

        while (1) {
                struct sadb_msg *base;

                if ((l = recv(so, rbuf, sizeof(*base), MSG_PEEK)) < 0) {
                        err(1, "recv");

                }

                if (l != sizeof(*base))
                        continue;

                base = (struct sadb_msg *)rbuf;
                if ((l = recv(so, rbuf, ((base->sadb_msg_len) << 3),
                                0)) < 0) {
                        err(1, "recv");

                }
                printdate();
                if (f_hexdump) {
                        int i;
                        for (i = 0; i < l; i++) {
                                if (i % 16 == 0)
                                        printf("%08x: ", i);
                                printf("%02x ", rbuf[i] & 0xff);
                                if (i % 16 == 15)
                                        printf("\n");
                        }
                        if (l % 16)
                                printf("\n");
                }

                if (base->sadb_msg_type == 11) {
                        if ((ssize_t)sizeof(*base) < l)
                                base++;
                        else
                                base = ((void *)0);
                }
                if (base) {
                        kdebug_sadb(base);
                        printf("\n");
                        fflush(stdout);
                }
        }
}

int
sendkeymsg(buf, len)
        char *buf;
        size_t len;
{
        u_char rbuf[1024 * 32];
        ssize_t l;
        struct sadb_msg *msg;

        if (f_notreally) {
                goto end;
        }

    {
        struct timeval tv;
        tv.tv_sec = 1;
        tv.tv_usec = 0;
        if (setsockopt(so, 1, 20, &tv, sizeof(tv)) < 0) {
                perror("setsockopt");
                goto end;
        }
    }

        if (f_forever)
                shortdump_hdr();
again:
        if (f_verbose) {
                kdebug_sadb((struct sadb_msg *)buf);
                printf("\n");
        }
        if (f_hexdump) {
                int i;
                for (i = 0; i < len; i++) {
                        if (i % 16 == 0)
                                printf("%08x: ", i);
                        printf("%02x ", buf[i] & 0xff);
                        if (i % 16 == 15)
                                printf("\n");
                }
                if (len % 16)
                        printf("\n");
        }

        if ((l = send(so, buf, len, 0)) < 0) {
                perror("send");
                goto end;
        }

        msg = (struct sadb_msg *)rbuf;
        do {
                if ((l = recv(so, rbuf, sizeof(rbuf), 0)) < 0) {
                        perror("recv");
                        goto end;
                }

                if (((msg->sadb_msg_len) << 3) != l) {
                        warnx("invalid keymsg length");
                        break;
                }

                if (f_verbose) {
                        kdebug_sadb((struct sadb_msg *)rbuf);
                        printf("\n");
                }
                if (postproc(msg, l) < 0)
                        break;
        } while (msg->sadb_msg_errno || msg->sadb_msg_seq);

        if (f_forever) {
                fflush(stdout);
                sleep(1);
                goto again;
        }

end:
        return (0);
}

int
postproc(msg, len)
        struct sadb_msg *msg;
        int len;
{

        static int priority_support_check = 0;


        if (msg->sadb_msg_errno != 0) {
                char inf[80];
                const char *errmsg = ((void *)0);

                if (f_mode == 1)
                        snprintf(inf, sizeof(inf), "The result of line %d: ", lineno);
                else
                        inf[0] = '\0';

                switch (msg->sadb_msg_errno) {
                case 2:
                        switch (msg->sadb_msg_type) {
                        case 4:
                        case 5:
                        case 15:
                                errmsg = "No entry";
                                break;
                        case 10:
                                errmsg = "No SAD entries";
                                break;
                        case 18:
                                errmsg = "No SPD entries";
                                break;
                        }
                        break;
                default:
                        errmsg = strerror(msg->sadb_msg_errno);
                }
                printf("%s%s.\n", inf, errmsg);
                return (-1);
        }

        switch (msg->sadb_msg_type) {
        case 5:
                if (f_withports)
                        pfkey_sadump_withports(msg);
                else
                        pfkey_sadump(msg);
                break;

        case 10:

                if (!f_all) {
                        caddr_t mhp[23 + 1];
                        struct sadb_sa *sa;
                        pfkey_align(msg, mhp);
                        pfkey_check(mhp);
                        if ((sa = (struct sadb_sa *)mhp[1]) != ((void *)0)) {
                                if (sa->sadb_sa_state == 3)
                                        break;
                        }
                }
                if (f_forever) {

                        shortdump(msg);
                } else {
                        if (f_withports)
                                pfkey_sadump_withports(msg);
                        else
                                pfkey_sadump(msg);
                }
                msg = (struct sadb_msg *)((caddr_t)msg +
                                     ((msg->sadb_msg_len) << 3));
                if (f_verbose) {
                        kdebug_sadb((struct sadb_msg *)msg);
                        printf("\n");
                }
                break;

        case 16:
                if (f_withports)
                        pfkey_spdump_withports(msg);
                else
                        pfkey_spdump(msg);
                break;

        case 18:
                if (f_withports)
                        pfkey_spdump_withports(msg);
                else
                        pfkey_spdump(msg);
                if (msg->sadb_msg_seq == 0) break;
                msg = (struct sadb_msg *)((caddr_t)msg +
                                     ((msg->sadb_msg_len) << 3));
                if (f_verbose) {
                        kdebug_sadb((struct sadb_msg *)msg);
                        printf("\n");
                }
                break;

        case 14:
                if (last_msg_type == 14 && last_priority != 0 &&
                    msg->sadb_msg_pid == getpid() && !priority_support_check) {
                        priority_support_check = 1;
                        if (!verifypriority(msg))
                                printf ("WARNING: Kernel does not support policy priorities\n");
                }
                break;

        }

        return (0);
}


int
verifypriority(m)
        struct sadb_msg *m;
{
        caddr_t mhp[23 + 1];
        struct sadb_x_policy *xpl;


        if (pfkey_align(m, mhp)) {
                printf("(%s\n", ipsec_strerror());
                return 0;
        }
        if (pfkey_check(mhp)) {
                printf("%s\n", ipsec_strerror());
                return 0;
        }

        xpl = (struct sadb_x_policy *) mhp[18];

        if (xpl == ((void *)0)) {
                printf("no X_POLICY extension.\n");
                return 0;
        }


        if (last_priority != xpl->sadb_x_policy_priority)
                return 0;

        return 1;
}


int
fileproc(filename)
        const char *filename;
{
        int fd;
        ssize_t len, l;
        u_char *p, *ep;
        struct sadb_msg *msg;
        u_char rbuf[1024 * 32];

        fd = open(filename, 00);
        if (fd < 0)
                return -1;

        l = 0;
        while (1) {
                len = read(fd, rbuf + l, sizeof(rbuf) - l);
                if (len < 0) {
                        close(fd);
                        return -1;
                } else if (len == 0)
                        break;
                l += len;
        }

        if (l < sizeof(struct sadb_msg)) {
                close(fd);
                (*__errno_location ()) = 22;
                return -1;
        }
        close(fd);

        p = rbuf;
        ep = rbuf + l;

        while (p < ep) {
                msg = (struct sadb_msg *)p;
                len = ((msg->sadb_msg_len) << 3);
                postproc(msg, len);
                p += len;
        }

        return (0);
}



static const char *satype[] = {
        ((void *)0), ((void *)0), "ah", "esp"
};
static const char *sastate[] = {
        "L", "M", "D", "d"
};
static const char *ipproto[] = {
        "ip", "icmp", "igmp", "ggp", "ip4",
        ((void *)0), "tcp", ((void *)0), "egp", ((void *)0),
        ((void *)0), ((void *)0), ((void *)0), ((void *)0), ((void *)0),
        ((void *)0), ((void *)0), "udp", ((void *)0), ((void *)0),
        ((void *)0), ((void *)0), "idp", ((void *)0), ((void *)0),
        ((void *)0), ((void *)0), ((void *)0), ((void *)0), "tp",
        ((void *)0), ((void *)0), ((void *)0), ((void *)0), ((void *)0),
        ((void *)0), ((void *)0), ((void *)0), ((void *)0), ((void *)0),
        ((void *)0), "ip6", ((void *)0), "rt6", "frag6",
        ((void *)0), "rsvp", "gre", ((void *)0), ((void *)0),
        "esp", "ah", ((void *)0), ((void *)0), ((void *)0),
        ((void *)0), ((void *)0), ((void *)0), "icmp6", "none",
        "dst6",
};




const char *
numstr(x)
        int x;
{
        static char buf[20];
        snprintf(buf, sizeof(buf), "#%d", x);
        return buf;
}

void
shortdump_hdr()
{
        printf("%-4s %-3s %-1s %-8s %-7s %s -> %s\n",
                "time", "p", "s", "spi", "ltime", "src", "dst");
}

void
shortdump(msg)
        struct sadb_msg *msg;
{
        caddr_t mhp[23 + 1];
        char buf[1025], pbuf[32];
        struct sadb_sa *sa;
        struct sadb_address *saddr;
        struct sadb_lifetime *lts, *lth, *ltc;
        struct sockaddr *s;
        u_int t;
        time_t cur = time(0);

        pfkey_align(msg, mhp);
        pfkey_check(mhp);

        printf("%02lu%02lu", (u_long)(cur % 3600) / 60, (u_long)(cur % 60));

        printf(" %-3s", (((msg->sadb_msg_satype) < sizeof(satype)/sizeof(satype[0]) && satype[(msg->sadb_msg_satype)]) ? satype[(msg->sadb_msg_satype)] : numstr(msg->sadb_msg_satype)));

        if ((sa = (struct sadb_sa *)mhp[1]) != ((void *)0)) {
                printf(" %-1s", (((sa->sadb_sa_state) < sizeof(sastate)/sizeof(sastate[0]) && sastate[(sa->sadb_sa_state)]) ? sastate[(sa->sadb_sa_state)] : numstr(sa->sadb_sa_state)));
                printf(" %08x", (u_int32_t)(__extension__ ({ unsigned int __bsx = (sa->sadb_sa_spi); ((((__bsx) & 0xff000000) >> 24) | (((__bsx) & 0x00ff0000) >> 8) | (((__bsx) & 0x0000ff00) << 8) | (((__bsx) & 0x000000ff) << 24)); })));
        } else
                printf("%-1s %-8s", "?", "?");

        lts = (struct sadb_lifetime *)mhp[4];
        lth = (struct sadb_lifetime *)mhp[3];
        ltc = (struct sadb_lifetime *)mhp[2];
        if (lts && lth && ltc) {
                if (ltc->sadb_lifetime_addtime == 0)
                        t = (u_long)0;
                else
                        t = (u_long)(cur - ltc->sadb_lifetime_addtime);
                if (t >= 1000)
                        ((__extension__ (__builtin_constant_p (" big/") && __builtin_constant_p (sizeof(buf)) ? (strlen (" big/") + 1 >= ((size_t) (sizeof(buf))) ? (char *) memcpy (buf, " big/", sizeof(buf)) : strncpy (buf, " big/", sizeof(buf))) : strncpy (buf, " big/", sizeof(buf)))), (buf)[(sizeof(buf))-1] = '\0');
                else
                        snprintf(buf, sizeof(buf), " %3lu/", (u_long)t);
                printf("%s", buf);

                t = (u_long)lth->sadb_lifetime_addtime;
                if (t >= 1000)
                        ((__extension__ (__builtin_constant_p ("big") && __builtin_constant_p (sizeof(buf)) ? (strlen ("big") + 1 >= ((size_t) (sizeof(buf))) ? (char *) memcpy (buf, "big", sizeof(buf)) : strncpy (buf, "big", sizeof(buf))) : strncpy (buf, "big", sizeof(buf)))), (buf)[(sizeof(buf))-1] = '\0');
                else
                        snprintf(buf, sizeof(buf), "%-3lu", (u_long)t);
                printf("%s", buf);
        } else
                printf(" ??\?/???");

        printf(" ");

        if ((saddr = (struct sadb_address *)mhp[5]) != ((void *)0)) {
                if (saddr->sadb_address_proto)
                        printf("%s ", (((saddr->sadb_address_proto) < sizeof(ipproto)/sizeof(ipproto[0]) && ipproto[(saddr->sadb_address_proto)]) ? ipproto[(saddr->sadb_address_proto)] : numstr(saddr->sadb_address_proto)));
                s = (struct sockaddr *)(saddr + 1);
                getnameinfo(s, sysdep_sa_len(s), buf, sizeof(buf),
                        pbuf, sizeof(pbuf), 1|2);
                if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (pbuf) && __builtin_constant_p ("0") && (__s1_len = strlen (pbuf), __s2_len = strlen ("0"), (!((size_t)(const void *)((pbuf) + 1) - (size_t)(const void *)(pbuf) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("0") + 1) - (size_t)(const void *)("0") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (pbuf), (__const char *) ("0"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (pbuf) && ((size_t)(const void *)((pbuf) + 1) - (size_t)(const void *)(pbuf) == 1) && (__s1_len = strlen (pbuf), __s1_len < 4) ? (__builtin_constant_p ("0") && ((size_t)(const void *)(("0") + 1) - (size_t)(const void *)("0") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (pbuf))[0] - ((__const unsigned char *) (__const char *)("0"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (pbuf))[1] - ((__const unsigned char *) (__const char *) ("0"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (pbuf))[2] - ((__const unsigned char *) (__const char *) ("0"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (pbuf))[3] - ((__const unsigned char *) (__const char *) ("0"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("0"); register int __result = (((__const unsigned char *) (__const char *) (pbuf))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (pbuf))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (pbuf))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (pbuf))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("0") && ((size_t)(const void *)(("0") + 1) - (size_t)(const void *)("0") == 1) && (__s2_len = strlen ("0"), __s2_len < 4) ? (__builtin_constant_p (pbuf) && ((size_t)(const void *)((pbuf) + 1) - (size_t)(const void *)(pbuf) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (pbuf))[0] - ((__const unsigned char *) (__const char *)("0"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (pbuf))[1] - ((__const unsigned char *) (__const char *) ("0"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (pbuf))[2] - ((__const unsigned char *) (__const char *) ("0"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (pbuf))[3] - ((__const unsigned char *) (__const char *) ("0"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (pbuf); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("0"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("0"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("0"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("0"))[3]); } } __result; }))) : strcmp (pbuf, "0")))); }) != 0)
                        printf("%s[%s]", buf, pbuf);
                else
                        printf("%s", buf);
        } else
                printf("?");

        printf(" -> ");

        if ((saddr = (struct sadb_address *)mhp[6]) != ((void *)0)) {
                if (saddr->sadb_address_proto)
                        printf("%s ", (((saddr->sadb_address_proto) < sizeof(ipproto)/sizeof(ipproto[0]) && ipproto[(saddr->sadb_address_proto)]) ? ipproto[(saddr->sadb_address_proto)] : numstr(saddr->sadb_address_proto)));

                s = (struct sockaddr *)(saddr + 1);
                getnameinfo(s, sysdep_sa_len(s), buf, sizeof(buf),
                        pbuf, sizeof(pbuf), 1|2);
                if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (pbuf) && __builtin_constant_p ("0") && (__s1_len = strlen (pbuf), __s2_len = strlen ("0"), (!((size_t)(const void *)((pbuf) + 1) - (size_t)(const void *)(pbuf) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("0") + 1) - (size_t)(const void *)("0") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (pbuf), (__const char *) ("0"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (pbuf) && ((size_t)(const void *)((pbuf) + 1) - (size_t)(const void *)(pbuf) == 1) && (__s1_len = strlen (pbuf), __s1_len < 4) ? (__builtin_constant_p ("0") && ((size_t)(const void *)(("0") + 1) - (size_t)(const void *)("0") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (pbuf))[0] - ((__const unsigned char *) (__const char *)("0"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (pbuf))[1] - ((__const unsigned char *) (__const char *) ("0"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (pbuf))[2] - ((__const unsigned char *) (__const char *) ("0"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (pbuf))[3] - ((__const unsigned char *) (__const char *) ("0"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("0"); register int __result = (((__const unsigned char *) (__const char *) (pbuf))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (pbuf))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (pbuf))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (pbuf))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("0") && ((size_t)(const void *)(("0") + 1) - (size_t)(const void *)("0") == 1) && (__s2_len = strlen ("0"), __s2_len < 4) ? (__builtin_constant_p (pbuf) && ((size_t)(const void *)((pbuf) + 1) - (size_t)(const void *)(pbuf) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (pbuf))[0] - ((__const unsigned char *) (__const char *)("0"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (pbuf))[1] - ((__const unsigned char *) (__const char *) ("0"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (pbuf))[2] - ((__const unsigned char *) (__const char *) ("0"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (pbuf))[3] - ((__const unsigned char *) (__const char *) ("0"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (pbuf); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("0"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("0"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("0"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("0"))[3]); } } __result; }))) : strcmp (pbuf, "0")))); }) != 0)
                        printf("%s[%s]", buf, pbuf);
                else
                        printf("%s", buf);
        } else
                printf("?");

        printf("\n");
}





static void
printdate()
{
        struct timeval tp;
        int s;

        if (gettimeofday(&tp, ((void *)0)) == -1) {
                perror("gettimeofday");
                return;
        }

        if (f_tflag == 1) {

                s = (tp.tv_sec + thiszone ) % 86400;
                (void)printf("%02d:%02d:%02d.%06u ",
                    s / 3600, (s % 3600) / 60, s % 60, (u_int32_t)tp.tv_usec);
        } else if (f_tflag > 1) {

                (void)printf("%u.%06u ",
                    (u_int32_t)tp.tv_sec, (u_int32_t)tp.tv_usec);
        }

        printf("\n");
}





int32_t
gmt2local(time_t t)
{
        register int dt, dir;
        register struct tm *gmt, *loc;
        struct tm sgmt;

        if (t == 0)
                t = time(((void *)0));
        gmt = &sgmt;
        *gmt = *gmtime(&t);
        loc = localtime(&t);
        dt = (loc->tm_hour - gmt->tm_hour) * 60 * 60 +
            (loc->tm_min - gmt->tm_min) * 60;






        dir = loc->tm_year - gmt->tm_year;
        if (dir == 0)
                dir = loc->tm_yday - gmt->tm_yday;
        dt += dir * 24 * 60 * 60;

        return (dt);
}
