Home | History | Annotate | Download | only in include
      1 /* Copyright (C) 1998, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
      2    This file is part of the GNU C Library.
      3 
      4    The GNU C Library is free software; you can redistribute it and/or
      5    modify it under the terms of the GNU Lesser General Public
      6    License as published by the Free Software Foundation; either
      7    version 2.1 of the License, or (at your option) any later version.
      8 
      9    The GNU C Library is distributed in the hope that it will be useful,
     10    but WITHOUT ANY WARRANTY; without even the implied warranty of
     11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     12    Lesser General Public License for more details.
     13 
     14    You should have received a copy of the GNU Lesser General Public
     15    License along with the GNU C Library; if not, write to the Free
     16    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
     17    02111-1307 USA.  */
     18 
     19 #ifndef _STROPTS_H
     20 #define _STROPTS_H	1
     21 
     22 #include <features.h>
     23 #include <bits/types.h>
     24 #include <bits/xtitypes.h>
     25 
     26 #ifndef __gid_t_defined
     27 typedef __gid_t gid_t;
     28 # define __gid_t_defined
     29 #endif
     30 
     31 #ifndef __uid_t_defined
     32 typedef __uid_t uid_t;
     33 # define __uid_t_defined
     34 #endif
     35 
     36 typedef __t_uscalar_t t_uscalar_t;
     37 
     38 /* Get system specific contants.  */
     39 #include <bits/stropts.h>
     40 
     41 
     42 __BEGIN_DECLS
     43 
     44 /* Test whether FILDES is associated with a STREAM-based file.  */
     45 extern int isastream (int __fildes) __THROW;
     46 
     47 /* Receive next message from a STREAMS file.
     48 
     49    This function is a cancellation point and therefore not marked with
     50    __THROW.  */
     51 extern int getmsg (int __fildes, struct strbuf *__restrict __ctlptr,
     52 		   struct strbuf *__restrict __dataptr,
     53 		   int *__restrict __flagsp);
     54 
     55 /* Receive next message from a STREAMS file, with *FLAGSP allowing to
     56    control which message.
     57 
     58    This function is a cancellation point and therefore not marked with
     59    __THROW.  */
     60 extern int getpmsg (int __fildes, struct strbuf *__restrict __ctlptr,
     61 		    struct strbuf *__restrict __dataptr,
     62 		    int *__restrict __bandp, int *__restrict __flagsp);
     63 
     64 /* Perform the I/O control operation specified by REQUEST on FD.
     65    One argument may follow; its presence and type depend on REQUEST.
     66    Return value depends on REQUEST.  Usually -1 indicates error.  */
     67 extern int ioctl (int __fd, unsigned long int __request, ...) __THROW;
     68 
     69 /* Send a message on a STREAM.
     70 
     71    This function is a cancellation point and therefore not marked with
     72    __THROW.  */
     73 extern int putmsg (int __fildes, __const struct strbuf *__ctlptr,
     74 		   __const struct strbuf *__dataptr, int __flags);
     75 
     76 /* Send a message on a STREAM to the BAND.
     77 
     78    This function is a cancellation point and therefore not marked with
     79    __THROW.  */
     80 extern int putpmsg (int __fildes, __const struct strbuf *__ctlptr,
     81 		    __const struct strbuf *__dataptr, int __band, int __flags);
     82 
     83 /* Attach a STREAMS-based file descriptor FILDES to a file PATH in the
     84    file system name space.  */
     85 extern int fattach (int __fildes, __const char *__path) __THROW;
     86 
     87 /* Detach a name PATH from a STREAMS-based file descriptor.  */
     88 extern int fdetach (__const char *__path) __THROW;
     89 
     90 __END_DECLS
     91 
     92 #endif /* stropts.h */
     93