Home | History | Annotate | Line # | Download | only in sunos
      1  1.24  dholland /*	$NetBSD: sunos.h,v 1.24 2015/09/06 06:00:59 dholland Exp $	*/
      2  1.12       mrg 
      3  1.12       mrg #ifndef _COMPAT_SUNOS_SUNOS_H_
      4  1.12       mrg #define _COMPAT_SUNOS_SUNOS_H_
      5  1.12       mrg 
      6  1.24  dholland #include <sys/ioccom.h>
      7  1.24  dholland 
      8  1.12       mrg /* used to ensure `struct sunos' types rename constantly sized. */
      9  1.12       mrg #ifdef __arch64__
     10  1.12       mrg typedef u_int32_t	sunos_charp;
     11  1.12       mrg #else
     12  1.12       mrg typedef char *		sunos_charp;
     13  1.12       mrg #endif
     14   1.2       cgd 
     15  1.23  christos typedef long	sunos_time_t;
     16  1.23  christos 
     17   1.1   deraadt #define	SUNM_RDONLY	0x01	/* mount fs read-only */
     18   1.1   deraadt #define	SUNM_NOSUID	0x02	/* mount fs with setuid disallowed */
     19   1.1   deraadt #define	SUNM_NEWTYPE	0x04	/* type is string (char *), not int */
     20   1.1   deraadt #define	SUNM_GRPID	0x08	/* (bsd semantics; ignored) */
     21   1.1   deraadt #define	SUNM_REMOUNT	0x10	/* update existing mount */
     22   1.1   deraadt #define	SUNM_NOSUB	0x20	/* prevent submounts (rejected) */
     23   1.1   deraadt #define	SUNM_MULTI	0x40	/* (ignored) */
     24   1.1   deraadt #define	SUNM_SYS5	0x80	/* Sys 5-specific semantics (rejected) */
     25   1.1   deraadt 
     26   1.1   deraadt struct sunos_nfs_args {
     27   1.1   deraadt 	struct	sockaddr_in *addr;	/* file server address */
     28  1.21  christos 	void *	fh;			/* file handle to be mounted */
     29   1.1   deraadt 	int	flags;			/* flags */
     30   1.1   deraadt 	int	wsize;			/* write size in bytes */
     31   1.1   deraadt 	int	rsize;			/* read size in bytes */
     32   1.1   deraadt 	int	timeo;			/* initial timeout in .1 secs */
     33   1.1   deraadt 	int	retrans;		/* times to retry send */
     34  1.12       mrg 	sunos_charp hostname;		/* server's hostname */
     35   1.1   deraadt 	int	acregmin;		/* attr cache file min secs */
     36   1.1   deraadt 	int	acregmax;		/* attr cache file max secs */
     37   1.1   deraadt 	int	acdirmin;		/* attr cache dir min secs */
     38   1.1   deraadt 	int	acdirmax;		/* attr cache dir max secs */
     39  1.12       mrg 	sunos_charp netname;		/* server's netname */
     40   1.1   deraadt 	struct	pathcnf *pathconf;	/* static pathconf kludge */
     41   1.1   deraadt };
     42   1.6        pk /* SunOS nfs flag values: */
     43   1.6        pk #define SUNNFS_SOFT	0x1
     44   1.6        pk #define SUNNFS_WSIZE	0x2
     45   1.6        pk #define SUNNFS_RSIZE	0x4
     46   1.6        pk #define SUNNFS_TIMEO	0x8
     47   1.6        pk #define SUNNFS_RETRANS	0x10
     48   1.6        pk #define SUNNFS_HOSTNAME	0x20
     49   1.6        pk #define SUNNFS_INT	0x40
     50   1.6        pk #define SUNNFS_NOAC	0x80
     51   1.6        pk #define SUNNFS_ACREGMIN	0x100
     52   1.6        pk #define SUNNFS_ACREGMAX	0x200
     53   1.6        pk #define SUNNFS_ACDIRMIN	0x400
     54   1.6        pk #define SUNNFS_ACDIRMAX	0x800
     55   1.6        pk #define SUNNFS_SECURE	0x1000
     56   1.6        pk #define SUNNFS_NOCTO	0x2000
     57   1.6        pk #define SUNNFS_POSIX	0x4000
     58   1.1   deraadt 
     59   1.1   deraadt 
     60   1.1   deraadt struct sunos_ustat {
     61  1.14      fvdl 	int32_t	f_tfree;	/* total free */
     62  1.19  christos 	uint32_t f_tinode;	/* total inodes free */
     63   1.1   deraadt 	char	f_path[6];	/* filsys name */
     64   1.1   deraadt 	char	f_fpack[6];	/* filsys pack name */
     65   1.1   deraadt };
     66   1.1   deraadt 
     67   1.1   deraadt struct sunos_statfs {
     68  1.10       mrg 	int	f_type;		/* type of info, zero for now */
     69  1.10       mrg 	int	f_bsize;	/* fundamental file system block size */
     70  1.10       mrg 	int	f_blocks;	/* total blocks in file system */
     71  1.10       mrg 	int	f_bfree;	/* free blocks */
     72  1.10       mrg 	int	f_bavail;	/* free blocks available to non-super-user */
     73  1.10       mrg 	int	f_files;	/* total file nodes in file system */
     74  1.10       mrg 	int	f_ffree;	/* free file nodes in fs */
     75   1.1   deraadt 	fsid_t	f_fsid;		/* file system id */
     76  1.10       mrg 	int	f_spare[7];	/* spare for later */
     77   1.1   deraadt };
     78   1.1   deraadt 
     79   1.1   deraadt 
     80   1.1   deraadt struct sunos_utsname {
     81   1.1   deraadt 	char    sysname[9];
     82   1.1   deraadt 	char    nodename[9];
     83   1.1   deraadt 	char    nodeext[65-9];
     84   1.1   deraadt 	char    release[9];
     85   1.1   deraadt 	char    version[9];
     86   1.1   deraadt 	char    machine[9];
     87   1.1   deraadt };
     88   1.1   deraadt 
     89   1.1   deraadt 
     90   1.1   deraadt struct sunos_ttysize {
     91   1.1   deraadt 	int	ts_row;
     92   1.1   deraadt 	int	ts_col;
     93   1.1   deraadt };
     94   1.1   deraadt 
     95   1.1   deraadt struct sunos_termio {
     96   1.1   deraadt 	u_short	c_iflag;
     97   1.1   deraadt 	u_short	c_oflag;
     98   1.1   deraadt 	u_short	c_cflag;
     99   1.1   deraadt 	u_short	c_lflag;
    100   1.1   deraadt 	char	c_line;
    101   1.1   deraadt 	unsigned char c_cc[8];
    102   1.1   deraadt };
    103   1.1   deraadt #define SUNOS_TCGETA	_IOR('T', 1, struct sunos_termio)
    104   1.1   deraadt #define SUNOS_TCSETA	_IOW('T', 2, struct sunos_termio)
    105   1.1   deraadt #define SUNOS_TCSETAW	_IOW('T', 3, struct sunos_termio)
    106   1.1   deraadt #define SUNOS_TCSETAF	_IOW('T', 4, struct sunos_termio)
    107   1.1   deraadt #define SUNOS_TCSBRK	_IO('T', 5)
    108   1.1   deraadt 
    109   1.1   deraadt struct sunos_termios {
    110  1.10       mrg 	u_int	c_iflag;
    111  1.10       mrg 	u_int	c_oflag;
    112  1.10       mrg 	u_int	c_cflag;
    113  1.10       mrg 	u_int	c_lflag;
    114   1.1   deraadt 	char	c_line;
    115   1.1   deraadt 	u_char	c_cc[17];
    116   1.1   deraadt };
    117   1.1   deraadt #define SUNOS_TCXONC	_IO('T', 6)
    118   1.1   deraadt #define SUNOS_TCFLSH	_IO('T', 7)
    119   1.1   deraadt #define SUNOS_TCGETS	_IOR('T', 8, struct sunos_termios)
    120   1.1   deraadt #define SUNOS_TCSETS	_IOW('T', 9, struct sunos_termios)
    121   1.1   deraadt #define SUNOS_TCSETSW	_IOW('T', 10, struct sunos_termios)
    122   1.1   deraadt #define SUNOS_TCSETSF	_IOW('T', 11, struct sunos_termios)
    123   1.1   deraadt #define SUNOS_TCSNDBRK	_IO('T', 12)
    124   1.1   deraadt #define SUNOS_TCDRAIN	_IO('T', 13)
    125   1.4        pk 
    126   1.4        pk /* Sun audio compatibility */
    127   1.4        pk struct sunos_audio_prinfo {
    128   1.4        pk 	u_int	sample_rate;
    129   1.4        pk 	u_int	channels;
    130   1.4        pk 	u_int	precision;
    131   1.4        pk 	u_int	encoding;
    132   1.4        pk 	u_int	gain;
    133   1.4        pk 	u_int	port;
    134   1.4        pk 	u_int	avail_ports;
    135   1.4        pk 	u_int	reserved0[3];
    136   1.4        pk 	u_int	samples;
    137   1.4        pk 	u_int	eof;
    138   1.4        pk 	u_char	pause;
    139   1.4        pk 	u_char	error;
    140   1.4        pk 	u_char	waiting;
    141   1.4        pk 	u_char	balance;
    142   1.4        pk 	u_short	minordev;
    143   1.4        pk 	u_char	open;
    144   1.4        pk 	u_char	active;
    145   1.4        pk };
    146   1.4        pk struct sunos_audio_info {
    147   1.4        pk 	struct sunos_audio_prinfo play;
    148   1.4        pk 	struct sunos_audio_prinfo record;
    149   1.4        pk 	u_int monitor_gain;
    150   1.4        pk 	u_int reserved[4];
    151   1.4        pk };
    152   1.4        pk 
    153   1.4        pk /* Values for AUDIO_GETDEV ioctl: */
    154   1.4        pk #define SUNOS_AUDIO_DEV_UNKNOWN			0
    155   1.4        pk #define SUNOS_AUDIO_DEV_AMD			1
    156   1.4        pk #define SUNOS_AUDIO_DEV_SPEAKERBOX		2
    157   1.4        pk #define SUNOS_AUDIO_DEV_CODEC			3
    158   1.4        pk 
    159   1.7    briggs __BEGIN_DECLS
    160  1.11        pk /* Defined in arch/<arch>/sunos_machdep.c */
    161  1.22       dsl void	sunos_sendsig(const ksiginfo_t *, const sigset_t *);
    162   1.7    briggs __END_DECLS
    163  1.12       mrg 
    164  1.12       mrg #endif /* _COMPAT_SUNOS_SUNOS_H_ */
    165