Made stuff work
authorDavid Bartley <dtbartle@maltodextrin.csclub.uwaterloo.ca>
Fri, 12 Sep 2008 01:33:52 +0000 (01:33 +0000)
committerDavid Bartley <dtbartle@maltodextrin.csclub.uwaterloo.ca>
Fri, 12 Sep 2008 01:33:52 +0000 (01:33 +0000)
17 files changed:
inet/netinet/in.h
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/Makefile
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/bits/dirent.h
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/bits/in.h
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/bits/ioctl-types.h
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/bits/siginfo.h
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/bits/socket.h
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/bits/stat.h
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/bits/statvfs.h
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/bits/time.h
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/priv.c
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/priv.h
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/privP.h [new file with mode: 0644]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/sys/timex.h
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/termio.h [new file with mode: 0644]
sysdeps/unix/sysv/solaris2/kopensolaris-gnu/x86/bits/regset.h
sysvipc/sys/msg.h

index 1366198..d9b1ffb 100644 (file)
@@ -235,6 +235,9 @@ struct sockaddr_in6
     uint32_t sin6_flowinfo;    /* IPv6 flow information */
     struct in6_addr sin6_addr; /* IPv6 address */
     uint32_t sin6_scope_id;    /* IPv6 scope-id */
+#ifdef __SOCKADDR_IN6_EXTRA_FIELDS
+__SOCKADDR_IN6_EXTRA_FIELDS
+#endif
   };
 
 
index 7bfc887..1205cc4 100644 (file)
@@ -44,10 +44,10 @@ sysdep_headers += sys/feature_tests.h sys/mount.h sys/cred.h sys/ulimit.h \
        sys/ptms.h sys/stack.h sys/regset.h sys/fault.h sys/processor.h \
     sys/pset.h sys/priv.h sys/acl.h sys/procfs.h sys/reg.h sys/bufmod.h \
     sys/types32.h sys/task.h sys/isa_defs.h sys/door.h sys/elf.h sys/rctl.h \
-    sys/task.h sys/zone.h sys/refstr.h sys/refstr_impl.h sys/time_impl.h \
+    sys/task.h sys/zone.h sys/refstr.h sys/refstr_impl.h \
     sys/mutex.h sys/exacct.h sys/acct.h sys/sid.h sys/siginfo.h sys/link.h \
     sys/rctl_impl.h sys/procfs_isa.h sys/frame.h sys/kbio.h sys/port.h \
-    sys/machelf.h sys/zmod.h sys/inttypes.h sys/atomic.h sys/termio.h \
+    sys/machelf.h sys/zmod.h sys/inttypes.h sys/atomic.h \
     sys/port_impl.h sys/ttold.h sys/machtypes.h sys/dirent.h sys/utime.h \
     sys/ucred.h
 sysdep_headers += ucred.h priv.h bits/regset.h door.h zone.h \
@@ -84,7 +84,12 @@ endif
 
 ifeq ($(subdir),time)
 sysdep_routines += ntp_adjtime ntp_gettime sys_time sys_stime
-sysdep_headers += sys/timex.h
+sysdep_headers += sys/timex.h sys/time_impl.h
+endif
+
+ifeq ($(subdir),termios)
+sysdep_headers += termio.h
+sysdep_headers += sys/termio.h
 endif
 
 #
index 48ee9f8..7aacd13 100644 (file)
@@ -20,7 +20,7 @@
 # error "Never use <bits/dirent.h> directly; include <dirent.h> instead."
 #endif
 
-struct dirent
+typedef struct dirent
   {
 #ifndef __USE_FILE_OFFSET64
     __ino_t d_ino;
@@ -31,27 +31,26 @@ struct dirent
 #endif
     unsigned short int d_reclen;
     char d_name[1];            /* We must not include limits.h! */
-  };
+  } dirent_t;
 
 #ifdef _SYSCALL32
-
-typedef struct dirent32 {
-    __ino_t d_ino;
-    __off_t d_off;
-    __uint16_t d_reclen;
-    char d_name[1];
-} dirent32_t;
-
+typedef struct dirent32
+  {
+       __ino_t d_ino;
+       __off_t d_off;
+       __uint16_t d_reclen;
+       char d_name[1];
+  } dirent32_t;
 #endif
 
 #ifdef __USE_LARGEFILE64
