diff options
Diffstat (limited to 'REORG.TODO/streams')
-rw-r--r-- | REORG.TODO/streams/Makefile | 28 | ||||
-rw-r--r-- | REORG.TODO/streams/Versions | 15 | ||||
-rw-r--r-- | REORG.TODO/streams/fattach.c | 29 | ||||
-rw-r--r-- | REORG.TODO/streams/fdetach.c | 29 | ||||
-rw-r--r-- | REORG.TODO/streams/getmsg.c | 29 | ||||
-rw-r--r-- | REORG.TODO/streams/getpmsg.c | 30 | ||||
-rw-r--r-- | REORG.TODO/streams/isastream.c | 33 | ||||
-rw-r--r-- | REORG.TODO/streams/putmsg.c | 30 | ||||
-rw-r--r-- | REORG.TODO/streams/putpmsg.c | 30 | ||||
-rw-r--r-- | REORG.TODO/streams/stropts.h | 92 | ||||
-rw-r--r-- | REORG.TODO/streams/sys/stropts.h | 1 |
11 files changed, 346 insertions, 0 deletions
diff --git a/REORG.TODO/streams/Makefile b/REORG.TODO/streams/Makefile new file mode 100644 index 0000000000..ce577ae30d --- /dev/null +++ b/REORG.TODO/streams/Makefile @@ -0,0 +1,28 @@ +# Copyright (C) 1998-2017 Free Software Foundation, Inc. +# This file is part of the GNU C Library. + +# The GNU C Library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. + +# The GNU C Library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. + +# You should have received a copy of the GNU Lesser General Public +# License along with the GNU C Library; if not, see +# <http://www.gnu.org/licenses/>. + +# +# Makefile for streams. +# +subdir := streams + +include ../Makeconfig + +headers = stropts.h sys/stropts.h bits/stropts.h bits/xtitypes.h +routines = isastream getmsg getpmsg putmsg putpmsg fattach fdetach + +include ../Rules diff --git a/REORG.TODO/streams/Versions b/REORG.TODO/streams/Versions new file mode 100644 index 0000000000..9a6f4d756c --- /dev/null +++ b/REORG.TODO/streams/Versions @@ -0,0 +1,15 @@ +libc { + GLIBC_2.1 { + # f* + fattach; fdetach; + + # g* + getmsg; getpmsg; + + # i* + isastream; + + # p* + putmsg; putpmsg; + } +} diff --git a/REORG.TODO/streams/fattach.c b/REORG.TODO/streams/fattach.c new file mode 100644 index 0000000000..e25c86c5f8 --- /dev/null +++ b/REORG.TODO/streams/fattach.c @@ -0,0 +1,29 @@ +/* Copyright (C) 1998-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <errno.h> +#include <stropts.h> + +int +fattach (int fildes, const char *path) +{ + __set_errno (ENOSYS); + return -1; +} + + +stub_warning (fattach) diff --git a/REORG.TODO/streams/fdetach.c b/REORG.TODO/streams/fdetach.c new file mode 100644 index 0000000000..786dc124ea --- /dev/null +++ b/REORG.TODO/streams/fdetach.c @@ -0,0 +1,29 @@ +/* Copyright (C) 1998-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <errno.h> +#include <stropts.h> + +int +fdetach (const char *path) +{ + __set_errno (ENOSYS); + return -1; +} + + +stub_warning (fdetach) diff --git a/REORG.TODO/streams/getmsg.c b/REORG.TODO/streams/getmsg.c new file mode 100644 index 0000000000..5ab1b7caad --- /dev/null +++ b/REORG.TODO/streams/getmsg.c @@ -0,0 +1,29 @@ +/* Copyright (C) 1998-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <errno.h> +#include <stropts.h> + +int +getmsg (int fildes, struct strbuf *ctlptr, struct strbuf *dataptr, int *flagsp) +{ + __set_errno (ENOSYS); + return -1; +} + + +stub_warning (getmsg) diff --git a/REORG.TODO/streams/getpmsg.c b/REORG.TODO/streams/getpmsg.c new file mode 100644 index 0000000000..a163a6cb89 --- /dev/null +++ b/REORG.TODO/streams/getpmsg.c @@ -0,0 +1,30 @@ +/* Copyright (C) 1998-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <errno.h> +#include <stropts.h> + +int +getpmsg (int fildes, struct strbuf *ctlptr, struct strbuf *dataptr, int *bandp, + int *flagsp) +{ + __set_errno (ENOSYS); + return -1; +} + + +stub_warning (getpmsg) diff --git a/REORG.TODO/streams/isastream.c b/REORG.TODO/streams/isastream.c new file mode 100644 index 0000000000..23ef519980 --- /dev/null +++ b/REORG.TODO/streams/isastream.c @@ -0,0 +1,33 @@ +/* Copyright (C) 1998-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <errno.h> +#include <fcntl.h> +#include <stropts.h> + +int +isastream (int fildes) +{ + /* In general we do not have a STREAMS implementation and therefore + return 0. But for invalid file descriptors we have to return an + error. */ + if (__fcntl (fildes, F_GETFD) < 0) + return -1; + + /* No STREAM. */ + return 0; +} diff --git a/REORG.TODO/streams/putmsg.c b/REORG.TODO/streams/putmsg.c new file mode 100644 index 0000000000..e397a1ac6b --- /dev/null +++ b/REORG.TODO/streams/putmsg.c @@ -0,0 +1,30 @@ +/* Copyright (C) 1998-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <errno.h> +#include <stropts.h> + +int +putmsg (int fildes, const struct strbuf *ctlptr, const struct strbuf *dataptr, + int flags) +{ + __set_errno (ENOSYS); + return -1; +} + + +stub_warning (putmsg) diff --git a/REORG.TODO/streams/putpmsg.c b/REORG.TODO/streams/putpmsg.c new file mode 100644 index 0000000000..e7d8ead7a5 --- /dev/null +++ b/REORG.TODO/streams/putpmsg.c @@ -0,0 +1,30 @@ +/* Copyright (C) 1998-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <errno.h> +#include <stropts.h> + +int +putpmsg (int fildes, const struct strbuf *ctlptr, const struct strbuf *dataptr, + int band, int flags) +{ + __set_errno (ENOSYS); + return -1; +} + + +stub_warning (putpmsg) diff --git a/REORG.TODO/streams/stropts.h b/REORG.TODO/streams/stropts.h new file mode 100644 index 0000000000..b66ba02467 --- /dev/null +++ b/REORG.TODO/streams/stropts.h @@ -0,0 +1,92 @@ +/* Copyright (C) 1998-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef _STROPTS_H +#define _STROPTS_H 1 + +#include <features.h> +#include <bits/types.h> +#include <bits/xtitypes.h> + +#ifndef __gid_t_defined +typedef __gid_t gid_t; +# define __gid_t_defined +#endif + +#ifndef __uid_t_defined +typedef __uid_t uid_t; +# define __uid_t_defined +#endif + +typedef __t_scalar_t t_scalar_t; +typedef __t_uscalar_t t_uscalar_t; + +/* Get system specific constants. */ +#include <bits/stropts.h> + + +__BEGIN_DECLS + +/* Test whether FILDES is associated with a STREAM-based file. */ +extern int isastream (int __fildes) __THROW; + +/* Receive next message from a STREAMS file. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int getmsg (int __fildes, struct strbuf *__restrict __ctlptr, + struct strbuf *__restrict __dataptr, + int *__restrict __flagsp); + +/* Receive next message from a STREAMS file, with *FLAGSP allowing to + control which message. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int getpmsg (int __fildes, struct strbuf *__restrict __ctlptr, + struct strbuf *__restrict __dataptr, + int *__restrict __bandp, int *__restrict __flagsp); + +/* Perform the I/O control operation specified by REQUEST on FD. + One argument may follow; its presence and type depend on REQUEST. + Return value depends on REQUEST. Usually -1 indicates error. */ +extern int ioctl (int __fd, unsigned long int __request, ...) __THROW; + +/* Send a message on a STREAM. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int putmsg (int __fildes, const struct strbuf *__ctlptr, + const struct strbuf *__dataptr, int __flags); + +/* Send a message on a STREAM to the BAND. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int putpmsg (int __fildes, const struct strbuf *__ctlptr, + const struct strbuf *__dataptr, int __band, int __flags); + +/* Attach a STREAMS-based file descriptor FILDES to a file PATH in the + file system name space. */ +extern int fattach (int __fildes, const char *__path) __THROW; + +/* Detach a name PATH from a STREAMS-based file descriptor. */ +extern int fdetach (const char *__path) __THROW; + +__END_DECLS + +#endif /* stropts.h */ diff --git a/REORG.TODO/streams/sys/stropts.h b/REORG.TODO/streams/sys/stropts.h new file mode 100644 index 0000000000..5b5bc02f40 --- /dev/null +++ b/REORG.TODO/streams/sys/stropts.h @@ -0,0 +1 @@ +#include <stropts.h> |