sunos.h revision 1.18
11.18Sdrochner/*	$NetBSD: sunos.h,v 1.18 2004/03/26 15:01:16 drochner Exp $	*/
21.12Smrg
31.12Smrg#ifndef _COMPAT_SUNOS_SUNOS_H_
41.12Smrg#define _COMPAT_SUNOS_SUNOS_H_
51.12Smrg
61.12Smrg/* used to ensure `struct sunos' types rename constantly sized. */
71.12Smrg#ifdef __arch64__
81.12Smrgtypedef u_int32_t	sunos_charp;
91.12Smrg#else
101.12Smrgtypedef char *		sunos_charp;
111.12Smrg#endif
121.2Scgd
131.1Sderaadt#define	SUNM_RDONLY	0x01	/* mount fs read-only */
141.1Sderaadt#define	SUNM_NOSUID	0x02	/* mount fs with setuid disallowed */
151.1Sderaadt#define	SUNM_NEWTYPE	0x04	/* type is string (char *), not int */
161.1Sderaadt#define	SUNM_GRPID	0x08	/* (bsd semantics; ignored) */
171.1Sderaadt#define	SUNM_REMOUNT	0x10	/* update existing mount */
181.1Sderaadt#define	SUNM_NOSUB	0x20	/* prevent submounts (rejected) */
191.1Sderaadt#define	SUNM_MULTI	0x40	/* (ignored) */
201.1Sderaadt#define	SUNM_SYS5	0x80	/* Sys 5-specific semantics (rejected) */
211.1Sderaadt
221.1Sderaadtstruct sunos_nfs_args {
231.1Sderaadt	struct	sockaddr_in *addr;	/* file server address */
241.1Sderaadt	caddr_t	fh;			/* file handle to be mounted */
251.1Sderaadt	int	flags;			/* flags */
261.1Sderaadt	int	wsize;			/* write size in bytes */
271.1Sderaadt	int	rsize;			/* read size in bytes */
281.1Sderaadt	int	timeo;			/* initial timeout in .1 secs */
291.1Sderaadt	int	retrans;		/* times to retry send */
301.12Smrg	sunos_charp hostname;		/* server's hostname */
311.1Sderaadt	int	acregmin;		/* attr cache file min secs */
321.1Sderaadt	int	acregmax;		/* attr cache file max secs */
331.1Sderaadt	int	acdirmin;		/* attr cache dir min secs */
341.1Sderaadt	int	acdirmax;		/* attr cache dir max secs */
351.12Smrg	sunos_charp netname;		/* server's netname */
361.1Sderaadt	struct	pathcnf *pathconf;	/* static pathconf kludge */
371.1Sderaadt};
381.6Spk/* SunOS nfs flag values: */
391.6Spk#define SUNNFS_SOFT	0x1
401.6Spk#define SUNNFS_WSIZE	0x2
411.6Spk#define SUNNFS_RSIZE	0x4
421.6Spk#define SUNNFS_TIMEO	0x8
431.6Spk#define SUNNFS_RETRANS	0x10
441.6Spk#define SUNNFS_HOSTNAME	0x20
451.6Spk#define SUNNFS_INT	0x40
461.6Spk#define SUNNFS_NOAC	0x80
471.6Spk#define SUNNFS_ACREGMIN	0x100
481.6Spk#define SUNNFS_ACREGMAX	0x200
491.6Spk#define SUNNFS_ACDIRMIN	0x400
501.6Spk#define SUNNFS_ACDIRMAX	0x800
511.6Spk#define SUNNFS_SECURE	0x1000
521.6Spk#define SUNNFS_NOCTO	0x2000
531.6Spk#define SUNNFS_POSIX	0x4000
541.1Sderaadt
551.1Sderaadt
561.1Sderaadtstruct sunos_ustat {
571.14Sfvdl	int32_t	f_tfree;	/* total free */
581.1Sderaadt	ino_t	f_tinode;	/* total inodes free */
591.1Sderaadt	char	f_path[6];	/* filsys name */
601.1Sderaadt	char	f_fpack[6];	/* filsys pack name */
611.1Sderaadt};
621.1Sderaadt
631.1Sderaadtstruct sunos_statfs {
641.10Smrg	int	f_type;		/* type of info, zero for now */
651.10Smrg	int	f_bsize;	/* fundamental file system block size */
661.10Smrg	int	f_blocks;	/* total blocks in file system */
671.10Smrg	int	f_bfree;	/* free blocks */
681.10Smrg	int	f_bavail;	/* free blocks available to non-super-user */
691.10Smrg	int	f_files;	/* total file nodes in file system */
701.10Smrg	int	f_ffree;	/* free file nodes in fs */
711.1Sderaadt	fsid_t	f_fsid;		/* file system id */
721.10Smrg	int	f_spare[7];	/* spare for later */
731.1Sderaadt};
741.1Sderaadt
751.1Sderaadt
761.1Sderaadtstruct sunos_utsname {
771.1Sderaadt	char    sysname[9];
781.1Sderaadt	char    nodename[9];
791.1Sderaadt	char    nodeext[65-9];
801.1Sderaadt	char    release[9];
811.1Sderaadt	char    version[9];
821.1Sderaadt	char    machine[9];
831.1Sderaadt};
841.1Sderaadt
851.1Sderaadt
861.1Sderaadtstruct sunos_ttysize {
871.1Sderaadt	int	ts_row;
881.1Sderaadt	int	ts_col;
891.1Sderaadt};
901.1Sderaadt
911.1Sderaadtstruct sunos_termio {
921.1Sderaadt	u_short	c_iflag;
931.1Sderaadt	u_short	c_oflag;
941.1Sderaadt	u_short	c_cflag;
951.1Sderaadt	u_short	c_lflag;
961.1Sderaadt	char	c_line;
971.1Sderaadt	unsigned char c_cc[8];
981.1Sderaadt};
991.1Sderaadt#define SUNOS_TCGETA	_IOR('T', 1, struct sunos_termio)
1001.1Sderaadt#define SUNOS_TCSETA	_IOW('T', 2, struct sunos_termio)
1011.1Sderaadt#define SUNOS_TCSETAW	_IOW('T', 3, struct sunos_termio)
1021.1Sderaadt#define SUNOS_TCSETAF	_IOW('T', 4, struct sunos_termio)
1031.1Sderaadt#define SUNOS_TCSBRK	_IO('T', 5)
1041.1Sderaadt
1051.1Sderaadtstruct sunos_termios {
1061.10Smrg	u_int	c_iflag;
1071.10Smrg	u_int	c_oflag;
1081.10Smrg	u_int	c_cflag;
1091.10Smrg	u_int	c_lflag;
1101.1Sderaadt	char	c_line;
1111.1Sderaadt	u_char	c_cc[17];
1121.1Sderaadt};
1131.1Sderaadt#define SUNOS_TCXONC	_IO('T', 6)
1141.1Sderaadt#define SUNOS_TCFLSH	_IO('T', 7)
1151.1Sderaadt#define SUNOS_TCGETS	_IOR('T', 8, struct sunos_termios)
1161.1Sderaadt#define SUNOS_TCSETS	_IOW('T', 9, struct sunos_termios)
1171.1Sderaadt#define SUNOS_TCSETSW	_IOW('T', 10, struct sunos_termios)
1181.1Sderaadt#define SUNOS_TCSETSF	_IOW('T', 11, struct sunos_termios)
1191.1Sderaadt#define SUNOS_TCSNDBRK	_IO('T', 12)
1201.1Sderaadt#define SUNOS_TCDRAIN	_IO('T', 13)
1211.4Spk
1221.4Spk/* Sun audio compatibility */
1231.4Spkstruct sunos_audio_prinfo {
1241.4Spk	u_int	sample_rate;
1251.4Spk	u_int	channels;
1261.4Spk	u_int	precision;
1271.4Spk	u_int	encoding;
1281.4Spk	u_int	gain;
1291.4Spk	u_int	port;
1301.4Spk	u_int	avail_ports;
1311.4Spk	u_int	reserved0[3];
1321.4Spk	u_int	samples;
1331.4Spk	u_int	eof;
1341.4Spk	u_char	pause;
1351.4Spk	u_char	error;
1361.4Spk	u_char	waiting;
1371.4Spk	u_char	balance;
1381.4Spk	u_short	minordev;
1391.4Spk	u_char	open;
1401.4Spk	u_char	active;
1411.4Spk};
1421.4Spkstruct sunos_audio_info {
1431.4Spk	struct sunos_audio_prinfo play;
1441.4Spk	struct sunos_audio_prinfo record;
1451.4Spk	u_int monitor_gain;
1461.4Spk	u_int reserved[4];
1471.4Spk};
1481.4Spk
1491.4Spk/* Values for AUDIO_GETDEV ioctl: */
1501.4Spk#define SUNOS_AUDIO_DEV_UNKNOWN			0
1511.4Spk#define SUNOS_AUDIO_DEV_AMD			1
1521.4Spk#define SUNOS_AUDIO_DEV_SPEAKERBOX		2
1531.4Spk#define SUNOS_AUDIO_DEV_CODEC			3
1541.4Spk
1551.7Sbriggs__BEGIN_DECLS
1561.11Spk/* Defined in arch/<arch>/sunos_machdep.c */
1571.17Sclvoid	sunos_sendsig __P((const ksiginfo_t *, const sigset_t *));
1581.7Sbriggs__END_DECLS
1591.12Smrg
1601.12Smrg#endif /* _COMPAT_SUNOS_SUNOS_H_ */
161