-struct dirent64
+typedef struct dirent64
   {
     __ino64_t d_ino;
     __off64_t d_off;
     unsigned short int d_reclen;
     char d_name[1];            /* We must not include limits.h! */
-  };
+  } dirent64_t;
 #endif
 
 #define d_fileno       d_ino   /* Backwards compatibility.  */
index ab775e9..a8ade39 100644 (file)
@@ -165,5 +165,15 @@ struct in_pktinfo
 
 #define IPV6_RTHDR_TYPE_0   0
 
+#include <endian.h>
+
+#if __BYTE_ORDER == __BIG_ENDIAN
+# define IPV6_FLOWINFO_FLOWLABEL       0x000fffffU
+# define IPV6_FLOWINFO_TCLASS          0x0ff00000U
+#else
+# define IPV6_FLOWINFO_FLOWLABEL       0xffff0f00U
+# define IPV6_FLOWINFO_TCLASS          0x0000f00fU
+#endif
+
 typedef __uint32_t     ipaddr_t;
 typedef struct in6_addr in6_addr_t;
index 109d9f5..e74c8e8 100644 (file)
@@ -64,6 +64,28 @@ struct winsize
   unsigned short int ws_ypixel;        /* Vertical pixels.  */
 };
 
+#define NCC 8
+#define _NCC NCC
+struct termio
+{
+  unsigned short int c_iflag;
+  unsigned short int c_oflag;
+  unsigned short int c_cflag;
+  unsigned short int c_lflag;
+  char c_line;
+  unsigned char c_cc[NCC];
+};
+
+struct termcb
+{
+  char st_flgs;
+  char st_termt;
+  char st_crow;
+  char st_ccol;
+  char st_vrow;
+  char st_lrow;
+};
+
 /* Suns use a different layout for `struct ttysize', and TIOCGSIZE and
    TIOCGWINSZ are separate commands that do the same thing with different
    structures (likewise TIOCSSIZE and TIOCSWINSZ).  */
index 1946602..81feadd 100644 (file)
@@ -66,17 +66,17 @@ union sigval32
 # define __SI_MAX_SIZE     128
 # define __SI_PAD_SIZE     ((__SI_MAX_SIZE / sizeof (int)) - 3)
 # endif
-#define SI_MAXSZ           __SI_MAX_SIZE
-#define SI_PAD             __SI_PAD_SIZE
+# define SI_MAXSZ          __SI_MAX_SIZE
+# define SI_PAD            __SI_PAD_SIZE
 
 typedef struct siginfo
 {
     int si_signo;
     int si_code;
     int si_errno;
-#if __WORDSIZE == 64
+# if __WORDSIZE == 64
     int si_pad;
-#endif
+# endif
     union
     {
         int _pad[__SI_PAD_SIZE];
@@ -130,16 +130,16 @@ typedef struct siginfo
     } __data;
 } siginfo_t;
 
