Commands Modifiers Variables Expressions Input Grammar
#include <sys/socket.h> #include <net/if_arp.h> #include <netinet/in.h>
#include <sys/sockio.h> #include <sys/socket.h> #include <net/if.h> #include <net/if_arp.h> struct arpreq arpreq; ioctl(s, SIOCSARP ,(caddr_t)&arpreq); ioctl(s, SIOCGARP ,(caddr_t)&arpreq); ioctl(s, SIOCDARP ,(caddr_t)&arpreq);
* ARP ioctl request
* /
struct arpreq {
struct sockaddr arp_pa; /* protocol address * /
struct sockaddr arp_ha; /* hardware address * /
int arp_flags; /* flags * /
};
#define ATF_COM 0x2 /* completed entry (arp_ha valid) * / #define ATF_PERM 0x4 /* permanent entry * / #define ATF_PUBL 0x8 /* publish (respond for other host) * / #define ATF_USETRAILERS 0x10 /* send trailer packets to host * /
IP: Proxy ARP problem? Hardware address '%x:%x:%x:%x:%x:%x' thinks it is '%d.%d.%d.%d'
#include <netinet/in.h>
#include <netinet/ip_icmp.h>
s = socket(AF_INET, SOCK_RAW ,proto);
t = t_open("/dev/icmp", O_RDWR);
#include <netinet/in.h>
s = socket(AF_INET, SOCK_RAW ,proto);
t = t_open ("/dev/rawip", O_RDWR );
#include <netinet/in.h>
s = socket(AF_INET, SOCK_STREAM ,0);
t = t_open("/dev/tcp", O_RDWR );
#include <netinet/in.h>
s = socket(AF_INET, SOCK_DGRAM ,0);
t = t_open("/dev/udp", O_RDWR );
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
dma speed "dmaspeed=0" bus on time "buson=5" bus off time "busoff=9"
dmaspeed=0 buson=5 busoff=5 flow_control="dmult" queue="qsort" disk="scdk" tape="sctp";
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
#include <sys/socket.h> #include <net/if_arp.h> #include <netinet/in.h>
#include <sys/sockio.h> #include <sys/socket.h> #include <net/if.h> #include <net/if_arp.h> struct arpreq arpreq; ioctl(s, SIOCSARP ,(caddr_t)&arpreq); ioctl(s, SIOCGARP ,(caddr_t)&arpreq); ioctl(s, SIOCDARP ,(caddr_t)&arpreq);
* ARP ioctl request
* /
struct arpreq {
struct sockaddr arp_pa; /* protocol address * /
struct sockaddr arp_ha; /* hardware address * /
int arp_flags; /* flags * /
};
#define ATF_COM 0x2 /* completed entry (arp_ha valid) * / #define ATF_PERM 0x4 /* permanent entry * / #define ATF_PUBL 0x8 /* publish (respond for other host) * / #define ATF_USETRAILERS 0x10 /* send trailer packets to host * /
IP: Proxy ARP problem? Hardware address '%x:%x:%x:%x:%x:%x' thinks it is '%d.%d.%d.%d'
#include <sys/termios.h>
open("/dev/ttynn", mode);
open("/dev/ttydn", mode);
open("/dev/cuan", mode);
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
# for higher performance - set block factor to 16
drive0_block_factor=0x1 drive1_block_factor=0x1
max_transfer=0x100
flow_control="dmult" queue="qsort" disk="dadk" ;
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
/* This structure contains state information for audio device
IO streams * /
struct audio_prinfo {
/* The following values describe the audio data encoding * /
uint_t sample_rate; /* samples per second * /
uint_t channels; /* number of interleaved channels * /
uint_t precision; /* number of bits per sample * /
uint_t encoding; /* data encoding method * /
/* The following values control audio device configuration * /
uint_t gain; /* volume level * /
uint_t port; /* selected I/O port * /
uint_t buffer_size; /* I/O buffer size * /
uint_t samples; /* number of samples converted * /
uint_t eof; /* End Of File counter (play only) * /
uchar_t pause; /* non-zero if paused, zero to resume * /
uchar_t error; /* non-zero if overflow/underflow * /
uchar_t waiting; /* non-zero if a process wants access * /
uchar_t balance; /* stereo channel balance * /
uchar_t open; /* non-zero if open access granted * /
uchar_t active; /* non-zero if I/O active * /
uint_t avail_ports; /* available I/O ports * /
} audio_prinfo_t;
commands * /
typedef struct audio_info {
audio_prinfo_t record; /* input status information * /
audio_prinfo_t play; /* output status information * /
uint_t monitor_gain; /* input to output mix * /
uchar_t output_muted; /* non-zero if output muted * /
} audio_info_t;
#define AUDIO_ENCODING_ULAW (1) /* u-law encoding * / #define AUDIO_ENCODING_ALAW (2) /* A-law encoding * / #define AUDIO_ENCODING_LINEAR (3) /* Linear PCM encoding * /
#define AUDIO_MIN_GAIN (0) /* minimum gain value * / #define AUDIO_MAX_GAIN (255) /* maximum gain value * /
#define AUDIO_LEFT_BALANCE (0) /* left channel only * / #define AUDIO_MID_BALANCE (32) /* equal left/right balance * / #define AUDIO_RIGHT_BALANCE (64) /* right channel only * / /* Define some convenient audio port names (for port and avail_ports) * /
#define AUDIO_SPEAKER (0x01) /* output to built-in speaker * / #define AUDIO_HEADPHONE (0x02) /* output to headphone jack * / #define AUDIO_LINE_OUT (0x04) /* output to line out * /
#define AUDIO_MICROPHONE (0x01) /* input from microphone * / #define AUDIO_LINE_IN (0x02) /* input from line in * / #define MAX_AUDIO_DEV_LEN(16)
typedef struct audio_device {
char name[MAX_AUDIO_DEV_LEN];
char version[MAX_AUDIO_DEV_LEN];
char config[MAX_AUDIO_DEV_LEN];
} audio_device_t;
audio_info_tinfo;
info.play.port = AUDIO_HEADPHONE; err = ioctl(audio_fd, AUDIO_SETINFO, &info);
| Supported | Audio | Data Formats | |
| Sample Rate | Encoding | Precision | Channels |
| 8000 Hz | .-law | 8 | 1 |
| 8000 Hz | A-law | 8 | 1 |
/dev/audioctl /dev/sound /usr/demo/SOUND
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|---|---|
| Architecture | SPARC: SPARCstation 1 and 2, IPC, IPX, SLC, ELC, LC, and SPARCserver 6xx systems |
Sample Rate Encoding Precision Channels 8000 Hz .-law or A-law 8 1 9600 Hz .-law or A-law 8 1 11025 Hz .-law or A-law 8 1 16000 Hz .-law or A-law 8 1 18900 Hz .-law or A-law 8 1 22050 Hz .-law or A-law 8 1 32000 Hz .-law or A-law 8 1 37800 Hz .-law or A-law 8 1 44100 Hz .-law or A-law 8 1 48000 Hz .-law or A-law 8 1 8000 Hz linear 16 1 or 2 9600 Hz linear 16 1 or 2 11025 Hz linear 16 1 or 2 16000 Hz linear 16 1 or 2 18900 Hz linear 16 1 or 2 22050 Hz linear 16 1 or 2 32000 Hz linear 16 1 or 2 37800 Hz linear 16 1 or 2 44100 Hz linear 16 1 or 2 48000 Hz linear 16 1 or 2
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | SPARCstation 4/5, x86 |
VUIDGFORMAT These are standard Virtual User Input Device ioctls.
/usr/include/sys/stropts.h $OPENWINHOME/share/include/xview/win_event.h
SunDials Installation and Programmers Guide SunButtons Installation and Programmers Guide
#include <sys/be.h> #include <sys/qec.h> #include <sys/dlpi.h>
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
struct bpp_transfer_parms {
enum handshake_t
read_handshake; /* parallel port read handshake mode * /
int read_setup_time; /* DSS register - in nanoseconds * /
int read_strobe_width; /* DSW register - in nanoseconds * /
int read_timeout; /*
* wait this many seconds
* before aborting a transfer
* /
enum handshake_t
write_handshake; /* parallel port write handshake mode * /
int write_setup_time; /* DSS register - in nanoseconds * /
int write_strobe_width; /* DSW register - in nanoseconds * /
int write_timeout; /*
* wait this many seconds
* before aborting a transfer
* /
};
enum handshake_t {
BPP_NO_HS , /* no handshake pins * /
BPP_ACK_HS , /* handshake controlled by ACK line * /
BPP_BUSY_HS , /* handshake controlled by BSY line * /
BPP_ACK_BUSY_HS , /*
* handshake controlled by ACK and BSY lines
* read_handshake only!
* /
BPP_XSCAN_HS , /* xerox scanner mode,
* read_handshake only!
* /
BPP_HSCAN_HS , /*
* HP scanjet scanner mode
* read_handshake only!
* /
BPP_CLEAR_MEM , /* write 0's to memory,
* read_handshake only!
* /
BPP_SET_MEM , /* write 1's to memory,
* read_handshake only!
* /
/* The following handshakes are RESERVED .Do not use. * /
BPP_VPRINT_HS , /* valid only in read/write mode * /
BPP_VPLOT_HS /* valid only in read/write mode * /
};
struct bpp_pins {
u_char output_reg_pins; /* pins in P_OR register * /
u_char input_reg_pins; /* pins in P_IR register * /
};
#define BPP_SLCTIN_PIN 0x01 /* Select in pin * / #define BPP_AFX_PIN 0x02 /* Auto feed pin * / #define BPP_INIT_PIN 0x04 /* Initialize pin * / #define BPP_V1_PIN 0x08 /* reserved pin 1 * / #define BPP_V2_PIN 0x10 /* reserved pin 2 * / #define BPP_V3_PIN 0x20 /* reserved pin 3 * /
#define BPP_SLCT_PIN 0x02 /* Select pin * / #define BPP_PE_PIN 0x04 /* Paper empty pin * /
char timeout_occurred; /* 1 if a timeout occurred * /
char bus_error; /* 1 if an SBus bus error * /
u_char pin_status; /*
* status of pins which could
* cause an error
* /
};
#define BPP_ERR_ERR 0x01 /* Error pin active * / #define BPP_SLCT_ERR 0x02 /* Select pin active * / #define BPP_PE_ERR 0x04 /* Paper empty pin active * / #define BPP_SLCTIN_ERR 0x10 /* Select in pin active* / #define BPP_BUSY_ERR 0x40 /* Busy pin active * /
struct sb_hdr {
u_int sbh_origlen;
u_int sbh_msglen;
u_int sbh_totlen;
u_int sbh_drops;
struct timeval sbh_timestamp;
};
* definition of play audio msf structure
* /
struct cdrom_msf {
unsigned char cdmsf_min0; /* starting minute* /
unsigned char cdmsf_sec0; /* starting second* /
unsigned char cdmsf_frame0; /* startingframe* /
unsigned char cdmsf_min1; /* ending minute * /
unsigned char cdmsf_sec1; /* ending second * /
unsigned char cdmsf_frame1; /* ending frame * /
};
* definition of play audio track/index structure
* /
struct cdrom_ti {
unsigned char cdti_trk0; /* starting track* /
unsigned char cdti_ind0; /* starting index* /
unsigned char cdti_trk1; /* ending track * /
unsigned char cdti_ind1; /* ending index * /
};
* definition of audio volume control structure
* /
struct cdrom_volctrl {
unsigned char channel0;
unsigned char channel1;
unsigned char channel2;
unsigned char channel3;
};
* definition of read toc header structure
* /
struct cdrom_tochdr {
unsigned char cdth_trk0; /* starting track* /
unsigned char cdth_trk1; /* ending track* /
};
* definition of read toc entry structure
* /
struct cdrom_tocentry {
unsigned char cdte_track;
unsigned char cdte_adr :4;
unsigned char cdte_ctrl :4;
unsigned char cdte_format;
union {
struct {
unsigned char minute;
unsigned char second;
unsigned char frame;
} msf;
int lba;
} cdte_addr;
unsigned char cdte_datamode;
};
struct cdrom_subchnl {
unsigned char cdsc_format;
unsigned char cdsc_audiostatus;
unsigned char cdsc_adr: 4;
unsigned char cdsc_ctrl: 4;
unsigned char cdsc_trk;
unsigned char cdsc_ind;
union {
struct {
unsigned char minute;
unsigned char second;
unsigned char frame;
} msf;
int lba;
} cdsc_absaddr;
union {
struct {
unsigned char minute;
unsigned char second;
unsigned char frame;
} msf;
int lba;
} cdsc_reladdr;
};
CDROMREADOFFSET
This ioctl( ) command returns the absolute CD-ROM address of the
first track in the last session of a Multi-Session CD-ROM . The third
argument of the ioctl( ) call is a pointer to an int.
* Definition of CD-DA structure
* /
struct cdrom_cdda {
unsigned int cdda_addr;
unsigned int cdda_length;
caddr_t cdda_data;
unsigned char cdda_subcode;
};
* Definition of CD-ROM XA structure
* /
struct cdrom_cdxa {
unsigned int cdxa_addr;
unsigned int cdxa_length;
caddr_t cdxa_data;
unsigned char cdxa_format;
};
* Definition of subcode structure
* /
struct cdrom_subcode {
unsigned int cdsc_length;
caddr_t cdsc_addr;
};
struct fbcmap {
int index; /* first element (0 origin) * /
int count; /* number of elements * /
unsigned char * red; /* red color map elements * /
unsigned char * green; /* green color map elements * /
unsigned char * blue; /* blue color map elements * /
};
DACBASE :0x200000 -> Brooktree Ramdac 16 bytes
0x202000 -> P4 Register 4 bytes
OVLBASE :0x210000 -> Overlay Plane 1152x900x1
0x230000 -> Overlay Enable Planea 1152x900x1
0x250000 -> 24-bit Frame Buffera 1152x900x32
<sys/fbio.h> <sys/pr_planegroups.h>
struct fbcmap {
int index; /* first element (0 origin) * /
int count; /* number of elements * /
unsigned char * red; /* red color map elements * /
unsigned char * green; /* green color map elements * /
unsigned char * blue; /* blue color map elements * /
};
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Availability | SUNWcpr |
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
Sample Rate Encoding Precision Channels 8000 Hz .-law or A-law 8 1 9600 Hz .-law or A-law 8 1 11025 Hz .-law or A-law 8 1 16000 Hz .-law or A-law 8 1 18900 Hz .-law or A-law 8 1 22050 Hz .-law or A-law 8 1 32000 Hz .-law or A-law 8 1 37800 Hz .-law or A-law 8 1 44100 Hz .-law or A-law 8 1 48000 Hz .-law or A-law 8 1 8000 Hz linear 16 1 or 2 9600 Hz linear 16 1 or 2 11025 Hz linear 16 1 or 2 16000 Hz linear 16 1 or 2 18900 Hz linear 16 1 or 2 22050 Hz linear 16 1 or 2 32000 Hz linear 16 1 or 2 37800 Hz linear 16 1 or 2 44100 Hz linear 16 1 or 2 48000 Hz linear 16 1 or 2
Sample Rate Encoding Precision Channels
8000 Hz .-law or A-law 8 1
- AUDIO_ENCODING_NONE - -
Mode Sample Rate Encoding Precision # Ch Available on
HDLC 2000 Hz NONE 8 1 D
HDLC 7000 Hz NONE 8 1 B1,B2
HDLC 8000 Hz NONE 8 1 B1,B2
HDLC 16000 Hz NONE 8 1 B1,B2
TRANS 8000 Hz .-law 8 1 B1,B2
TRANS 8000 Hz A-law 8 1 B1,B2
TRANS 8000 Hz NONE 8 1 B1,B2
TRANS 8000 Hz NONE 16 1 B1 only
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | SPARC |
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
* Structures and definitions for disk I/O control commands * /
/* including unit # and NULL * /
* Used for controller info * /
char dki_cname[DK_DEVLEN ]; /* controller name (no unit #)* /
u_short dki_ctype; /* controller type * /
u_short dki_flags; /* flags * /
u_short dki_cnum; /* controller number * /
u_int dki_addr; /* controller address * /
u_int dki_space; /* controller bus type * /
u_int dki_prio; /* interrupt priority * /
u_int dki_vec; /* interrupt vector * /
char dki_dname[DK_DEVLEN ]; /* drive name (no unit #) * /
u_int dki_unit; /* unit number * /
u_int dki_slave; /* slave number * /
u_short dki_partition; /* partition number * /
u_short dki_maxtransfer; /* maximum transfer size * /
/* in DEV_BSIZE * /
};
* Controller types * /
#define DKC_CDROM 1 /* CD-ROM, SCSI or
otherwise * /
#define DKC_WDC2880 2
#define DKC_XXX_0 3 /* unassigned * /
#define DKC_XXX_1 4 /* unassigned * /
#define DKC_DSD5215 5
#define DKC_XY450 6
#define DKC_ACB4000 7
#define DKC_MD21 8
#define DKC_XXX_2 9 /* unassigned * /
#define DKC_NCRFLOPPY 10
#define DKC_XD7053 11
#define DKC_SMSFLOPPY 12
#define DKC_SCSI_CCS 13 /* SCSI CCS compatible * /
#define DKC_INTEL82072 14 /* native floppy chip * /
#define DKC_PANTHER 15
#define DKC_SUN_IPI1 DKC_PANTHER /* Sun Panther * /
/* VME/IPI controller * /
#define DKC_MD 16 /* meta-disk (virtual-disk) * /
/* driver * /
#define DKC_CDC_9057 17 /* CDC 9057-321 (CM-3) * /
/* IPI String Controller * /
#define DKC_FJ_M1060 18 /* Fujitsu/Intellistor * /
/* IM1060 PI-3 SC * /
#define DKC_INTEL82077 19 /* 82077 floppy disk * /
/* controller * /
#define DKC_DIRECT 20 /* Intel direct attached * /
/* device (IDE) * /
#define DKC_PCMCIA_MEM 21 /* PCMCIA memory disk-like * /
/* type * /
#define DKC_PCMCIA_ATA 22 /* PCMCIA AT Attached type * /
* Sun reserves up through 1023 * / #define DKC_CUSTOMER_BASE 1024
#define DKI_BAD144 0x01 /* use DEC std 144 bad sector fwding * /
#define DKI_MAPTRK 0x02 /* controller does track mapping * /
#define DKI_FMTTRK 0x04 /* formats only full track at a time * /
#define DKI_FMTVOL 0x08 /* formats only full volume * /
/* at a time* /
#define DKI_FMTCYL 0x10 /* formats only full cylinders * /
/* at a time* /
#define DKI_HEXUNIT 0x20 /* unit number printed as 3 hex * /
* Partition map (part of dk_label) * /
daddr_t dkl_cylno; /* starting cylinder * /
daddr_t dkl_nblk; /* number of blocks * /
};
* Used for all partitions * /
struct dk_map dka_map[NDKMAP ]; };
struct partition {
ushort p_tag; /* ID tag of partition * /
ushort p_flag; /* permission flags * /
daddr_t p_start; /* start sector of partition * /
long p_size; /* # of blocks in partition * /
};
struct vtoc {
unsigned long v_bootinfo[3]; /* info needed * /
/* by mboot * /
/* (unsupported) * /
unsigned long v_sanity; /* to verify vtoc * /
/* sanity * /
unsigned long v_version; /* layout version * /
char v_volume[LEN_DKL_VVOL ]; /* volume name * /
ushort v_sectorsz; /* sector size in * /
/* bytes * /
ushort v_nparts; /* number of * /
/* partitions * /
unsigned long v_reserved[10]; /* free space * /
struct partition v_part[V_NUMPAR ]; /* partition * /
/* headers* /
time_t timestamp[V_NUMPAR ]; /* partition * /
/* timestamp * /
/* (unsupported) * /
char v_asciilabel[LEN_DKL_ASCII ]; /* compatibility * /
};
* Partition permission flags
* /
#define V_RONLY 0x10 /* Read only * /
* Partition identification tags
* /
#define V_BOOT 0x01 /* Boot partition * /
#define V_ROOT 0x02 /* Root filesystem * /
#define V_SWAP 0x03 /* Swap filesystem * /
#define V_USR 0x04 /* Usr filesystem * /
#define V_BACKUP 0x05 /* full disk * /
#define V_VAR 0x07 /* Var partition * /
#define V_HOME 0x08 /* Home partition * /
#define V_ALTSCTR 0x09 /* Alternate sector partition * /
* Used by applications to get partition or slice information
* /
daddr_t p_start;
int p_length;
};
enum dkio_state {
DKIO_NONE , /* Return disk's current state * /
DKIO_EJECTED , /* Disk state is 'ejected' * /
DKIO_INSERTED /* Disk state is 'inserted' * /
};
DKIOCG_PHYGEOM
The argument is a pointer to a dk_geom structure (described below).
This ioctl( ) gets the driver's notion of the physical geometry of the disk
drive. It is functionally identical to the DKIOCGGEOM ioctl( ).
* Definition of a disk's geometry
* /
unsigned short dkg_ncyl; /* # of data * /
/* cylinders * /
unsigned short dkg_acyl; /* # of alternate* /
/* cylinders * /
unsigned short dkg_bcyl; /* cyl offset (for * /
/* fixed head area) * /
unsigned short dkg_nhead; /* # of heads * /
unsigned short dkg_obs1; /* obsolete * /
unsigned short dkg_nsect; /* # of sectors * /
/* per track * /
unsigned short dkg_intrlv; /* interleave factor * /
unsigned short dkg_obs2; /* obsolete * /
unsigned short dkg_obs3; /* obsolete * /
unsigned short dkg_apc; /* alternates per * /
/* cyl (SCSI only) * /
unsigned short dkg_rpm; /* revolutions per min* /
unsigned short dkg_pcyl; /* # of physical * /
/* cylinders * /
unsigned short dkg_write_reinstruct; /* # sectors to * /
/* skip, writes * /
unsigned short dkg_read_reinstruct; /* # sectors to * /
/* skip, reads * /
unsigned short dkg_extra[7]; /* for compatible* /
/* expansion * /
};
/* compatibility * /
#define dkg_gap2 dkg_extra[1] /* for application * /
/* compatibility * /
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
#include <fcntl.h> #include <sys/ecppio.h>
Transfer Parameters Structure
struct ecpp_transfer_parms {
int write_timeout;
int mode;
};
#define ECPP_CENTRONICS 0x1 #define ECPP_COMPAT_MODE 0x2 #define ECPP_NIBBLE_MODE 0x3 #define RESERVED 0x4 #define ECPP_FAILURE_MODE 0x5
BPPIOC_TESTIO
Tests the transfer readiness of ECPP_CENTRONICS or
ECPP_COMPAT_MODE devices.
struct bpp_error_status {
char timeout_occurred; /* 1=timeout * /
char bus_error; /* not used * /
u_char pin_status; /*
* status of pins
* which could cause
* error.
* /
};
#define BPP_ERR_ERR 0x01 /* nErr=0 * / #define BPP_SLCT_ERR 0x02 /* Select=1 * / #define BPP_PE_ERR 0x04 /* PE =1 * / #define BPP_BUSY_ERR 0x40 /* Busy = 1 * /
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
io address "reg=0x1000,0,0"
"ioaddr=0x1000"
#
# primary controller [Settings for CD-ROM installation]
#
name="eha" class="sysbus" reg=0x1000,0,0
ioaddr=0x1000;
#
name="eha" class="sysbus" reg=0x2000,0,0
ioaddr=0x2000;
#
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
#include <sys/ethernet.h> #include <sys/dlpi.h> #include <sys/gld.h>
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
#include <sys/ethernet.h> #include <sys/dlpi.h> #include <sys/gld.h>
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
#include <sys/ethernet.h> #include <sys/dlpi.h> #include <sys/gld.h>
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
scsi-options=0x78;
name="esp" parent="/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000" reg=0xf,0x800000,0x40 target1-scsi-options=0x58 scsi-options=0x178 scsi-initiator-id=6;
example# ls -l /dev/rdsk/c0t3d0s0
lrwxrwxrwx 1 root root 88 Aug 22 13:29 /dev/rdsk/c0t3d0s0 ->
../../devices/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/
esp@f,800000/sd@3,0:a,raw
esp, instance #0 .... Register Specifications: Bus Type=0xf, Address=0x800000, Size=40
target1-scsi-options=0x78;
"SEAGATE ST32550W", "seagate-scsi-options" ;
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|---|---|
| Architecture | SBus-based systems with esp-based SCSI port and SSHA, SBE/S, FSBE/S, and DSBE/S SBus SCSI Host Adapter options |
OpenBoot Command Reference ANSI Small Computer System Interface-2 (SCSI-2) ESP Technical Manuals, QLogic Corp.
Disabled TQ since disconnects are disabled
Tagged queuing was disabled because disconnects were disabled in scsi-options.
Sync pkt failed
Syncing a SCSI packet failed. Refer to scsi_sync_pkt(9F).
No support for multiple segs
The esp driver can only transfer contiguous data.
dma, instance #3
Register Specifications:
Bus Type=0x2, Address=0x81000, Size=10
esp, instance #3
Driver software properties:
name <target3-TQ> length <0> -- <no value>.
name <target3-sync-speed> length <4>
value <0x00002710>.
name <scsi-options> length <4>
value <0x000003f8>.
name <scsi-watchdog-tick> length <4>
value <0x0000000a>.
name <scsi-tag-age-limit> length <4>
value <0x00000008>.
name <scsi-reset-delay> length <4>
value <0x00000bb8>.
target<n>-sync-speed, target<n>-wide, target<n>-TQ, scsi-reset-delay, scsi-watchdog- tick, scsi-tag-age-limit, scsi-initiator-id.
SCSI_OPTIONS_SYNC ,SCSI_OPTIONS_TAG ,SCSI_OPTIONS_FAST, SCSI_OPTIONS_WIDE .
name="fas" parent="/iommu@f,e0000000/sbus@f,e0001000" reg=3,0x8800000,0x10,3,0x8810000,0x40 target1-scsi-options=0x58 scsi-options=0x178 scsi-initiator-id=6;
# ls -l /dev/rdsk/c1t3d0s0 lrwxrwxrwx 1 root other 78 Aug 28 16:05 /dev/rdsk/c1t3d0s0 -> ../../devices/iommu@f,e0000000/sbus@f,e0001000/SUNW,fas@3,8800000/sd@3,0:a,raw
SUNW,fas, instance #0
....
Register Specifications:
Bus Type=0x3, Address=0x8800000, Size=10
Bus Type=0x3, Address=0x8810000, Size=40
device-type-scsi-options-list=
"TOSHIBA XM5701TASUN12XCD", "cd-scsi-options";
cd-scsi-options = 0x0;
target1-scsi-options=0x78;
"SEAGATE ST32550W", "seagate-scsi-options" ;
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|---|---|
| Architecture | Sparc SBus-based systems with FAS366 based SCSI port and SunSWIFT SBus SCSI adapter. |
OpenBoot Command Reference ANSI Small Computer System Interface-2 (SCSI-2) FAS366 Technical Manuals, QLogic Corp.
Cannot allocate soft state Cannot alloc dma handle Cannot alloc cmd area Cannot create kmem_cache
Disabled TQ since disconnects are disabled
Tagged queuing was disabled because disconnects were disabled in scsi-options.
Sync of pkt (<address>) failed
Syncing a SCSI packet failed. Refer to scsi_sync_pkt(9F).
Target <id> reducing sync. transfer rate Target <id> reverting to async. mode
SUNW,fas, instance #1
Driver software properties:
name <target3-TQ> length <4>
value <0x00000001>.
name <target3-wide> length <4>
value <0x00000000>.
name <target3-sync-speed> length <4>
value <0x00002710>.
name <target3-scsi-options> length <4>
value <0x000003f8>.
name <target0-TQ> length <4>
value <0x00000001>.
name <pm_norm_pwr> length <4>
value <0x00000001>.
name <pm_timestamp> length <4>
value <0x30040346>.
name <scsi-options> length <4>
value <0x000003f8>.
name <scsi-watchdog-tick> length <4>
value <0x0000000a>.
name <scsi-tag-age-limit> length <4>
value <0x00000002>.
name <scsi-reset-delay> length <4>
value <0x00000bb8>.
Register Specifications:
Bus Type=0x3, Address=0x8800000, Size=10
Bus Type=0x3, Address=0x8810000, Size=40
Interrupt Specifications:
Interrupt Priority=0x35 (ipl 5)
80 cylinders, 21 sectors per track, 1.7 Mbyte capacity
80 cylinders, 21 sectors per track, 1.7 Mbyte capacity
name="fd" parent="fdc" unit=0; name="fd" parent="fdc" unit=1;
x86 First Drive:
x86 Second Drive:
fd <n>: not writable
fd<n>: crc error blk <block number>
There was a data error on <block number>.
fd <n>: bad format
fd <n>: timeout
fd <n>: drive not ready
fd <n>: unformatted diskette or no diskette in drive
fd <n>: block <block number> is past the end! (nblk=<total number of
blocks>)
fd <n>: overrun/underrun
fd <n>: host bus error
There was a hardware error on a system bus.
80 cylinders, 21 sectors per track, 1.7 Mbyte capacity
80 cylinders, 21 sectors per track, 1.7 Mbyte capacity
name="fd" parent="fdc" unit=0; name="fd" parent="fdc" unit=1;
x86 First Drive:
x86 Second Drive:
fd <n>: not writable
fd<n>: crc error blk <block number>
There was a data error on <block number>.
fd <n>: bad format
fd <n>: timeout
fd <n>: drive not ready
fd <n>: unformatted diskette or no diskette in drive
fd <n>: block <block number> is past the end! (nblk=<total number of
blocks>)
fd <n>: overrun/underrun
fd <n>: host bus error
There was a hardware error on a system bus.
* Used by FDGETCHANGE, returned state of the sense disk change bit.
* /
#define FDGC_HISTORY 0x01 /* disk has changed since last call * /
#define FDGC_CURRENT 0x02 /* current state of disk change * /
#define FDGC_CURWPROT 0x10 /* current state of write protect * /
#define FDGC_DETECTED 0x20 /* previous state of DISK CHANGE * /
field value
fdc_medium 0
fdc_transfer_rate 500
fdc_ncyl 80
fdc_nhead 2
fdc_sec_size 512
fdc_secptrack 18
fdc_steps -1 { This field doesn't apply. }
* Floppy characteristics
* /
struct fd_char {
u_char fdc_medium; /* equals 1 if medium type * /
int fdc_transfer_rate; /* transfer rate * /
int fdc_ncyl; /* number of cylinders * /
int fdc_nhead; /* number of heads * /
int fdc_sec_size; /* sector size * /
int fdc_secptrack; /* sectors per track * /
int fdc_steps; /* no. of steps per data track * /
};
FDSETDRIVECHAR
x86 based systems: The argument to this ioctl( ) is a pointer to an
fd_drive structure (described below). This ioctl( ) sets the characteristics
of the floppy drive for the floppy controller. Only fdd_steprate,
fdd_headsettle, fdd_motoron, and fdd_motoroff are actually used by
* Floppy Drive characteristics
* /
struct fd_drive {
int fdd_ejectable; /* does the drive support eject? * /
int fdd_maxsearch; /* size of per-unit search table * /
int fdd_writeprecomp; /* cyl to start write precompensation * /
int fdd_writereduce; /* cyl to start recucing write current * /
int fdd_stepwidth; /* width of step pulse in 1 us units * /
int fdd_steprate; /* step rate in 100 us units * /
int fdd_headsettle; /* delay, in 100 us units * /
int fdd_headload; /* delay, in 100 us units * /
int fdd_headunload; /* delay, in 100 us units * /
int fdd_motoron; /* delay, in 100 ms units * /
int fdd_motoroff; /* delay, in 100 ms units * /
int fdd_precomplevel; /* bit shift, in nano-secs * /
int fdd_pins; /* defines meaning of pin 1, 2, 4 and 34 * /
int fdd_flags; /* TRUE READY ,Starting Sector #, & Motor On * /
};
struct fd_cmd {
u_short fdc_cmd; /* command to be executed * /
int fdc_flags; /* execution flags (x86 only) * /
daddr_t fdc_blkno; /* disk address for command * /
int fdc_secnt; /* sector count for command * /
caddr_t fdc_bufaddr; /* user's buffer address * /
u_int fdc_buflen; /* size of user's buffer * /
};
struct fd_cmd {
/*
* Floppy commands
* /
#define FDCMD_WRITE 1
#define FDCMD_READ 2
#define FDCMD_SEEK 3
#define FDCMD_REZERO 4
#define FDCMD_FORMAT_UNIT 5
#define FDCMD_FORMAT_TRACK 6
};
* Floppy raw commands * / #define FDRAW_SPECIFY 0x03 #define FDRAW_READID 0x0a (x86 only) #define FDRAW_SENSE_DRV 0x04 #define FDRAW_REZERO 0x07 #define FDRAW_SEEK 0x0f #define FDRAW_SENSE_INT 0x08 (x86 only) #define FDRAW_FORMAT 0x0d
#define FDRAW_READTRACK 0x02 #define FDRAW_WRCMD 0x05 #define FDRAW_RDCMD 0x06 #define FDRAW_WRITEDEL 0x09 #define FDRAW_READDEL 0x0c
* Used by FDRAW
* /
struct fd_raw {
char fdr_cmd[10]; /* user-supplied command bytes * /
short fdr_cnum; /* number of command bytes * /
char fdr_result[10]; /* controller-supplied result bytes * /
u_short fdr_nbytes; /* number to transfer if read/write command * /
char * fdr_addr; /* where to transfer if read/write command * /
};
FBIOPUTCMAP, FBIOGETCMAP, FBIOSVIDEO, FBIOGVIDEO, FBIOVERTICAL, FBIOSCURSOR, FBIOGCURSOR, FBIOSCURPOS, FBIOGCURPOS, FBIOGCURMAX, FBIO_WID_PUT, FBIO_WID_GET
#include <sys/stream.h> #include <sys/dlpi.h> #include <sys/ethernet.h> #include <sys/gld.h>
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
scsi-initiator-id.
target1-scsi-options=0x78;
"SEAGATE ST32550W", "seagate-scsi-options" ;
| ATTRIBUTE TYPE | ATTRIBUTE VALUE | |
|---|---|---|
| Architecture | Limited to PCI-based systems with Symbios 53c875 SCSI I/O processors. | |
ANSI Small Computer System Interface-2 (SCSI-2), Symbios Logic Inc., SYM53c875 PCI-SCSI I/O Processor With Fast-20
scsi, instance #0
Driver properties:
name <target6-TQ> length <4>
value <0x00000000>.
name <target6-wide> length <4>
value <0x00000000>.
name <target6-sync-speed> length <4>
value <0x00002710>.
name <target1-TQ> length <4>
value <0x00000000>.
name <target1-wide> length <4>
value <0x00000001>.
name <target1-sync-speed> length <4>
value <0x00009c40>.
name <target0-TQ> length <4>
value <0x00000000>.
name <target0-wide> length <4>
value <0x00000001>.
name <target0-sync-speed> length <4>
value <0x00009c40>.
name <scsi-options> length <4>
value <0x000007f8>.
name <scsi-watchdog-tick> length <4>
value <0x0000000a>.
name <scsi-tag-age-limit> length <4>
value <0x00000002>.
name <scsi-reset-delay> length <4>
value <0x00000bb8>.
name <latency-timer> length <4>
value <0x00000088>.
name <cache-line-size> length <4>
value <0x00000010>.
* Used for drive info
* /
struct hdk_type {
u_short hdkt_hsect; /* hard sector count (read only) * /
u_short hdkt_promrev; /* prom revision (read only) * /
u_char hdkt_drtype; /* drive type (ctlr specific) * /
u_char hdkt_drstat; /* drive status (ctlr specific, ro) * /
};
* Used for bad sector map
* /
struct hdk_badmap {
caddr_t hdkb_bufaddr; /* address of user's map buffer * /
};
* Used for disk diagnostics
* /
struct hdk_diag {
u_short hdkd_errcmd; /* most recent command in error * /
daddr_t hdkd_errsect; /* most recent sector in error * /
u_char hdkd_errno; /* most recent error number * /
u_char hdkd_severe; /* severity of most recent error * /
};