Chapter Contents |
Previous |
Next |
w_ioctl |
Portability: | SAS/C extension |
SYNOPSIS | |
DESCRIPTION | |
RETURN VALUE | |
PORTABILITY | |
EXAMPLE | |
RELATED FUNCTIONS |
SYNOPSIS |
#include <termios.h> int w_ioctl(int fileDescriptor, int command, int argLength, void *argBuffer);
DESCRIPTION |
w_ioctl
enables you to pass device-specific commands and arguments
to an I/O device driver.
w_ioctl
accepts the following arguments:
fileDescriptor
command
argLength
arg
argument. The minimum length
is 1 and maximum length is 1024.
argBuffer
RETURN VALUE |
w_ioctl
returns a
0
if successful and a
-1
if unsuccessful.
PORTABILITY |
The
w_ioctl
function may be useful in USS applications; however, it is
not defined by the POSIX.1 standard and should not be used in portable applications.
EXAMPLE |
The following example illustrates the
use of
w_ioctl
to pass
a command to the controlling terminal:
#include <sys/types.h> #include <stdio.h> #include <unistd.h> #define MAX_CHAR 256 main() { int processNum = 0; W_PSPROC workArea; /* Initialize work area. */ memset(&workArea, 0, sizeof(workArea)); /* Allocate memory for character strings. */ if ((workArea.ps_conttyptr = (char *) malloc(MAX_CHAR)) == NULL) { perror("ps_conttyptr memory allocation error"); abort(); } else workArea.ps_conttylen = MAX_CHAR; if ((workArea.ps_pathptr = (char *) malloc(MAX_CHAR)) == NULL) { perror("ps_pathptr memory allocation error"); abort(); } else workArea.ps_pathlen = MAX_CHAR; if ((workArea.ps_cmdptr = (char *) malloc(MAX_CHAR)) == NULL) { perror("ps_cmdptr memory allocation error"); abort(); } else workArea.ps_cmdlen = MAX_CHAR; /* Get process information. */ do { processNum = w_getpsent(processNum, &workArea, sizeof(workArea)); if (processNum == -1) perror("error in w_getpsent"); else { printf("process number = %dn", processNum); printf("process ID = %10dn", workArea.ps_pid); printf("User ID = %8unn", workArea.ps_ruid); } } while (processNum != 0 && processNum != 1); }
RELATED FUNCTIONS |
tcdrain
,
tcflow
,
tcflush
,
tcsendbreak
Chapter Contents |
Previous |
Next |
Top of Page |
Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.