-#ifdef __USE_MISC
+# ifdef __USE_MISC
 
 typedef struct k_siginfo
 {
        int si_signo;
        int si_code;
        int si_errno;
-# if __WORDSIZE == 64
+#  if __WORDSIZE == 64
        int si_pad;
-# endif
+#  endif
        union
          {
                struct
@@ -202,88 +202,165 @@ typedef struct sigqueue
        int sq_external;
   } sigqueue_t;
 
-#endif /* __USE_MISC */
+# endif /* __USE_MISC */
 
-#define SI_FROMUSER(sip)  ((sip)->si_code <= 0)
-#define SI_FROMKERNEL(sip)  ((sip)->si_code > 0)
+# define SI_FROMUSER(sip)  ((sip)->si_code <= 0)
+# define SI_FROMKERNEL(sip)  ((sip)->si_code > 0)
 
 /* Values for `si_code'.  Positive values are reserved for kernel-generated
    signals.  */
 enum
 {
     SI_NOINFO = 32767, /* no signal information */
-#define SI_NOINFO SI_NOINFO
+# define SI_NOINFO SI_NOINFO
     SI_DTRACE = 2050, /* kernel generated signal via DTrace action */
-#define SI_DTRACE SI_DTRACE
+# define SI_DTRACE SI_DTRACE
     SI_RCTL = 2049, /* kernel generated signal via rctl action */
-#define SI_RCTL SI_RCTL
+# define SI_RCTL SI_RCTL
     SI_USER = 0, /* user generated signal via kill() */
-#define SI_USER SI_USER
+# define SI_USER SI_USER
     SI_LWP = -1, /* user generated signal via lwp_kill() */
-#define SI_LWP SI_LWP
+# define SI_LWP SI_LWP
     SI_QUEUE = -2, /* user generated signal via sigqueue() */
-#define SI_QUEUE SI_QUEUE
+# define SI_QUEUE SI_QUEUE
     SI_TIMER = -3, /* from timer expiration */
-#define SI_TIMER SI_TIMER
+# define SI_TIMER SI_TIMER
     SI_ASYNCIO = -4, /* from asynchronous I/O completion */
-#define SI_ASYNCIO SI_ASYNCIO
+# define SI_ASYNCIO SI_ASYNCIO
     SI_MESGQ = -5 /* from message arrival */
 };
 
+/* `si_code' values for SIGILL signal.  */
+enum
+{
+  ILL_ILLOPC = 1,              /* Illegal opcode.  */
+# define ILL_ILLOPC    ILL_ILLOPC
+  ILL_ILLOPN = 2,              /* Illegal operand.  */
+# define ILL_ILLOPN    ILL_ILLOPN
+  ILL_ILLADR = 3,              /* Illegal addressing mode.  */
+# define ILL_ILLADR    ILL_ILLADR
+  ILL_ILLTRP = 4,              /* Illegal trap. */
+# define ILL_ILLTRP    ILL_ILLTRP
+  ILL_PRVOPC = 5,              /* Privileged opcode.  */
+# define ILL_PRVOPC    ILL_PRVOPC
+  ILL_PRVREG = 6,              /* Privileged register.  */
+# define ILL_PRVREG    ILL_PRVREG
+  ILL_COPROC = 7,              /* Coprocessor error.  */
+# define ILL_COPROC    ILL_COPROC
+  ILL_BADSTK = 8               /* Internal stack error.  */
+# define ILL_BADSTK    ILL_BADSTK
+};
+# define NSIGILL       8
+
+/* `si_code' values for SIGFPE signal.  */
+enum
+{
+  FPE_INTDIV = 1,              /* Integer divide by zero.  */
+# define FPE_INTDIV    FPE_INTDIV
+  FPE_INTOVF = 2,              /* Integer overflow.  */
+# define FPE_INTOVF    FPE_INTOVF
+  FPE_FLTDIV = 3,              /* Floating point divide by zero.  */
+# define FPE_FLTDIV    FPE_FLTDIV
+  FPE_FLTOVF = 4,              /* Floating point overflow.  */
+# define FPE_FLTOVF    FPE_FLTOVF
+  FPE_FLTUND = 5,              /* Floating point underflow.  */
+# define FPE_FLTUND    FPE_FLTUND
+  FPE_FLTRES = 6,              /* Floating point inexact result.  */
+# define FPE_FLTRES    FPE_FLTRES
+  FPE_FLTINV = 7,              /* Floating point invalid operation.  */
+# define FPE_FLTINV    FPE_FLTINV
+  FPE_FLTSUB = 8,              /* Subscript out of range.  */
+# define FPE_FLTSUB    FPE_FLTSUB
+  FPE_FLTDEN = 9
+# define FPE_FLTDEN    FPE_FLTDEN
+};
+# define NSIGFPE       9
+
+/* `si_code' values for SIGSEGV signal.  */
+enum
+{
+  SEGV_MAPERR = 1,             /* Address not mapped to object.  */
+# define SEGV_MAPERR   SEGV_MAPERR
+  SEGV_ACCERR = 2              /* Invalid permissions for mapped object.  */
+# define SEGV_ACCERR   SEGV_ACCERR
+};
+# define NSIGSEGV      2
+
+/* `si_code' values for SIGBUS signal.  */
+enum
+{
+  BUS_ADRALN = 1,              /* Invalid address alignment.  */
+# define BUS_ADRALN    BUS_ADRALN
+  BUS_ADRERR = 2,              /* Non-existant physical address.  */
+# define BUS_ADRERR    BUS_ADRERR
+  BUS_OBJERR = 3               /* Object specific hardware error.  */
+# define BUS_OBJERR    BUS_OBJERR
+};
+# define NSIGBUS       3
+
+/* `si_code' values for SIGEMT signal.  */
+enum
+{
+  EMT_CPCOVF = 1
+# define EMT_CPCOVF    EMT_CPCOVF
+};
+# define NSIGEMT       1
+
+
 /* `si_code' values for SIGTRAP signal.  */
-#define TRAP_BRKPT  1 /* breakpoint trap */
-#define TRAP_TRACE  2 /* trace trap */
-#define TRAP_RWATCH 3 /* read access watchpoint trap */
-#define TRAP_WWATCH 4 /* write access watchpoint trap */
-#define TRAP_XWATCH 5 /* execute access watchpoint trap */
-#define TRAP_DTRACE 6 /* problem with fasttrap DTrace provider */
-#define NSIGTRAP  6
+# define TRAP_BRKPT  1 /* breakpoint trap */
+# define TRAP_TRACE  2 /* trace trap */
+# define TRAP_RWATCH 3 /* read access watchpoint trap */
+# define TRAP_WWATCH 4 /* write access watchpoint trap */
+# define TRAP_XWATCH 5 /* execute access watchpoint trap */
+# define TRAP_DTRACE 6 /* problem with fasttrap DTrace provider */
+# define NSIGTRAP  6
 
 /* `si_code' values for SIGCHLD signal.  */
-#define CLD_EXITED  1 /* child has exited */
-#define CLD_KILLED  2 /* child was killed */
-#define CLD_DUMPED  3 /* child has coredumped */
-#define CLD_TRAPPED 4 /* traced child has stopped */
-#define CLD_STOPPED 5 /* child has stopped on signal */
-#define CLD_CONTINUED 6 /* stopped child has continued */
-#define NSIGCLD   6
+# define CLD_EXITED  1 /* child has exited */
+# define CLD_KILLED  2 /* child was killed */
+# define CLD_DUMPED  3 /* child has coredumped */
+# define CLD_TRAPPED 4 /* traced child has stopped */
+# define CLD_STOPPED 5 /* child has stopped on signal */
+# define CLD_CONTINUED 6 /* stopped child has continued */
+# define NSIGCLD   6
 
 /* `si_code' values for SIGPOLL signal.  */
-#define POLL_IN   1 /* input available */
-#define POLL_OUT  2 /* output possible */
-#define POLL_MSG  3 /* message available */
-#define POLL_ERR  4 /* I/O error */
-#define POLL_PRI  5 /* high priority input available */
-#define POLL_HUP  6 /* device disconnected */
-#define NSIGPOLL  6
+# define POLL_IN   1 /* input available */
+# define POLL_OUT  2 /* output possible */
+# define POLL_MSG  3 /* message available */
+# define POLL_ERR  4 /* I/O error */
+# define POLL_PRI  5 /* high priority input available */
+# define POLL_HUP  6 /* device disconnected */
+# define NSIGPOLL  6
 
 /* SIGPROF signal codes */
-#define PROF_SIG  1 /* have to set code non-zero */
-#define NSIGPROF  1
+# define PROF_SIG  1 /* have to set code non-zero */
+# define NSIGPROF  1
 
 /* X/Open requires some more fields with fixed names.  */
-#define si_pid    __data.__proc.__pid
-#define si_ctid   __data.__proc.__ctid
-#define si_zoneid __data.__proc.__zoneid
-#define si_status __data.__proc.__pdata.__cld.__status
-#define si_stime  __data.__proc.__pdata.__cld.__stime
-#define si_utime  __data.__proc.__pdata.__cld.__utime
-#define si_uid    __data.__proc.__pdata.__kill.__uid
-#define si_value  __data.__proc.__pdata.__kill.__value
-#define si_addr   __data.__fault.__addr
-#define si_trapno __data.__fault.__trapno
-#define si_trapafter  __data.__fault.__trapno
-#define si_pc   __data.__fault.__pc
-#define si_fd   __data.__file.__fd
-#define si_band   __data.__file.__band
-#define si_tstamp __data.__prof.__tstamp
-#define si_syscall  __data.__prof.__syscall
-#define si_nsysarg  __data.__prof.__nsysarg
-#define si_sysarg __data.__prof.__sysarg
-#define si_fault  __data.__prof.__fault
-#define si_faddr  __data.__prof.__faddr
-#define si_mstate __data.__prof.__mstate
-#define si_entity __data.__rctl.__entity
+# define si_pid    __data.__proc.__pid
+# define si_ctid   __data.__proc.__ctid
+# define si_zoneid __data.__proc.__zoneid
+# define si_status __data.__proc.__pdata.__cld.__status
+# define si_stime  __data.__proc.__pdata.__cld.__stime
+# define si_utime  __data.__proc.__pdata.__cld.__utime
+# define si_uid    __data.__proc.__pdata.__kill.__uid
+# define si_value  __data.__proc.__pdata.__kill.__value
+# define si_addr   __data.__fault.__addr
+# define si_trapno __data.__fault.__trapno
+# define si_trapafter  __data.__fault.__trapno
+# define si_pc   __data.__fault.__pc
+# define si_fd   __data.__file.__fd
+# define si_band   __data.__file.__band
+# define si_tstamp __data.__prof.__tstamp
+# define si_syscall  __data.__prof.__syscall
+# define si_nsysarg  __data.__prof.__nsysarg
+# define si_sysarg __data.__prof.__sysarg
+# define si_fault  __data.__prof.__fault
+# define si_faddr  __data.__prof.__faddr
+# define si_mstate __data.__prof.__mstate
+# define si_entity __data.__rctl.__entity
 
 # undef __need_siginfo_t
 #endif /* !have siginfo_t && (have _SIGNAL_H || need siginfo_t).  */
index 0b3fcd8..e3eab49 100644 (file)
@@ -32,6 +32,9 @@
 #include <limits.h>
 #include <sys/types.h>
 
+#define __SOCKADDR_IN6_EXTRA_FIELDS \
+       __uint32_t __sin6_src_id;
+
 /* Type for length arguments in socket calls.  */
 #ifndef __socklen_t_defined
 typedef __socklen_t socklen_t;
index 6e939d6..9919d16 100644 (file)
@@ -96,7 +96,7 @@ struct stat32
        __uid_t st_uid;
        __gid_t st_gid;
        __dev_t st_rdev;
-       __int_t st_pad2[2];
+       __int32_t st_pad2[2];
        __off_t st_size;
        __int32_t st_pad3;
        struct timespec32 st_atim;
index 27d2b3c..4a42336 100644 (file)
@@ -55,6 +55,26 @@ typedef struct statvfs
 #endif
 } statvfs_t;
 
