diff options
| author | Mihai Moldovan <ionic@ionic.de> | 2017-12-15 12:55:17 +0100 |
|---|---|---|
| committer | Mihai Moldovan <ionic@ionic.de> | 2017-12-15 12:55:17 +0100 |
| commit | 1dad092caf01d733990648e6df64cbf964df5143 (patch) | |
| tree | 39de0e643e76754a3e23ca9dd0350b8ba4f76250 /nx-X11/programs/Xserver/include/os.h | |
| parent | 6d70b9e3c47f27a166f4aacb522c5c1e49092dd9 (diff) | |
| parent | 2b9025f797ee322e21077e100c2ee27c2e7fa0e0 (diff) | |
| download | nx-libs-1dad092caf01d733990648e6df64cbf964df5143.tar.gz nx-libs-1dad092caf01d733990648e6df64cbf964df5143.tar.bz2 nx-libs-1dad092caf01d733990648e6df64cbf964df5143.zip | |
Merge branch '3.6.x'
Diffstat (limited to 'nx-X11/programs/Xserver/include/os.h')
| -rw-r--r-- | nx-X11/programs/Xserver/include/os.h | 156 |
1 files changed, 85 insertions, 71 deletions
diff --git a/nx-X11/programs/Xserver/include/os.h b/nx-X11/programs/Xserver/include/os.h index 0b3354eec..be41e0118 100644 --- a/nx-X11/programs/Xserver/include/os.h +++ b/nx-X11/programs/Xserver/include/os.h @@ -1,4 +1,3 @@ -/* $XFree86: xc/programs/Xserver/include/os.h,v 3.54 2003/10/30 21:21:06 herrb Exp $ */ /*********************************************************** Copyright 1987, 1998 The Open Group @@ -46,20 +45,12 @@ SOFTWARE. ******************************************************************/ -/* $Xorg: os.h,v 1.4 2001/02/09 02:05:15 xorgcvs Exp $ */ #ifndef OS_H #define OS_H #include "misc.h" -#define ALLOCATE_LOCAL_FALLBACK(_size) Xalloc((unsigned long)(_size)) -#define DEALLOCATE_LOCAL_FALLBACK(_ptr) Xfree((pointer)(_ptr)) -#include <X11/Xalloca.h> -#ifndef IN_MODULE #include <stdarg.h> -#else -#include "xf86_ansic.h" -#endif #define NullFID ((FID) 0) @@ -75,29 +66,25 @@ SOFTWARE. #define MAX_BIG_REQUEST_SIZE 4194303 #endif -typedef pointer FID; +typedef void * FID; typedef struct _FontPathRec *FontPathPtr; typedef struct _NewClientRec *NewClientPtr; -#ifndef xalloc +#ifndef xnfalloc #define xnfalloc(size) XNFalloc((unsigned long)(size)) #define xnfcalloc(_num, _size) XNFcalloc((unsigned long)(_num)*(unsigned long)(_size)) -#define xnfrealloc(ptr, size) XNFrealloc((pointer)(ptr), (unsigned long)(size)) +#define xnfrealloc(ptr, size) XNFrealloc((void *)(ptr), (unsigned long)(size)) -#define xalloc(size) Xalloc((unsigned long)(size)) -#define xcalloc(_num, _size) Xcalloc((unsigned long)(_num)*(unsigned long)(_size)) -#define xrealloc(ptr, size) Xrealloc((pointer)(ptr), (unsigned long)(size)) -#define xfree(ptr) Xfree((pointer)(ptr)) #define xstrdup(s) Xstrdup(s) #define xnfstrdup(s) XNFstrdup(s) + +#define xallocarray(num, size) reallocarray(NULL, (num), (size)) #endif -#ifndef IN_MODULE #ifdef __SCO__ #include <stdio.h> #endif #include <string.h> -#endif /* have to put $(SIGNAL_DEFINES) in DEFINES in Imakefile to get this right */ #ifdef SIGNALRETURNSINT @@ -106,21 +93,13 @@ typedef struct _NewClientRec *NewClientPtr; #define SIGVAL void #endif -extern Bool OsDelayInitColors; extern void (*OsVendorVErrorFProc)(const char *, va_list args); extern int WaitForSomething( int* /*pClientsReady*/ ); -#ifdef LBX -#define ReadRequestFromClient(client) ((client)->readRequest(client)) -extern int StandardReadRequestFromClient(ClientPtr /*client*/); - -extern int ClientConnectionNumber(ClientPtr /*client*/); -#else extern int ReadRequestFromClient(ClientPtr /*client*/); -#endif /* LBX */ extern Bool InsertFakeRequest( ClientPtr /*client*/, @@ -135,12 +114,14 @@ extern void FlushIfCriticalOutputPending(void); extern void SetCriticalOutputPending(void); -extern int WriteToClient(ClientPtr /*who*/, int /*count*/, char* /*buf*/); +extern int WriteToClient(ClientPtr /*who*/, int /*count*/, const void* /*__buf*/); extern void ResetOsBuffers(void); extern void InitConnectionLimits(void); +extern void NotifyParentProcess(void); + extern void CreateWellKnownSockets(void); extern void ResetWellKnownSockets(void); @@ -156,17 +137,22 @@ extern char *ClientAuthorized( unsigned int /*string_n*/, char* /*auth_string*/); -extern Bool EstablishNewConnections( - ClientPtr /*clientUnused*/, - pointer /*closure*/); - extern void CheckConnections(void); extern void CloseDownConnection(ClientPtr /*client*/); -extern void AddEnabledDevice(int /*fd*/); +typedef void (*NotifyFdProcPtr)(int fd, int ready, void *data); + +#define X_NOTIFY_NONE 0 +#define X_NOTIFY_READ 1 +#define X_NOTIFY_WRITE 2 + +extern Bool SetNotifyFd(int fd, NotifyFdProcPtr notify_fd, int mask, void *data); -extern void RemoveEnabledDevice(int /*fd*/); +static inline void RemoveNotifyFd(int fd) +{ + (void) SetNotifyFd(fd, NULL, X_NOTIFY_NONE, NULL); +} extern void OnlyListenToOneClient(ClientPtr /*client*/); @@ -180,16 +166,12 @@ extern void MakeClientGrabImpervious(ClientPtr /*client*/); extern void MakeClientGrabPervious(ClientPtr /*client*/); -#ifdef LBX -extern void CloseDownFileDescriptor(ClientPtr /* client */); -#endif - extern void AvailableClientInput(ClientPtr /* client */); extern CARD32 GetTimeInMillis(void); extern void AdjustWaitForDelay( - pointer /*waitTime*/, + void * /*waitTime*/, unsigned long /*newdelay*/); typedef struct _OsTimerRec *OsTimerPtr; @@ -197,7 +179,7 @@ typedef struct _OsTimerRec *OsTimerPtr; typedef CARD32 (*OsTimerCallback)( OsTimerPtr /* timer */, CARD32 /* time */, - pointer /* arg */); + void * /* arg */); extern void TimerInit(void); @@ -211,7 +193,7 @@ extern OsTimerPtr TimerSet( int /* flags */, CARD32 /* millis */, OsTimerCallback /* func */, - pointer /* arg */); + void * /* arg */); extern void TimerCheck(void); extern void TimerCancel(OsTimerPtr /* pTimer */); @@ -238,28 +220,25 @@ extern void ProcessCommandLine(int /*argc*/, char* /*argv*/[]); extern int set_font_authorizations( char ** /* authorizations */, int * /*authlen */, - pointer /* client */); - -#ifndef _HAVE_XALLOC_DECLS -#define _HAVE_XALLOC_DECLS -extern pointer Xalloc(unsigned long /*amount*/); -extern pointer Xcalloc(unsigned long /*amount*/); -extern pointer Xrealloc(pointer /*ptr*/, unsigned long /*amount*/); -extern void Xfree(pointer /*ptr*/); -#endif + void * /* client */); -extern pointer XNFalloc(unsigned long /*amount*/); -extern pointer XNFcalloc(unsigned long /*amount*/); -extern pointer XNFrealloc(pointer /*ptr*/, unsigned long /*amount*/); +extern void * XNFalloc(unsigned long /*amount*/); +extern void * XNFcalloc(unsigned long /*amount*/); +extern void * XNFrealloc(void * /*ptr*/, unsigned long /*amount*/); extern void OsInitAllocator(void); extern char *Xstrdup(const char *s); extern char *XNFstrdup(const char *s); -extern char *Xprintf(const char *fmt, ...); -extern char *Xvprintf(const char *fmt, va_list va); -extern char *XNFprintf(const char *fmt, ...); -extern char *XNFvprintf(const char *fmt, va_list va); + +/* Include new X*asprintf API */ +#include "Xprintf.h" + +/* Older api deprecated in favor of the asprintf versions */ +extern _X_EXPORT char *Xprintf(const char *fmt, ...) _X_ATTRIBUTE_PRINTF(1,2) _X_DEPRECATED; +extern _X_EXPORT char *Xvprintf(const char *fmt, va_list va)_X_ATTRIBUTE_PRINTF(1,0) _X_DEPRECATED; +extern _X_EXPORT char *XNFprintf(const char *fmt, ...) _X_ATTRIBUTE_PRINTF(1,2) _X_DEPRECATED; +extern _X_EXPORT char *XNFvprintf(const char *fmt, va_list va)_X_ATTRIBUTE_PRINTF(1,0) _X_DEPRECATED; typedef SIGVAL (*OsSigHandlerPtr)(int /* sig */); @@ -294,12 +273,12 @@ void OsBlockSignals (void); void OsReleaseSignals (void); -#if !defined(WIN32) && !defined(__UNIXOS2__) +#if !defined(WIN32) extern int System(char *); -extern pointer Popen(char *, char *); -extern int Pclose(pointer); -extern pointer Fopen(char *, char *); -extern int Fclose(pointer); +extern void * Popen(char *, char *); +extern int Pclose(void *); +extern void * Fopen(char *, char *); +extern int Fclose(void *); #else #define System(a) system(a) #define Popen(a,b) popen(a,b) @@ -315,24 +294,24 @@ extern int AddHost( ClientPtr /*client*/, int /*family*/, unsigned /*length*/, - pointer /*pAddr*/); + void * /*pAddr*/); extern Bool ForEachHostInFamily ( int /*family*/, Bool (* /*func*/ )( unsigned char * /* addr */, short /* len */, - pointer /* closure */), - pointer /*closure*/); + void * /* closure */), + void * /*closure*/); extern int RemoveHost( ClientPtr /*client*/, int /*family*/, unsigned /*length*/, - pointer /*pAddr*/); + void * /*pAddr*/); extern int GetHosts( - pointer * /*data*/, + void ** /*data*/, int * /*pnHosts*/, int * /*pLen*/, BOOL * /*pEnabled*/); @@ -341,10 +320,26 @@ typedef struct sockaddr * sockaddrPtr; extern int InvalidHost(sockaddrPtr /*saddr*/, int /*len*/, ClientPtr client); -extern int LocalClient(ClientPtr /* client */); - extern int LocalClientCred(ClientPtr, int *, int *); +#define LCC_UID_SET (1 << 0) +#define LCC_GID_SET (1 << 1) +#define LCC_PID_SET (1 << 2) +#define LCC_ZID_SET (1 << 3) + +typedef struct { + int fieldsSet; /* Bit mask of fields set */ + int euid; /* Effective uid */ + int egid; /* Primary effective group id */ + int nSuppGids; /* Number of supplementary group ids */ + int *pSuppGids; /* Array of supplementary group ids */ + int pid; /* Process id */ + int zoneid; /* Only set on Solaris 10 & later */ +} LocalClientCredRec; + +extern int GetLocalClientCreds(ClientPtr, LocalClientCredRec **); +extern void FreeLocalClientCreds(LocalClientCredRec *); + extern int ChangeAccessControl(ClientPtr /*client*/, int /*fEnabled*/); extern int GetAccessControl(void); @@ -362,7 +357,7 @@ extern void AccessUsingXdmcp(void); extern void DefineSelf(int /*fd*/); -extern void AugmentSelf(pointer /*from*/, int /*len*/); +extern void AugmentSelf(void * /*from*/, int /*len*/); extern void InitAuthorization(char * /*filename*/); @@ -467,7 +462,7 @@ typedef struct { extern CallbackListPtr ReplyCallback; typedef struct { ClientPtr client; - pointer replyData; + const void * replyData; unsigned long dataLenBytes; unsigned long bytesRemaining; Bool startOfReply; @@ -480,6 +475,24 @@ extern void AbortDDX(void); extern void ddxGiveUp(void); extern int TimeSinceLastInputEvent(void); +#ifndef HAVE_REALLOCARRAY +#define reallocarray xreallocarray +extern _X_EXPORT void * +reallocarray(void *optr, size_t nmemb, size_t size); +#endif + +#ifndef HAVE_STRLCPY +extern _X_EXPORT size_t +strlcpy(char *dst, const char *src, size_t siz); +extern _X_EXPORT size_t +strlcat(char *dst, const char *src, size_t siz); +#endif + +#ifndef HAVE_TIMINGSAFE_MEMCMP +extern _X_EXPORT int +timingsafe_memcmp(const void *b1, const void *b2, size_t len); +#endif + /* Logging. */ typedef enum _LogParameter { XLOG_FLUSH, @@ -512,6 +525,7 @@ typedef enum { #endif extern const char *LogInit(const char *fname, const char *backup); +extern void LogSetDisplay(void); extern void LogClose(void); extern Bool LogSetParameter(LogParameter param, int value); extern void LogVWrite(int verb, const char *f, va_list args); @@ -537,7 +551,7 @@ extern void ErrorF(const char *f, ...) _printf_attribute(1,2); extern void Error(char *str); extern void LogPrintMarkers(void); -#if defined(NEED_SNPRINTF) && !defined(IN_MODULE) +#if defined(NEED_SNPRINTF) extern int snprintf(char *str, size_t size, const char *format, ...) _printf_attribute(3,4); extern int vsnprintf(char *str, size_t size, const char *format, va_list ap); |
