1/* Copyright (C) 1998, 1999, 2000 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 25#ifndef __gid_t_defined 26typedef __gid_t gid_t; 27# define __gid_t_defined 28#endif 29 30#ifndef __uid_t_defined 31typedef __uid_t uid_t; 32# define __uid_t_defined 33#endif 34 35typedef __t_uscalar_t t_uscalar_t; 36 37/* Get system specific contants. */ 38#include <bits/stropts.h> 39 40 41__BEGIN_DECLS 42 43/* Test whether FILDES is associated with a STREAM-based file. */ 44extern int isastream (int __fildes) __THROW; 45 46/* Receive next message from a STREAMS file. */ 47extern int getmsg (int __fildes, struct strbuf *__restrict __ctlptr, 48 struct strbuf *__restrict __dataptr, 49 int *__restrict __flagsp) __THROW; 50 51/* Receive next message from a STREAMS file, with *FLAGSP allowing to 52 control which message. */ 53extern int getpmsg (int __fildes, struct strbuf *__restrict __ctlptr, 54 struct strbuf *__restrict __dataptr, 55 int *__restrict __bandp, int *__restrict __flagsp) 56 __THROW; 57 58/* Perform the I/O control operation specified by REQUEST on FD. 59 One argument may follow; its presence and type depend on REQUEST. 60 Return value depends on REQUEST. Usually -1 indicates error. */ 61extern int ioctl (int __fd, unsigned long int __request, ...) __THROW; 62 63/* Send a message on a STREAM. */ 64extern int putmsg (int __fildes, __const struct strbuf *__ctlptr, 65 __const struct strbuf *__dataptr, int __flags) __THROW; 66 67/* Send a message on a STREAM to the BAND. */ 68extern int putpmsg (int __fildes, __const struct strbuf *__ctlptr, 69 __const struct strbuf *__dataptr, int __band, int __flags) 70 __THROW; 71 72/* Attach a STREAMS-based file descriptor FILDES to a file PATH in the 73 file system name space. */ 74extern int fattach (int __fildes, __const char *__path) __THROW; 75 76/* Detach a name PATH from a STREAMS-based file descriptor. */ 77extern int fdetach (__const char *__path) __THROW; 78 79__END_DECLS 80 81#endif /* stropts.h */ 82