summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel@rtems.org>2019-09-10 10:49:11 -0500
committerJoel Sherrill <joel@rtems.org>2019-09-10 10:49:11 -0500
commit9786b0559565616b1b35282157d9f42f239ed656 (patch)
tree214926f5b2cd867acd736b9743996c03dd7ce609
parentf39a694c463c1a1ea14e60f5d03652d94e6f76ee (diff)
downloadcygnal-9786b0559565616b1b35282157d9f42f239ed656.tar.gz
cygnal-9786b0559565616b1b35282157d9f42f239ed656.tar.bz2
cygnal-9786b0559565616b1b35282157d9f42f239ed656.zip
libc/include/devctl.h: Add SOCKCLOSE per FACE Technical Standard, Edition 3.0
The FACE Technical Standard, Edition 3.0 and later require the definition of the subcommand SOCKCLOSE in <devctl.h>. Reference: https://www.opengroup.org/face
-rw-r--r--newlib/libc/include/devctl.h29
1 files changed, 24 insertions, 5 deletions
diff --git a/newlib/libc/include/devctl.h b/newlib/libc/include/devctl.h
index f6055fb96..fd3409f89 100644
--- a/newlib/libc/include/devctl.h
+++ b/newlib/libc/include/devctl.h
@@ -1,5 +1,6 @@
/*
- * Copyright (c) 2016 Joel Sherrill <joel@rtems.org>. All rights reserved.
+ * Copyright (c) 2016,2019 Joel Sherrill <joel@rtems.org>.
+ * All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -27,6 +28,28 @@
#define _POSIX_DEVCTL_h_
/*
+ * Nothing in this file should be visible unless _POSIX_26_C_SOURCE is
+ * defined.
+ */
+#ifdef _POSIX_26_C_SOURCE
+
+#include <sys/cdefs.h>
+
+#if defined(__rtems__)
+/*
+ * The FACE Technical Standard, Edition 3.0 and later require the
+ * definition of the subcommand SOCKCLOSE in <devctl.h>.
+ *
+ * Reference: https://www.opengroup.org/face
+ *
+ * Using 'D' should avoid the letters used by other users of <sys/ioccom.h>
+ */
+#include <sys/ioccom.h>
+
+#define SOCKCLOSE _IO('D', 1) /* socket close */
+#endif
+
+/*
* The posix_devctl() method is defined by POSIX 1003.26-2003. Aside
* from the single method, it adds the following requirements:
*
@@ -35,10 +58,6 @@
* + application must define _POSIX_26_C_SOURCE to use posix_devctl().
* + posix_devctl() is prototyped in <devctl.h>
*/
-
-#ifdef _POSIX_26_C_SOURCE
-#include <sys/cdefs.h>
-
int posix_devctl(
int fd,
int dcmd,