+#ifdef _SYSCALL32
+typedef struct statvfs32
+{
+       __uint32_t f_bsize;
+       __uint32_t f_frsize;
+       __fsblkcnt_t f_blocks;
+       __fsblkcnt_t f_bfree;
+       __fsblkcnt_t f_bavail;
+       __fsfilcnt_t f_files;
+       __fsfilcnt_t f_ffree;
+       __fsfilcnt_t f_favail;
+       __uint32_t f_fsid;
+       char f_basetype[_FSTYPSZ];
+       __uint32_t f_flag;
+       __uint32_t f_namemax;
+       char f_fstr[32];
+       __uint32_t f_filler[16];
+} statvfs32_t;
+#endif
+
 #ifdef __USE_LARGEFILE64
 typedef struct statvfs64
 {
@@ -77,6 +97,26 @@ typedef struct statvfs64
 } statvfs64_t;
 #endif
 
+#ifdef _SYSCALL32
+typedef struct statvfs64_32
+{
+       __uint32_t f_bsize;
+       __uint32_t f_frsize;
+       __fsblkcnt64_t f_blocks;
+       __fsblkcnt64_t f_bfree;
+       __fsblkcnt64_t f_bavail;
+       __fsfilcnt64_t f_files;
+       __fsfilcnt64_t f_ffree;
+       __fsfilcnt64_t f_favail;
+       __uint32_t f_fsid;
+       char f_basetype[_FSTYPSZ];
+       __uint32_t f_flag;
+       __uint32_t f_namemax;
+       char f_fstr[32];
+       __uint32_t f_filler[16];
+} statvfs64_32_t;
+#endif
+
 /* Definitions for the flag in `f_flag'.  These definitions should be
    kept in sync with the definitions in <sys/mount.h>.  */
 enum
