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:
parent
ecf453f963
commit
660f84b15b
|
@ -60,6 +60,7 @@ __freading NOSIGFE
|
|||
__fsetlocking SIGFE
|
||||
__fwritable NOSIGFE
|
||||
__fwriting NOSIGFE
|
||||
__getpagesize = getpagesize SIGFE
|
||||
__getreent NOSIGFE
|
||||
__gnu_basename NOSIGFE
|
||||
__infinity NOSIGFE
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -21,6 +21,10 @@ details. */
|
|||
#include "sync.h"
|
||||
#include "ntdll.h"
|
||||
|
||||
/* __getpagesize is only available from libcygwin.a */
|
||||
#undef SHMLBA
|
||||
#define SHMLBA (wincap.allocation_granularity ())
|
||||
|
||||
/*
|
||||
* client_request_shm Constructors
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue