posix_openpt man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

posix_openpt(3C)	 Standard C Library Functions	      posix_openpt(3C)

NAME
       posix_openpt - open a pseudo terminal device

SYNOPSIS
       #include <stdlib.h>
       #include <fcntl.h>

       int posix_openpt(int oflag);

DESCRIPTION
       The  posix_openpt()  function establishes a connection between a master
       device for a pseudo-terminal and a file descriptor. The file descriptor
       is used by other I/O functions that refer to that pseudo-terminal.

       The  file  status flags and file access modes of the open file descrip‐
       tion are set according to the value of oflag.

       Values for oflag are constructed by a  bitwise-inclusive	 OR  of	 flags
       from the following list, defined in <fcntl.h>.

       O_RDWR	       Open for reading and writing.

       O_NOCTTY	       If  set,	 posix_openpt()	 does  not  cause the terminal
		       device to  become  the  controlling  terminal  for  the
		       process.

       The behavior of other values for the oflag argument is unspecified.

RETURN VALUES
       Upon  successful completion, the posix_openpt() function opens a master
       pseudo-terminal device and returns a non-negative integer  representing
       the  lowest  numbered unused file descriptor. Otherwise, -1 is returned
       and errno is set to indicate the error.

ERRORS
       The posix_openpt() function will fail if:

       EMFILE	       {OPEN_MAX} file descriptors are currently open  in  the
		       calling process.

       ENFILE	       The maximum allowable number of files is currently open
		       in the system.

       The posix_openpt() function may fail if:

       EINVAL	       The value of oflag is not valid.

       EAGAIN	       Out of pseudo-terminal resources.

       ENOSR	       Out of STREAMS resources.

EXAMPLES
       Example 1: Open a pseudo-terminal.

       The following example opens a pseudo-terminal and returns the  name  of
       the slave device and a file descriptor.

       #include fcntl.h>
       #include stdio.h>

       int masterfd, slavefd;
       char *slavedevice;

       masterfd = posix_openpt(O_RDWR|O_NOCTTY);

       if (masterfd == -1
	     || grantpt (masterfd) == -1
	     || unlockpt (masterfd) == -1
	     || (slavedevice = ptsname (masterfd)) == NULL)
	     return -1;

       printf("slave device is: %s\n", slavedevice);

       slavefd = open(slave, O_RDWR|O_NOCTTY);
       if (slavefd < 0)
	     return -1;

USAGE
       This  function provieds a method for portably obtaining a file descrip‐
       tor of a master terminal device for a pseudo-terminal. The  grantpt(3C)
       and  ptsname(3C) functions can be used to manipulate mode and ownership
       permissions and to obtain the name of the slave device, respectively.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Standard			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │MT-Safe			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       open(2), grantpt(3C), ptsname(3C), unlockpt(3C),	 attributes(5),	 stan‐
       dards(5)

SunOS 5.10			  1 Dec	 2003		      posix_openpt(3C)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net