index 28e1c4c..161044e 100644 (file)
@@ -93,12 +93,64 @@ struct timeval
 
 # include <sys/types32.h>
 
+# if defined (_TIME_H) && !defined (__time32_macros_defined)
+
+#  define TIMEVAL32_TO_TIMEVAL(tv, tv32)            \
+{                                                   \
+       (tv)->tv_sec = (time_t)(tv32)->tv_sec;          \
+       (tv)->tv_usec = (tv32)->tv_usec;                \
+}
+
+#  define TIMEVAL_TO_TIMEVAL32(tv32, tv)            \
+{                                                   \
+       (tv32)->tv_sec = (time32_t)(tv)->tv_sec;        \
+       (tv32)->tv_usec = (tv)->tv_usec;                \
+}
+
+#  define TIMESPEC32_TO_TIMESPEC(ts, ts32)          \
+       {                                               \
+               (ts)->tv_sec = (time_t)(ts32)->tv_sec;      \
+               (ts)->tv_nsec = (ts32)->tv_nsec;            \
+       }
+
+#  define TIMESPEC_TO_TIMESPEC32(ts32, ts)          \
+       {                                               \
+           (ts32)->tv_sec = (time32_t)(ts)->tv_sec;    \
+               (ts32)->tv_nsec = (ts)->tv_nsec;            \
+       }
+
+#  define TIME32_MAX   INT32_MAX
+#  define TIME32_MIN   INT32_MIN
+
+#  define TIMESPEC_OVERFLOW(ts) \
+       ((ts)->tv_sec < TIME32_MIN || (ts)->tv_sec > TIME32_MAX)
+
+#  define __time32_macros_defined
+# endif
+
 # if defined (_SYS_TIME_H) && !defined (__itimerval32_defined)
 struct itimerval32
   {
        struct timeval32 it_interval;
        struct timeval32 it_value;
   };
