⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _macos.h

📁 Netscape NSPR库源码
💻 H
📖 第 1 页 / 共 2 页
字号:
#define PR_PATH_SEPARATOR		':'#define PR_PATH_SEPARATOR_STR		":"typedef enum IOOperation {    READ_ASYNC,    WRITE_ASYNC} IOOperation;#define _MD_INIT_IO()#define _MD_OPEN 					_MD_Open#define _MD_OPEN_FILE 				_MD_Open#define _MD_CLOSE_FILE 				FSClose#define _MD_READ(fd,buf,amount) 	ReadWriteProc(fd,buf,amount,READ_ASYNC)#define _MD_WRITE(fd,buf,amount) 	ReadWriteProc(fd,buf,amount,WRITE_ASYNC)#define _MD_WRITE_SYNC(fd,buf,amount) WriteSyncProc(fd,buf,amount)#define _MD_GET_FILE_ERROR() 		_PR_MD_CURRENT_THREAD()->md.osErrCode#define _MD_LSEEK 					_MD_LSeek#define _MD_FSYNC 					_MD_FSync/* to be implemented */#define _MD_LSEEK64(a,b,c)           LL_ZERO#define _MD_GETOPENFILEINFO64(fd,info)   -1#define _MD_GETFILEINFO64(fd,info)   -1#define _MD_IOQ_LOCK()#define _MD_IOQ_UNLOCK()/*** File Manipulation definitions*/#define	_MD_RENAME 			_MD_Rename#define	_MD_ACCESS 			_MD_Access#define	_MD_GETFILEINFO 	_MD_GetFileInfo#define	_MD_GETOPENFILEINFO _MD_GetOpenFileInfo#define	_MD_STAT 			_MD_Stat#define	_MD_DELETE 			_MD_Deleteextern PRStatus _MD_LockFile(PRInt32 osfd);#define	_MD_LOCKFILE 		_MD_LockFileextern PRStatus _MD_TLockFile(PRInt32 osfd);#define	_MD_TLOCKFILE 		_MD_TLockFileextern PRStatus _MD_UnlockFile(PRInt32 osfd);#define	_MD_UNLOCKFILE		_MD_UnlockFile/* ** Directory enumeration related definitions */extern PRStatus _MD_OpenDir(struct _MDDir *md,const char *name);#define	_MD_OPEN_DIR 		_MD_OpenDirextern char* _MD_ReadDir(struct _MDDir *md,PRIntn flags);#define	_MD_READ_DIR 		_MD_ReadDir#define	_MD_CLOSE_DIR 		_MD_CloseDir#define	_MD_MKDIR 			_MD_MkDir#define	_MD_MAKE_DIR		_MD_MkDir#define	_MD_RMDIR 			_MD_Delete/*** Pipe I/O Related definitions (not implemented)*/#define _MD_PIPEAVAILABLE(fd) -1/*** Socket I/O Related definitions*/#if UNIVERSAL_INTERFACES_VERSION >= 0x0330/* In Universal Interfaces 3.3 and later, these are enums. */#define IP_TTL IP_TTL#define IP_TOS IP_TOS#define IP_ADD_MEMBERSHIP IP_ADD_MEMBERSHIP#define IP_DROP_MEMBERSHIP IP_DROP_MEMBERSHIP#define IP_MULTICAST_IF IP_MULTICAST_IF#define IP_MULTICAST_TTL IP_MULTICAST_TTL#define IP_MULTICAST_LOOP IP_MULTICAST_LOOP#define TCP_NODELAY TCP_NODELAY#define TCP_MAXSEG TCP_MAXSEG#endif#define _MD_SOCKET 			_MD_socket#define _MD_BIND			_MD_bind#define _MD_LISTEN			_MD_listen#define _MD_GETSOCKNAME		_MD_getsocknameextern PRStatus _MD_getsockopt(PRFileDesc *fd, PRInt32 level, PRInt32 optname, char* optval, PRInt32* optlen);#define _MD_GETSOCKOPT		_MD_getsockoptextern PRStatus _MD_setsockopt(PRFileDesc *fd, PRInt32 level, PRInt32 optname, const char* optval, PRInt32 optlen);#define _MD_SETSOCKOPT		_MD_setsockopt#define _MD_SOCKETAVAILABLE	_MD_socketavailable#define _MD_ACCEPT			_MD_accept#define _MD_CONNECT			_MD_connect#define _MD_SEND			_MD_send#define _MD_RECV			_MD_recv#define _MD_CLOSE_SOCKET	_MD_closesocket#define _MD_SENDTO			_MD_sendto#define _MD_RECVFROM		_MD_recvfrom#define _MD_PR_POLL			_MD_poll#define _MD_INIT_FILEDESC	_MD_initfiledesc#define _MD_FREE_FILEDESC	_MD_freefiledesc#define _MD_MAKE_NONBLOCK	_MD_makenonblock#define _MD_INIT_FD_INHERITABLE _MD_initfdinheritable#define _MD_QUERY_FD_INHERITABLE _MD_queryfdinheritable#define _MD_GET_SOCKET_ERROR() 		_PR_MD_CURRENT_THREAD()->md.osErrCode#define _PR_MD_MAP_SELECT_ERROR(x) 	(x)/*** Netdb Related definitions*/extern PRStatus _MD_gethostname(char *name, int namelen);#define _MD_GETHOSTNAME		_MD_gethostname#define _PR_GET_HOST_ADDR_AS_NAME/* 	XXX _MD_WRITEV, _MD_SHUTDOWN & _MD_GETPEERNAME not done yet!!!*/#define _MD_WRITEV			_MD_writev#define _MD_SHUTDOWN		_MD_shutdown#define _MD_GETPEERNAME		_MD_getpeername#ifdef OLD_MACSOCK_LIBRARY#define _MD_SOCKET 			macsock_socket#define _MD_LISTEN			macsock_listen#define _MD_SEND(fd,buf,amount,flags,timeout)	macsock_send(fd->secret->md.osfd,buf,amount,flags)#define _MD_SENDTO(fd,buf,amount,flags,addr,addrlen,timeout)	macsock_sendto(fd->secret->md.osfd,buf,amount,flags,(struct sockaddr *)addr,addrlen)#define _MD_RECV(fd,buf,amount,flags,timeout)	macsock_recv(fd->secret->md.osfd,buf,amount,flags)#define _MD_RECVFROM(fd,buf,amount,flags,addr,addrlen,timeout)	macsock_recvfrom(fd->secret->md.osfd,buf,amount,flags,(struct sockaddr *)addr,addrlen)#define _MD_CLOSE_SOCKET	macsock_close#define _MD_SHUTDOWN(a,b)	(0)#define _MD_ACCEPT(fd,addr,addrlen,timeout)	macsock_accept(fd->secret->md.osfd,(struct sockaddr *)addr,addrlen)#define _MD_CONNECT(fd,name,namelen,timeout)	macsock_connect(fd->secret->md.osfd,(struct sockaddr *)name,namelen)#define _MD_BIND(fd,name,namelen)				macsock_bind(fd->secret->md.osfd,(struct sockaddr *)name,namelen)#define _MD_GETSOCKNAME(fd,name,namelen)		macsock_getsockname(fd->secret->md.osfd,(struct sockaddr *)name,namelen)#define _MD_GETPEERNAME(fd,name,namelen)		macsock_getpeername(fd->secret->md.osfd,(struct sockaddr *)name,namelen)#define _MD_GETSOCKOPT(fd,level,optname,optval,optlen)		macsock_getsockopt(fd->secret->md.osfd,level,optname,optval,optlen)#define _MD_SETSOCKOPT(fd,level,optname,optval,optlen)		macsock_setsockopt(fd->secret->md.osfd,level,optname,optval,optlen)#define _MD_SOCKETAVAILABLE(fd,bytes)		macsock_socketavailable(fd->secret->md.osfd,bytes)#endif/*** Memory Segements Related definitions*/#define _MD_INIT_SEGS()		#define _MD_ALLOC_SEGMENT	_MD_AllocSegment#define _MD_FREE_SEGMENT	_MD_FreeSegment/*** Time Related definitions*/#define _MD_GET_INTERVAL 				_MD_GetInterval#define _MD_INTERVAL_PER_SEC() 			PR_MSEC_PER_SEC#define _MD_INTERVAL_INIT()/*** Environemnt Related definitions*/extern char *_MD_GetEnv(const char *name);#define _MD_GET_ENV			_MD_GetEnvextern int _MD_PutEnv(const char *variableCopy);#define _MD_PUT_ENV			_MD_PutEnv/*** Following is old stuff to be looked at.*/#define GCPTR#define CALLBACKtypedef int (*FARPROC)();#define MAX_NON_PRIMARY_TIME_SLICES 	6extern long gTimeSlicesOnNonPrimaryThread;extern struct PRThread *gPrimaryThread;// Errors not found in the Mac StdCLib#define EACCES  		13      	// Permission denied#define ENOENT			-43			// No such file or directory#define _OS_INVALID_FD_VALUE -1#define	STDERR_FILENO	2#if !defined(MAC_NSPR_STANDALONE)#define PATH_SEPARATOR 					':'#define PATH_SEPARATOR_STR		        ":"#define DIRECTORY_SEPARATOR				'/'#define DIRECTORY_SEPARATOR_STR			"/"#endif#define UNIX_THIS_DIRECTORY_STR			"./"#define UNIX_PARENT_DIRECTORY_STR		"../"// Alias a few names#define getenv	PR_GetEnv#define putenv	_MD_PutEnv#if defined(MAC_NSPR_STANDALONE)typedef unsigned char (*MemoryCacheFlusherProc)(size_t size);typedef void (*PreAllocationHookProc)(void);extern char *strdup(const char *source);extern void InstallPreAllocationHook(PreAllocationHookProc newHook);extern void InstallMemoryCacheFlusher(MemoryCacheFlusherProc newFlusher);#endifextern char *PR_GetDLLSearchPath(void);#if defined(MAC_NSPR_STANDALONE)extern int strcmp(const char *str1, const char *str2);extern int strcasecmp(const char *str1, const char *str2);#endifextern void MapFullToPartialMacFile(char *);extern char *MapPartialToFullMacFile(const char *);extern void ResetTimer(void);extern void PR_PeriodicIdle(void);extern void ActivateTimer(void);extern void DeactivateTimer(void);extern void PR_InitMemory(void);extern struct hostent *gethostbyaddr(const void *addr, int addrlen, int type);extern short GetVolumeRefNumFromName(const char *);#include <stdio.h>			// Needed to get FILE typedefextern FILE *_OS_FOPEN(const char *filename, const char *mode);////	Macintosh only private parts.//#define	dprintTrace			";dprintf;doTrace"#define	dprintNoTrace		";dprintf"extern void dprintf(const char *format, ...);// Entry into the memory system's cache flushing#if defined(MAC_NSPR_STANDALONE)extern PRUint8 CallCacheFlushers(size_t blockSize);#endif#if defined(MAC_NSPR_STANDALONE)extern void* reallocSmaller(void* block, size_t newSize);#endif/*** PR_GetSystemInfo related definitions*/#define _PR_SI_SYSNAME          "MacOS"#define _PR_SI_ARCHITECTURE     "PowerPC"/* * Memory-mapped files */struct _MDFileMap {    PRInt8 unused;};extern PRStatus _MD_CreateFileMap(struct PRFileMap *fmap, PRInt64 size);#define _MD_CREATE_FILE_MAP _MD_CreateFileMapextern PRInt32 _MD_GetMemMapAlignment(void);#define _MD_GET_MEM_MAP_ALIGNMENT _MD_GetMemMapAlignmentextern void * _MD_MemMap(struct PRFileMap *fmap, PRInt64 offset,        PRUint32 len);#define _MD_MEM_MAP _MD_MemMapextern PRStatus _MD_MemUnmap(void *addr, PRUint32 size);#define _MD_MEM_UNMAP _MD_MemUnmapextern PRStatus _MD_CloseFileMap(struct PRFileMap *fmap);#define _MD_CLOSE_FILE_MAP _MD_CloseFileMapextern void SetLogFileTypeCreator(const char *logFile);extern int _MD_mac_get_nonblocking_connect_error(PRFileDesc* fd);/* * Critical section support */#define MAC_CRITICAL_REGIONS  TARGET_CARBON#if MAC_CRITICAL_REGIONSextern void InitCriticalRegion();extern void TermCriticalRegion();extern void EnterCritialRegion();extern void LeaveCritialRegion();#define INIT_CRITICAL_REGION()     InitCriticalRegion()#define TERM_CRITICAL_REGION()     TermCriticalRegion()#define ENTER_CRITICAL_REGION()     EnterCritialRegion()#define LEAVE_CRITICAL_REGION()     LeaveCritialRegion()#else#define INIT_CRITICAL_REGION()#define TERM_CRITICAL_REGION()#define ENTER_CRITICAL_REGION()#define LEAVE_CRITICAL_REGION()#endif/* * CPU Idle support */extern void InitIdleSemaphore();extern void TermIdleSemaphore();extern void WaitOnIdleSemaphore();extern void SignalIdleSemaphore();/* * Atomic operations */#ifdef _PR_HAVE_ATOMIC_OPSextern PRInt32 _MD_AtomicSet(PRInt32 *val, PRInt32 newval);#define _MD_INIT_ATOMIC()#define _MD_ATOMIC_INCREMENT(val)   OTAtomicAdd32(1, (SInt32 *)val)#define _MD_ATOMIC_ADD(ptr, val)    OTAtomicAdd32(val, (SInt32 *)ptr)#define _MD_ATOMIC_DECREMENT(val)   OTAtomicAdd32(-1, (SInt32 *)val)#define _MD_ATOMIC_SET(val, newval) _MD_AtomicSet(val, newval)#endif /* _PR_HAVE_ATOMIC_OPS */#endif /* prmacos_h___ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -