Add <devctl.h> per POSIX 1003.26-2003
This commit is contained in:
		
							
								
								
									
										51
									
								
								newlib/libc/include/devctl.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								newlib/libc/include/devctl.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | |||||||
|  | /* | ||||||
|  |  * Copyright (c) 2016 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 | ||||||
|  |  * are met: | ||||||
|  |  * 1. Redistributions of source code must retain the above copyright | ||||||
|  |  *    notice, this list of conditions and the following disclaimer. | ||||||
|  |  * 2. Redistributions in binary form must reproduce the above copyright | ||||||
|  |  *    notice, this list of conditions and the following disclaimer in the | ||||||
|  |  *    documentation and/or other materials provided with the distribution. | ||||||
|  |  * | ||||||
|  |  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||||||
|  |  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||||
|  |  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||||
|  |  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||||||
|  |  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||||
|  |  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||||
|  |  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||||
|  |  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||||
|  |  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||||
|  |  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||||
|  |  * SUCH DAMAGE. | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #ifndef _POSIX_DEVCTL_h_ | ||||||
|  | #define _POSIX_DEVCTL_h_ | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * The posix_devctl() method is defined by POSIX 1003.26-2003. Aside | ||||||
|  |  * from the single method, it adds the following requirements: | ||||||
|  |  * | ||||||
|  |  *   + define _POSIX_26_VERSION to 200312L | ||||||
|  |  *   + add _SC_POSIX_26_VERSION in <unistd.h>. Return _POSIX_26_VERSION | ||||||
|  |  *   + application must define _POSIX_26_C_SOURCE to use posix_devctl(). | ||||||
|  |  *   + posix_devctl() is prototyped in <devctl.h> | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #ifdef _POSIX_26_C_SOURCE | ||||||
|  | #include <stddef.h> | ||||||
|  |  | ||||||
|  | int posix_devctl( | ||||||
|  |   int            fd, | ||||||
|  |   int            dcmd, | ||||||
|  |   void *restrict dev_data_ptr, | ||||||
|  |   size_t         nbyte, | ||||||
|  |   int *restrict  dev_info_ptr | ||||||
|  | ); | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #endif | ||||||
| @@ -366,6 +366,9 @@ extern "C" { | |||||||
| /* UNIX98 added some new pthread mutex attributes */ | /* UNIX98 added some new pthread mutex attributes */ | ||||||
| #define _UNIX98_THREAD_MUTEX_ATTRIBUTES         1 | #define _UNIX98_THREAD_MUTEX_ATTRIBUTES         1 | ||||||
|  |  | ||||||
|  | /* POSIX 1003.26-2003 defined device control method */ | ||||||
|  | #define _POSIX_26_VERSION			200312L | ||||||
|  |  | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| /* XMK loosely adheres to POSIX -- 1003.1 */ | /* XMK loosely adheres to POSIX -- 1003.1 */ | ||||||
|   | |||||||
| @@ -459,6 +459,7 @@ int	_EXFUN(unlinkat, (int, const char *, int)); | |||||||
| #define _SC_LEVEL4_CACHE_SIZE           137 | #define _SC_LEVEL4_CACHE_SIZE           137 | ||||||
| #define _SC_LEVEL4_CACHE_ASSOC          138 | #define _SC_LEVEL4_CACHE_ASSOC          138 | ||||||
| #define _SC_LEVEL4_CACHE_LINESIZE       139 | #define _SC_LEVEL4_CACHE_LINESIZE       139 | ||||||
|  | #define _SC_POSIX_26_VERSION            140 | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  *  pathconf values per IEEE Std 1003.1, 2008 Edition |  *  pathconf values per IEEE Std 1003.1, 2008 Edition | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user