+
+#  define ITIMERVAL32_TO_ITIMERVAL(itv, itv32)                          \
+{                                                                       \
+       TIMEVAL32_TO_TIMEVAL(&(itv)->it_interval, &(itv32)->it_interval);   \
+       TIMEVAL32_TO_TIMEVAL(&(itv)->it_value, &(itv32)->it_value);         \
+}
+
+#  define ITIMERVAL_TO_ITIMERVAL32(itv32, itv)                          \
+{                                                                       \
+       TIMEVAL_TO_TIMEVAL32(&(itv32)->it_interval, &(itv)->it_interval);   \
+       TIMEVAL_TO_TIMEVAL32(&(itv32)->it_value, &(itv)->it_value);         \
+}
+
+#  define ITIMERVAL_OVERFLOW(itv)               \
+       (TIMEVAL_OVERFLOW(&(itv)->it_interval) ||   \
+        TIMEVAL_OVERFLOW(&(itv)->it_value))
+
 #  define __itimerval32_defined
 # endif
 
index ab8875a..4cb4cff 100644 (file)
@@ -18,6 +18,7 @@
    02111-1307 USA.  */
 
 #include <inline-syscall.h>
+#include <privP.h>
 #include <priv.h>
 #include <sys/priocntl.h>
 #include <alloca.h>
@@ -61,3 +62,16 @@ const priv_impl_info_t * getprivimplinfo (void)
   __libc_lock_unlock (privimplinfo_lock);
   return __info;
 }
+
+
+priv_data_t * __priv_parse_info (priv_impl_info_t *ip)
+{
+  /* TODO */
+  return NULL;
+}
+
+
+void __priv_free_info (priv_data_t *d)
+{
+  /* TODO */
+}
index 6ae9e3d..f31dc02 100644 (file)
 #include <sys/priv.h>
 #include <features.h>
 
+#define PRIV_STR_PORT  0x00
+#define PRIV_STR_LIT   0x01
+#define PRIV_STR_SHORT 0x02
+
+#define PRIV_ALLSETS   (priv_ptype_t)0
+
 __BEGIN_DECLS
 
 extern int getppriv (priv_ptype_t which, priv_set_t *set);
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/privP.h b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/privP.h
new file mode 100644 (file)
index 0000000..62b18b2
--- /dev/null
@@ -0,0 +1,24 @@
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <priv.h>
+
+typedef struct priv_data
+{
+} priv_data_t;
index 32b7319..8a59d5f 100644 (file)
@@ -30,6 +30,16 @@ struct ntptimeval
   int32_t esterror;    /* estimated error (us) (ro) */
 };
 
