[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit

Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/ap/libc/glibc/glibc-2.22/streams/Makefile b/ap/libc/glibc/glibc-2.22/streams/Makefile
new file mode 100644
index 0000000..a8a6162
--- /dev/null
+++ b/ap/libc/glibc/glibc-2.22/streams/Makefile
@@ -0,0 +1,28 @@
+# Copyright (C) 1998-2015 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/ap/libc/glibc/glibc-2.22/streams/Versions b/ap/libc/glibc/glibc-2.22/streams/Versions
new file mode 100644
index 0000000..9a6f4d7
--- /dev/null
+++ b/ap/libc/glibc/glibc-2.22/streams/Versions
@@ -0,0 +1,15 @@
+libc {
+  GLIBC_2.1 {
+    # f*
+    fattach; fdetach;
+
+    # g*
+    getmsg; getpmsg;
+
+    # i*
+    isastream;
+
+    # p*
+    putmsg; putpmsg;
+  }
+}
diff --git a/ap/libc/glibc/glibc-2.22/streams/fattach.c b/ap/libc/glibc/glibc-2.22/streams/fattach.c
new file mode 100644
index 0000000..6a282d8
--- /dev/null
+++ b/ap/libc/glibc/glibc-2.22/streams/fattach.c
@@ -0,0 +1,31 @@
+/* Copyright (C) 1998-2015 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 (fildes, path)
+     int fildes;
+     const char *path;
+{
+  __set_errno (ENOSYS);
+  return -1;
+}
+
+
+stub_warning (fattach)
diff --git a/ap/libc/glibc/glibc-2.22/streams/fdetach.c b/ap/libc/glibc/glibc-2.22/streams/fdetach.c
new file mode 100644
index 0000000..09706de
--- /dev/null
+++ b/ap/libc/glibc/glibc-2.22/streams/fdetach.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 1998-2015 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 (path)
+     const char *path;
+{
+  __set_errno (ENOSYS);
+  return -1;
+}
+
+
+stub_warning (fdetach)
diff --git a/ap/libc/glibc/glibc-2.22/streams/getmsg.c b/ap/libc/glibc/glibc-2.22/streams/getmsg.c
new file mode 100644
index 0000000..5ca595a
--- /dev/null
+++ b/ap/libc/glibc/glibc-2.22/streams/getmsg.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 1998-2015 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 (fildes, ctlptr, dataptr, flagsp)
+     int fildes;
+     struct strbuf *ctlptr;
+     struct strbuf *dataptr;
+     int *flagsp;
+{
+  __set_errno (ENOSYS);
+  return -1;
+}
+
+
+stub_warning (getmsg)
diff --git a/ap/libc/glibc/glibc-2.22/streams/getpmsg.c b/ap/libc/glibc/glibc-2.22/streams/getpmsg.c
new file mode 100644
index 0000000..7e8c872
--- /dev/null
+++ b/ap/libc/glibc/glibc-2.22/streams/getpmsg.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 1998-2015 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 (fildes, ctlptr, dataptr, bandp, flagsp)
+     int fildes;
+     struct strbuf *ctlptr;
+     struct strbuf *dataptr;
+     int *bandp;
+     int *flagsp;
+{
+  __set_errno (ENOSYS);
+  return -1;
+}
+
+
+stub_warning (getpmsg)
diff --git a/ap/libc/glibc/glibc-2.22/streams/isastream.c b/ap/libc/glibc/glibc-2.22/streams/isastream.c
new file mode 100644
index 0000000..f8d2b20
--- /dev/null
+++ b/ap/libc/glibc/glibc-2.22/streams/isastream.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 1998-2015 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 (fildes)
+     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/ap/libc/glibc/glibc-2.22/streams/putmsg.c b/ap/libc/glibc/glibc-2.22/streams/putmsg.c
new file mode 100644
index 0000000..9197f7e
--- /dev/null
+++ b/ap/libc/glibc/glibc-2.22/streams/putmsg.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 1998-2015 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 (fildes, ctlptr, dataptr, flags)
+     int fildes;
+     const struct strbuf *ctlptr;
+     const struct strbuf *dataptr;
+     int flags;
+{
+  __set_errno (ENOSYS);
+  return -1;
+}
+
+
+stub_warning (putmsg)
diff --git a/ap/libc/glibc/glibc-2.22/streams/putpmsg.c b/ap/libc/glibc/glibc-2.22/streams/putpmsg.c
new file mode 100644
index 0000000..e9fbd0f
--- /dev/null
+++ b/ap/libc/glibc/glibc-2.22/streams/putpmsg.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 1998-2015 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 (fildes, ctlptr, dataptr, band, flags)
+     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/ap/libc/glibc/glibc-2.22/streams/stropts.h b/ap/libc/glibc/glibc-2.22/streams/stropts.h
new file mode 100644
index 0000000..7bdba7a
--- /dev/null
+++ b/ap/libc/glibc/glibc-2.22/streams/stropts.h
@@ -0,0 +1,92 @@
+/* Copyright (C) 1998-2015 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/ap/libc/glibc/glibc-2.22/streams/sys/stropts.h b/ap/libc/glibc/glibc-2.22/streams/sys/stropts.h
new file mode 100644
index 0000000..5b5bc02
--- /dev/null
+++ b/ap/libc/glibc/glibc-2.22/streams/sys/stropts.h
@@ -0,0 +1 @@
+#include <stropts.h>