JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
man pages section 9: DDI and DKI Properties and Data Structures
search filter icon
search icon

Document Information

Preface

Introduction

Data Structures for Drivers

aio_req(9S)

buf(9S)

cb_ops(9S)

copyreq(9S)

copyresp(9S)

datab(9S)

dblk(9S)

ddi_device_acc_attr(9S)

ddi_dma_attr(9S)

ddi_dma_cookie(9S)

ddi_dmae_req(9S)

ddi_dma_lim(9S)

ddi_dma_lim_sparc(9S)

ddi_dma_lim_x86(9S)

ddi_dma_req(9S)

ddi_fm_error(9S)

ddi-forceattach(9P)

ddi_idevice_cookie(9S)

ddi-no-autodetach(9P)

devmap_callback_ctl(9S)

dev_ops(9S)

fmodsw(9S)

free_rtn(9S)

gld_mac_info(9S)

gld_stats(9S)

hook_nic_event(9S)

hook_pkt_event(9S)

hook_t(9S)

inquiry-device-type(9P)

inquiry-product-id(9P)

inquiry-revision-id(9P)

inquiry-vendor-id(9P)

iocblk(9S)

iovec(9S)

kstat(9S)

kstat_intr(9S)

kstat_io(9S)

kstat_named(9S)

linkblk(9S)

lso_basic_tcp_ipv4(9S)

mac_callbacks(9S)

mac_capab_lso(9S)

mac_register(9S)

mblk(9S)

modldrv(9S)

modlinkage(9S)

modlstrmod(9S)

module_info(9S)

msgb(9S)

net_inject_t(9S)

net_instance_t(9S)

no-involuntary-power-cycles(9P)

pm(9P)

pm-components(9P)

qband(9S)

qinit(9S)

queclass(9S)

queue(9S)

removable-media(9P)

scsi_address(9S)

scsi_arq_status(9S)

scsi_asc_key_strings(9S)

scsi_device(9S)

scsi_extended_sense(9S)

scsi_hba_tran(9S)

scsi_inquiry(9S)

scsi_pkt(9S)

scsi_status(9S)

streamtab(9S)

stroptions(9S)

tuple(9S)

uio(9S)

usb_bulk_request(9S)

usb_callback_flags(9S)

usb_cfg_descr(9S)

usb_client_dev_data(9S)

usb_completion_reason(9S)

usb_ctrl_request(9S)

usb_dev_descr(9S)

usb_dev_qlf_descr(9S)

usb_ep_descr(9S)

usb_if_descr(9S)

usb_intr_request(9S)

usb_isoc_request(9S)

usb_other_speed_cfg_descr(9S)

usb_request_attributes(9S)

usb_string_descr(9S)

stroptions

- options structure for M_SETOPTS message

Synopsis

#include <sys/stream.h>
#include <sys/stropts.h>
#include <sys/ddi.h>
#include <sys/sunddi.h>

Interface Level

Architecture independent level 1 (DDI/DKI)

Description

The M_SETOPTS message contains a stroptions structure and is used to control options in the stream head.

Structure Members

uint_t           so_flags;      /* options to set */
short            so_readopt;    /* read option */
ushort_t         so_wroff;      /* write offset */
ssize_t          so_minpsz;     /* minimum read packet size */
ssize_t          so_maxpsz;     /* maximum read packet size */
size_t           so_hiwat;      /* read queue high water mark */
size_t           so_lowat;      /* read queue low water mark */
unsigned char    so_band;       /* band for water marks */
ushort_t         so_erropt;     /* error option */

The following are the flags that can be set in the so_flags bit mask in the stroptions structure. Note that multiple flags can be set.

SO_READOPT

Set read option.

SO_WROFF

Set write offset.

SO_MINPSZ

Set minimum packet size

SO_MAXPSZ

Set maximum packet size.

SO_HIWAT

Set high water mark.

SO_LOWAT

Set low water mark.

SO_MREADON

Set read notification ON.

SO_MREADOFF

Set read notification OFF.

SO_NDELON

Old TTY semantics for NDELAY reads and writes.

SO_NDELOFFSTREAMS

Semantics for NDELAY reads and writes.

SO_ISTTY

The stream is acting as a terminal.

SO_ISNTTY

The stream is not acting as a terminal.

SO_TOSTOP

Stop on background writes to this stream.

SO_TONSTOP

Do not stop on background writes to this stream.

SO_BAND

Water marks affect band.

SO_ERROPT

Set error option.

When SO_READOPT is set, the so_readopt field of the stroptions structure can take one of the following values. See read(2).

RNORM

Read message normal.

RMSGD

Read message discard.

RMSGN

Read message, no discard.

When SO_BAND is set, so_band determines to which band so_hiwat and so_lowat apply.

When SO_ERROPT is set, the so_erropt field of the stroptions structure can take a value that is either none or one of:

RERRNORM

Persistent read errors; default.

RERRNONPERSIST

Non-persistent read errors.

OR'ed with either none or one of:

WERRNORM

Persistent write errors; default.

WERRNONPERSIST

Non-persistent write errors.

See Also

read(2), streamio(7I)

STREAMS Programming Guide