+#ifdef _SYSCALL32
+# include <sys/types32.h>
+struct ntptimeval32
+{
+  struct timeval32 time;
+  int32_t maxerror;
+  int32_t esterror;
+};
+#endif
+
 struct timex
 {
   uint32_t modes;      /* mode selector */
diff --git a/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/termio.h b/sysdeps/unix/sysv/solaris2/kopensolaris-gnu/termio.h
new file mode 100644 (file)
index 0000000..0e610f0
--- /dev/null
@@ -0,0 +1,6 @@
+/* Compatible <termio.h> for old `struct termio' ioctl interface.
+   This is obsolete; use the POSIX.1 `struct termios' interface
+   defined in <termios.h> instead.  */
+
+#include <termios.h>
+#include <sys/ioctl.h>
index f75d022..a03ef77 100644 (file)
@@ -74,28 +74,28 @@ typedef struct
 
 struct fxsave_state
   {
-       uint16_t fx_fcw;
-       uint16_t fx_fsw;
-       uint16_t fx_fctw;
-       uint16_t fx_fop;
+       __uint16_t fx_fcw;
+       __uint16_t fx_fsw;
+       __uint16_t fx_fctw;
+       __uint16_t fx_fop;
 #ifdef __amd64__
-       uint64_t fx_rip;
-       uint64_t fx_rdp;
+       __uint64_t fx_rip;
+       __uint64_t fx_rdp;
 #else
-       uint32_t fx_eip;
-       uint16_t fx_cs;
-       uint16_t __fx_ign0;
-       uint32_t fx_dp;
-       uint16_t fx_ds;
-       uint16_t __fx_ign1;
+       __uint32_t fx_eip;
+       __uint16_t fx_cs;
+       __uint16_t __fx_ign0;
+       __uint32_t fx_dp;
+       __uint16_t fx_ds;
+       __uint16_t __fx_ign1;
 #endif
-       uint32_t fx_mxcsr;
-       uint32_t fx_mxcsr_mask;
+       __uint32_t fx_mxcsr;
+       __uint32_t fx_mxcsr_mask;
        union
          {
-               uint16_t fpr_16[5];
+               __uint16_t fpr_16[5];
                unsigned long long fpr_mmx;
-        uint32_t __fpr_pad[4];
+        __uint32_t __fpr_pad[4];
          } fx_st[8];
 #if defined(__amd64)
        upad128_t fx_xmm[16]; /* 128-bit registers */
@@ -108,21 +108,21 @@ struct fxsave_state
 
 struct fnsave_state
   {
-       uint16_t f_fcw;
-       uint16_t __f_ign0;
-       uint16_t f_fsw;
-       uint16_t __f_ign1;
-       uint16_t f_ftw;
-       uint16_t __f_ign2;
-       uint32_t f_eip;
-       uint16_t f_cs;
-       uint16_t f_fop;
-       uint32_t f_dp;
-       uint16_t f_ds;
-       uint16_t __f_ign3;
+       __uint16_t f_fcw;
+       __uint16_t __f_ign0;
+       __uint16_t f_fsw;
+       __uint16_t __f_ign1;
+       __uint16_t f_ftw;
+       __uint16_t __f_ign2;
+       __uint32_t f_eip;
+       __uint16_t f_cs;
+       __uint16_t f_fop;
+       __uint32_t f_dp;
+       __uint16_t f_ds;
+       __uint16_t __f_ign3;
        union
          {
-               uint16_t fpr_16[5];
+               __uint16_t fpr_16[5];
          } f_st[8];
   };
 
@@ -135,8 +135,8 @@ typedef struct
                struct fnsave_state kfpu_fn;
 #endif
          } kfpu_u;
-       uint32_t kfpu_status;
-       uint32_t kfpu_xstatus;
+       __uint32_t kfpu_status;
+       __uint32_t kfpu_xstatus;
   } kfpu_t;
 
 #endif /* _SYS_REGSET_H */
index cdc96be..e423860 100644 (file)
@@ -48,7 +48,7 @@ typedef __ssize_t ssize_t;
 /* The following System V style IPC functions implement a message queue
    system.  The definition is found in XPG2.  */
 
-#ifdef __USE_GNU
+#ifdef __USE_MISC
 /* Template for struct to be used as argument for `msgsnd' and `msgrcv'.  */
 struct msgbuf
   {