cygwin: export __getpagesize
The inclusion of <sys/cygwin.h> by <sys/shm.h>, besides causing namespace pollution, also makes it very difficult to get the WINVER-dependent parts of the former. This affects code (such as x11vnc -unixpw_nis) which use both SysV shared memory (e.g. the X11 MIT-SHM extension) and user password authentication. getpagesize is the simplest function to retreive this information, but it is a legacy function and would also pollute the global namespace. The LSB lists another form which is in the implementation-reserved namespace: http://refspecs.linuxfoundation.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/baselib---getpagesize.html Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
This commit is contained in:
		
				
					committed by
					
						
						Corinna Vinschen
					
				
			
			
				
	
			
			
			
						parent
						
							ecf453f963
						
					
				
				
					commit
					660f84b15b
				
			@@ -13,7 +13,6 @@ details. */
 | 
			
		||||
#define _CYGWIN_SHM_H
 | 
			
		||||
 | 
			
		||||
#include <cygwin/ipc.h>
 | 
			
		||||
#include <sys/cygwin.h>
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
extern "C"
 | 
			
		||||
@@ -24,7 +23,9 @@ extern "C"
 | 
			
		||||
 *
 | 
			
		||||
 * 64 Kb was hardcoded for x86. MS states this may change so the constant
 | 
			
		||||
 * expression is replaced by a function call returning the correct value. */
 | 
			
		||||
#define SHMLBA	(cygwin_internal (CW_GET_SHMLBA))
 | 
			
		||||
#define SHMLBA	(__getpagesize ())
 | 
			
		||||
/* internal alias of legacy getpagesize to avoid polluting global namespace */
 | 
			
		||||
int __getpagesize (void);
 | 
			
		||||
 | 
			
		||||
/* Shared memory operation flags:
 | 
			
		||||
 */
 | 
			
		||||
 
 | 
			
		||||
@@ -477,13 +477,14 @@ details. */
 | 
			
		||||
      293: Convert utmpname/utmpxname to int.
 | 
			
		||||
      294: Export clog10, clog10f.
 | 
			
		||||
      295: Export POSIX ACL functions.
 | 
			
		||||
      296: Export __getpagesize.
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
     /* Note that we forgot to bump the api for ualarm, strtoll, strtoull,
 | 
			
		||||
	sigaltstack, sethostname. */
 | 
			
		||||
 | 
			
		||||
#define CYGWIN_VERSION_API_MAJOR 0
 | 
			
		||||
#define CYGWIN_VERSION_API_MINOR 295
 | 
			
		||||
#define CYGWIN_VERSION_API_MINOR 296
 | 
			
		||||
 | 
			
		||||
     /* There is also a compatibity version number associated with the
 | 
			
		||||
	shared memory regions.  It is incremented when incompatible
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user