sunos.h revision 1.1 1 #define SUNM_RDONLY 0x01 /* mount fs read-only */
2 #define SUNM_NOSUID 0x02 /* mount fs with setuid disallowed */
3 #define SUNM_NEWTYPE 0x04 /* type is string (char *), not int */
4 #define SUNM_GRPID 0x08 /* (bsd semantics; ignored) */
5 #define SUNM_REMOUNT 0x10 /* update existing mount */
6 #define SUNM_NOSUB 0x20 /* prevent submounts (rejected) */
7 #define SUNM_MULTI 0x40 /* (ignored) */
8 #define SUNM_SYS5 0x80 /* Sys 5-specific semantics (rejected) */
9
10 struct sunos_nfs_args {
11 struct sockaddr_in *addr; /* file server address */
12 caddr_t fh; /* file handle to be mounted */
13 int flags; /* flags */
14 int wsize; /* write size in bytes */
15 int rsize; /* read size in bytes */
16 int timeo; /* initial timeout in .1 secs */
17 int retrans; /* times to retry send */
18 char *hostname; /* server's hostname */
19 int acregmin; /* attr cache file min secs */
20 int acregmax; /* attr cache file max secs */
21 int acdirmin; /* attr cache dir min secs */
22 int acdirmax; /* attr cache dir max secs */
23 char *netname; /* server's netname */
24 struct pathcnf *pathconf; /* static pathconf kludge */
25 };
26
27
28 /*
29 * Here is the sun layout. (Compare the BSD layout in <sys/dirent.h>.)
30 * We can assume big-endian, so the BSD d_type field is just the high
31 * byte of the SunOS d_namlen field, after adjusting for the extra "long".
32 */
33 struct sunos_dirent {
34 long d_off;
35 u_long d_fileno;
36 u_short d_reclen;
37 u_short d_namlen;
38 char d_name[256];
39 };
40
41
42 struct sunos_ustat {
43 daddr_t f_tfree; /* total free */
44 ino_t f_tinode; /* total inodes free */
45 char f_path[6]; /* filsys name */
46 char f_fpack[6]; /* filsys pack name */
47 };
48
49 struct sunos_statfs {
50 long f_type; /* type of info, zero for now */
51 long f_bsize; /* fundamental file system block size */
52 long f_blocks; /* total blocks in file system */
53 long f_bfree; /* free blocks */
54 long f_bavail; /* free blocks available to non-super-user */
55 long f_files; /* total file nodes in file system */
56 long f_ffree; /* free file nodes in fs */
57 fsid_t f_fsid; /* file system id */
58 long f_spare[7]; /* spare for later */
59 };
60
61
62 struct sunos_utsname {
63 char sysname[9];
64 char nodename[9];
65 char nodeext[65-9];
66 char release[9];
67 char version[9];
68 char machine[9];
69 };
70
71
72 struct sunos_ttysize {
73 int ts_row;
74 int ts_col;
75 };
76
77 struct sunos_termio {
78 u_short c_iflag;
79 u_short c_oflag;
80 u_short c_cflag;
81 u_short c_lflag;
82 char c_line;
83 unsigned char c_cc[8];
84 };
85 #define SUNOS_TCGETA _IOR('T', 1, struct sunos_termio)
86 #define SUNOS_TCSETA _IOW('T', 2, struct sunos_termio)
87 #define SUNOS_TCSETAW _IOW('T', 3, struct sunos_termio)
88 #define SUNOS_TCSETAF _IOW('T', 4, struct sunos_termio)
89 #define SUNOS_TCSBRK _IO('T', 5)
90
91 struct sunos_termios {
92 u_long c_iflag;
93 u_long c_oflag;
94 u_long c_cflag;
95 u_long c_lflag;
96 char c_line;
97 u_char c_cc[17];
98 };
99 #define SUNOS_TCXONC _IO('T', 6)
100 #define SUNOS_TCFLSH _IO('T', 7)
101 #define SUNOS_TCGETS _IOR('T', 8, struct sunos_termios)
102 #define SUNOS_TCSETS _IOW('T', 9, struct sunos_termios)
103 #define SUNOS_TCSETSW _IOW('T', 10, struct sunos_termios)
104 #define SUNOS_TCSETSF _IOW('T', 11, struct sunos_termios)
105 #define SUNOS_TCSNDBRK _IO('T', 12)
106 #define SUNOS_TCDRAIN _IO('T', 13)
107
108