#ifndef _COMPAT_SUNOS_SUNOS_H_
#define _COMPAT_SUNOS_SUNOS_H_
#include <sys/ioccom.h>
#ifdef __arch64__
typedef u_int32_t sunos_charp;
#else
typedef char * sunos_charp;
#endif
typedef long sunos_time_t;
#define SUNM_RDONLY 0x01
#define SUNM_NOSUID 0x02
#define SUNM_NEWTYPE 0x04
#define SUNM_GRPID 0x08
#define SUNM_REMOUNT 0x10
#define SUNM_NOSUB 0x20
#define SUNM_MULTI 0x40
#define SUNM_SYS5 0x80
struct sunos_nfs_args {
struct sockaddr_in *addr;
void * fh;
int flags;
int wsize;
int rsize;
int timeo;
int retrans;
sunos_charp hostname;
int acregmin;
int acregmax;
int acdirmin;
int acdirmax;
sunos_charp netname;
struct pathcnf *pathconf;
};
#define SUNNFS_SOFT 0x1
#define SUNNFS_WSIZE 0x2
#define SUNNFS_RSIZE 0x4
#define SUNNFS_TIMEO 0x8
#define SUNNFS_RETRANS 0x10
#define SUNNFS_HOSTNAME 0x20
#define SUNNFS_INT 0x40
#define SUNNFS_NOAC 0x80
#define SUNNFS_ACREGMIN 0x100
#define SUNNFS_ACREGMAX 0x200
#define SUNNFS_ACDIRMIN 0x400
#define SUNNFS_ACDIRMAX 0x800
#define SUNNFS_SECURE 0x1000
#define SUNNFS_NOCTO 0x2000
#define SUNNFS_POSIX 0x4000
struct sunos_ustat {
int32_t f_tfree;
uint32_t f_tinode;
char f_path[6];
char f_fpack[6];
};
struct sunos_statfs {
int f_type;
int f_bsize;
int f_blocks;
int f_bfree;
int f_bavail;
int f_files;
int f_ffree;
fsid_t f_fsid;
int f_spare[7];
};
struct sunos_utsname {
char sysname[9];
char nodename[9];
char nodeext[65-9];
char release[9];
char version[9];
char machine[9];
};
struct sunos_ttysize {
int ts_row;
int ts_col;
};
struct sunos_termio {
u_short c_iflag;
u_short c_oflag;
u_short c_cflag;
u_short c_lflag;
char c_line;
unsigned char c_cc[8];
};
#define SUNOS_TCGETA _IOR('T', 1, struct sunos_termio)
#define SUNOS_TCSETA _IOW('T', 2, struct sunos_termio)
#define SUNOS_TCSETAW _IOW('T', 3, struct sunos_termio)
#define SUNOS_TCSETAF _IOW('T', 4, struct sunos_termio)
#define SUNOS_TCSBRK _IO('T', 5)
struct sunos_termios {
u_int c_iflag;
u_int c_oflag;
u_int c_cflag;
u_int c_lflag;
char c_line;
u_char c_cc[17];
};
#define SUNOS_TCXONC _IO('T', 6)
#define SUNOS_TCFLSH _IO('T', 7)
#define SUNOS_TCGETS _IOR('T', 8, struct sunos_termios)
#define SUNOS_TCSETS _IOW('T', 9, struct sunos_termios)
#define SUNOS_TCSETSW _IOW('T', 10, struct sunos_termios)
#define SUNOS_TCSETSF _IOW('T', 11, struct sunos_termios)
#define SUNOS_TCSNDBRK _IO('T', 12)
#define SUNOS_TCDRAIN _IO('T', 13)
struct sunos_audio_prinfo {
u_int sample_rate;
u_int channels;
u_int precision;
u_int encoding;
u_int gain;
u_int port;
u_int avail_ports;
u_int reserved0[3];
u_int samples;
u_int eof;
u_char pause;
u_char error;
u_char waiting;
u_char balance;
u_short minordev;
u_char open;
u_char active;
};
struct sunos_audio_info {
struct sunos_audio_prinfo play;
struct sunos_audio_prinfo record;
u_int monitor_gain;
u_int reserved[4];
};
#define SUNOS_AUDIO_DEV_UNKNOWN 0
#define SUNOS_AUDIO_DEV_AMD 1
#define SUNOS_AUDIO_DEV_SPEAKERBOX 2
#define SUNOS_AUDIO_DEV_CODEC 3
__BEGIN_DECLS
void sunos_sendsig(const ksiginfo_t *, const sigset_t *);
__END_DECLS
#endif