Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ uswitch(2) — OSF/1 3.0 αXP

Media Vault

Software Library

Restoration Projects

Artifacts Sought

uswitch(2)  —  System Calls

NAME

uswitch - Get or set compatibility environment specific behavior for a calling process through the uswitch value. 

SYNOPSIS

#include <sys/uswitch.h>

long uswitch (long cmd,
long mask);

PARAMETERS

cmdSpecifies the requested actions.  The valid cmd values are:

USC_GETReturns the current uswitch value for the calling process.  If mask is non-zero, it returns the status of specific uswitch bit-mask(s). 

USC_SETChanges the current uswitch value for the calling process as specified by the mask bit-mask(s). 

maskThe following bit-mask is valid when specified with either of the values for the cmd parameter:

USW_NULLP
Specifies System V NULL pointer behavior.

DESCRIPTION

The uswitch system call is used to get or change the compatibility environment specific behavior in DEC OSF/1.  Any changes affect the calling process and its children. 

When the USW_NULLP bit of uswitch is set to 1, the System V method of treating NULL pointers is applied.  In this method, references to a NULL pointer always returns zero (0).  When this bit-mask is reset to zero (0), subsequent references to a NULL pointer generate a segmentation violation signal (SIGSEGV). 

Any write(2) references to NULL pointers generate a segmentation violation signal (SIGSEGV) regardless of the uswitch value. 

EXAMPLES

long uswitch_val;
...
uswitch_val = uswitch(USC_GET,0);          /∗ Gets current value∗/
uswitch(USC_SET, uswitch_val | USW_NULLP); /∗ Sets USW_NULLP bit ∗/

NOTE

Usage of this system call may make the application non-portable. 

RETURN VALUES

Upon successful completion, either the current or new uswitch value for mask is returned.  Otherwise, a value of -1 is returned and errno is set to indicate the error. 

ERRORS

If the uswitch system call fails, the uswitch value remains unchanged and errno is set to the following:

[EINVAL]The mask is greater than USW_MAX or less than USW_MIN. 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026