#ifndef _OS_H_
#define _OS_H_
typedef struct _FontPathRec *FontPathPtr;
typedef struct _alt_server *AlternateServerPtr;
typedef struct _auth *AuthPtr;
#include <X11/fonts/FSproto.h>
#include "client.h"
#include "misc.h"
typedef pointer FID;
#define ALLOCATE_LOCAL_FALLBACK(_size) FSalloc((unsigned long)_size)
#define DEALLOCATE_LOCAL_FALLBACK(_ptr) FSfree((pointer)_ptr)
#include "X11/Xalloca.h"
#define MAX_REQUEST_SIZE 8192
#define fsalloc(size) FSalloc((unsigned long)size)
#define fsrealloc(ptr, size) FSrealloc((pointer)ptr, (unsigned long)size)
#define fsfree(ptr) FSfree((pointer)ptr)
extern int ListenPort;
extern Bool UseSyslog;
extern Bool CloneSelf;
extern char ErrorFile[];
#ifdef FONTCACHE
#include <X11/extensions/fontcacheP.h>
extern FontCacheSettings cacheSettings;
#endif
struct _osComm;
extern int ReadConfigFile(const char *filename);
extern void AttendClient(ClientPtr client);
extern void CheckConnections(void);
extern void CloseDownConnection(ClientPtr client);
extern void IgnoreClient(ClientPtr client);
extern void MakeNewConnections(void);
extern void ReapAnyOldClients(void);
extern void ResetSockets(void);
extern void CloseSockets(void);
extern void StopListening(void);
extern void BecomeDaemon(void);
extern void DetachStdio(void);
extern void Error(char *str);
extern void InitErrors(void);
extern void CloseErrors(void);
extern void NoticeF(char *f, ...);
extern void ErrorF(char * f, ...);
extern void FatalError(char* f, ...);
extern Bool InsertFakeRequest(ClientPtr client, char *data, int count);
extern int FlushClient(ClientPtr client, struct _osComm *oc, char *extraBuf, int extraCount, int padsize);
extern int ReadRequest(ClientPtr client);
extern void FlushAllOutput(void);
extern void FreeOsBuffers(struct _osComm *oc);
extern void ResetCurrentRequest(ClientPtr client);
extern void ResetOsBuffers(void);
extern void WriteToClient(ClientPtr client, int count, char *buf);
extern void WriteToClientUnpadded(ClientPtr client, int count, char *buf);
extern int ListCatalogues(char *pattern, int patlen, int maxnames, char **catalogues, int *len);
extern int ValidateCatalogues(int *num, char *cats);
extern int SetAlternateServers(char *list);
extern int ListAlternateServers(AlternateServerPtr *svrs);
extern int CloneMyself(void);
extern void OsInit(void);
extern void AutoResetServer (int n);
extern void CleanupChild (int n);
extern void GiveUp (int n);
extern void ServerCacheFlush (int n);
extern void ServerReconfig (int n);
extern long GetTimeInMillis (void);
extern pointer FSalloc(unsigned long);
extern pointer FScalloc (unsigned long amount);
extern pointer FSrealloc(pointer, unsigned long);
extern void FSfree(pointer);
extern void OsInitAllocator (void);
extern void ProcessCmdLine (int argc, char **argv);
extern void ProcessLSoption (char *str);
extern void SetUserId(void);
extern void SetDaemonState(void);
extern int WaitForSomething(int *pClientsReady);
extern void SetConfigValues(void);
#endif