pt_flags
static const struct pt_flags pf[] = {
uint32_t pt_flags;
assert((e->pt_flags & ~PROTO_ALL_FLAGS) == 0);
if (e->pt_flags & PROTO_FLAG_PANIC)
assert(!(e->pt_flags & PROTO_FLAG_PANIC));
if (e->pt_flags & PROTO_FLAG_VARINPUT) {
if (e->pt_flags & PROTO_FLAG_RETFD)
int i, status = 0, pt_flags = 0, rv = 0;
pt_flags |= MPTSAS_DATA_ALLOCATED;
pt_flags |= MPTSAS_DATAOUT_ALLOCATED;
pt_flags |= MPTSAS_REQUEST_POOL_CMD;
pt_flags |= MPTSAS_CMD_TIMEOUT;
pt_flags |= MPTSAS_ADDRESS_REPLY;
if (pt_flags & MPTSAS_ADDRESS_REPLY) {
pt_flags &= (~MPTSAS_REQUEST_POOL_CMD);
if (pt_flags & MPTSAS_REQUEST_POOL_CMD)
if (pt_flags & MPTSAS_DATA_ALLOCATED) {
if (pt_flags & MPTSAS_DATAOUT_ALLOCATED) {
if (pt_flags & MPTSAS_CMD_TIMEOUT) {
if (pty->pt_flags & PF_ASYNC)
if (pty->pt_flags & PF_ASYNC)
if (!(pty->pt_flags & PF_CARR_ON)) {
pty->pt_flags |= PF_WOPEN;
pty->pt_flags &= ~PF_WOPEN;
pty->pt_flags &= ~PF_SUBSIDGONE;
if (pty->pt_flags & PF_CARR_ON)
while (pty->pt_flags & PF_IOCTL) {
pty->pt_flags |= PF_WAIT;
pty->pt_flags &= ~(PF_WOPEN|PF_STOPPED|PF_NOSTOP);
if (pty->pt_flags & PF_CARR_ON) {
pty->pt_flags |= PF_SUBSIDGONE; /* let the controller know */
if (!(pty->pt_flags & PF_STOPPED)) {
pty->pt_flags |= PF_STOPPED;
if (pty->pt_flags & PF_STOPPED) {
pty->pt_flags &= ~PF_STOPPED;
if (pty->pt_flags & PF_CARR_ON) {
(pty->pt_flags & PF_REMOTE) ?
if (!(pty->pt_flags & PF_REMOTE)) {
if (pty->pt_flags & PF_UCNTL) {
if (pty->pt_flags & PF_43UCNTL) {
if ((pty->pt_flags & PF_UCNTL) &&
if (pty->pt_flags & PF_CARR_ON) {
pty->pt_flags |= PF_SUBSIDGONE;
if (pty->pt_flags & PF_NOSTOP) {
pty->pt_flags &= ~PF_NOSTOP;
pty->pt_flags |= PF_NOSTOP;
if (pty->pt_flags & PF_ASYNC)
if (pty->pt_flags & (PF_PKT|PF_UCNTL) && pty->pt_send) {
if ((pty->pt_flags & PF_UCNTL) &&
if ((pty->pt_flags & PF_43UCNTL) && pty->pt_ucntl) {
if (((pty->pt_flags & (PF_PKT|PF_UCNTL)) && pty->pt_send) ||
((pty->pt_flags & PF_UCNTL) &&
if ((pty->pt_flags & PF_43UCNTL) && pty->pt_ucntl) {
if (pty->pt_flags & PF_CARR_ON) {
if (pty->pt_flags & PF_WOPEN) {
pty->pt_flags &= ~PF_WOPEN;
pty->pt_flags |= PF_CARR_ON;
pty->pt_flags &= (PF_WOPEN|PF_STOPPED|PF_NOSTOP);
while (pty->pt_flags & PF_READ) {
pty->pt_flags |= PF_WREAD;
pty->pt_flags |= PF_READ;
while (pty->pt_flags&(PF_PKT|PF_UCNTL) && pty->pt_send) {
while ((pty->pt_flags & (PF_UCNTL|PF_43UCNTL)) &&
!(pty->pt_flags & PF_STOPPED)) {
if (pty->pt_flags & (PF_PKT|PF_UCNTL|PF_43UCNTL)) {
if (pty->pt_flags&PF_UCNTL && pty->pt_stuffqfirst != NULL) {
if (pty->pt_flags & PF_SUBSIDGONE) {
if (pty->pt_flags & PF_NBIO) {
if (pty->pt_flags & PF_WREAD)
pty->pt_flags &= ~(PF_READ | PF_WREAD);
if (pty->pt_flags & PF_WREAD)
pty->pt_flags &= ~(PF_READ | PF_WREAD);
while (pty->pt_flags & PF_WRITE) {
pty->pt_flags |= PF_WWRITE;
pty->pt_flags |= PF_WRITE;
if (pty->pt_flags & PF_SUBSIDGONE) {
if (pty->pt_flags & PF_NBIO) {
if (pty->pt_flags & PF_WWRITE)
pty->pt_flags &= ~(PF_WRITE | PF_WWRITE);
if ((pty->pt_flags & PF_REMOTE) || uio->uio_resid > 0) {
if (pty->pt_flags & PF_SUBSIDGONE) {
if (pty->pt_flags & PF_NBIO) {
if (pty->pt_flags & PF_WWRITE)
pty->pt_flags &= ~(PF_WRITE | PF_WWRITE);
while (pty->pt_flags & PF_WRITE) {
pty->pt_flags |= PF_WWRITE;
pty->pt_flags |= PF_WRITE;
if ((pty->pt_flags & PF_NBIO) &&
if (pty->pt_flags & PF_NBIO) {
if (pty->pt_flags & PF_WWRITE)
pty->pt_flags &= ~(PF_WRITE | PF_WWRITE);
if (pty->pt_flags & (PF_UCNTL|PF_43UCNTL)) {
pty->pt_flags |= PF_PKT;
pty->pt_flags &= ~PF_PKT;
if (pty->pt_flags & (PF_PKT|PF_UCNTL)) {
pty->pt_flags |= PF_43UCNTL;
pty->pt_flags &= ~PF_43UCNTL;
if (pty->pt_flags & PF_PKT) {
pty->pt_flags |= PF_UCNTL;
pty->pt_flags &= ~PF_UCNTL;
pty->pt_flags |= PF_REMOTE;
pty->pt_flags &= ~PF_REMOTE;
pty->pt_flags |= PF_NBIO;
pty->pt_flags &= ~PF_NBIO;
pty->pt_flags |= PF_ASYNC;
pty->pt_flags &= ~PF_ASYNC;
if (pty->pt_flags&(PF_PKT|PF_UCNTL) && pty->pt_send)
else if ((pty->pt_flags & (PF_UCNTL|PF_43UCNTL)) &&
q->q_first != NULL && !(pty->pt_flags & PF_STOPPED)) {
} else if ((pty->pt_flags & PF_UCNTL) &&
pty->pt_flags |= PF_IOCTL;
if (pty->pt_flags & PF_WAIT)
pty->pt_flags &= ~(PF_IOCTL|PF_WAIT);
if (pty->pt_flags & PF_SUBSIDGONE) {
q->q_first != NULL && !(pty->pt_flags & PF_STOPPED)) {
int pt_flags; /* flag bits */