📄 pmachdep.h
字号:
/* * machdep.h * * Unix machine dependencies * * Portable Windows Library * * Copyright (c) 1993-1998 Equivalence Pty. Ltd. * * The contents of this file are subject to the Mozilla Public License * Version 1.0 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See * the License for the specific language governing rights and limitations * under the License. * * The Original Code is Portable Windows Library. * * The Initial Developer of the Original Code is Equivalence Pty. Ltd. * * Portions are Copyright (C) 1993 Free Software Foundation, Inc. * All Rights Reserved. * * Contributor(s): ______________________________________. * * $Log: pmachdep.h,v $ * Revision 1.67 2004/11/16 00:30:38 csoutheren * Added Cygwin support * * Revision 1.66 2004/07/11 07:56:36 csoutheren * Applied jumbo VxWorks patch, thanks to Eize Slange * * Revision 1.65 2004/06/17 23:37:04 csoutheren * Added definition of upad128_t for Solaris * * Revision 1.64 2004/05/14 05:23:39 ykiryanov * Added stl header * * Revision 1.63 2004/04/18 05:45:55 ykiryanov * Added TCP_NODELAY definition and removed BE_BONELESS. BeOS is boned now * * Revision 1.62 2004/04/02 03:32:11 ykiryanov * Added prototypes for missing dl*() functions * * Revision 1.61 2004/02/23 20:00:15 ykiryanov * Fixed a typo in declaration of setegid(0 * * Revision 1.60 2004/02/22 04:33:19 ykiryanov * Added missing prototype for setegid for BeOS * * Revision 1.59 2004/02/22 03:27:30 ykiryanov * Added missing prototype for seteuid for BeOS * * Revision 1.58 2004/02/21 21:26:30 ykiryanov * Added P_THREADIDENTIFIER for BeOS threads * * Revision 1.57 2003/09/17 01:18:03 csoutheren * Removed recursive include file system and removed all references * to deprecated coooperative threading support * * Revision 1.56 2003/05/06 06:59:12 robertj * Dynamic library support for MacOSX, thanks Hugo Santos * * Revision 1.55 2003/04/23 00:35:47 craigs * Fixed problem with pmachdep.h and MacOSX thanks to Hugo Santos * * Revision 1.54 2003/01/24 10:21:06 robertj * Fixed issues in RTEMS support, thanks Vladimir Nesic * * Revision 1.53 2002/12/02 03:57:18 robertj * More RTEMS support patches, thank you Vladimir Nesic. * * Revision 1.52 2002/11/22 10:14:07 robertj * QNX port, thanks Xiaodan Tang * * Revision 1.51 2002/10/17 13:44:27 robertj * Port to RTEMS, thanks Vladimir Nesic. * * Revision 1.50 2002/10/16 11:29:05 rogerh * remove redundant #include. * * Revision 1.49 2002/10/14 22:41:35 rogerh * Wrap _THREAD_SAFE to remove a warning if is already defined. * * Revision 1.48 2002/10/10 04:43:44 robertj * VxWorks port, thanks Martijn Roest * * Revision 1.47 2002/06/27 07:51:48 robertj * GNU 3.1 compatibility under Solaris * * Revision 1.46 2001/10/11 02:20:54 robertj * Added IRIX support (no audio/video), thanks Andre Schulze. * * Revision 1.45 2001/08/11 07:57:30 rogerh * Add Mac OS Carbon changes from John Woods <jfw@jfwhome.funhouse.com> * * Revision 1.44 2001/06/30 06:59:06 yurik * Jac Goudsmit from Be submit these changes 6/28. Implemented by Yuri Kiryanov * * Revision 1.43 2001/03/07 06:54:56 yurik * Changed email to current one * * Revision 1.42 2001/02/23 08:05:19 rogerh * Add tcp.h for MACOS_X (Darwin) * * Revision 1.41 2001/01/16 11:52:46 rogerh * Add patch from Jac Goudsmit <jac_goudsmit@yahoo.com> for BONE in BeOS 5 * * Revision 1.40 2000/06/21 01:01:21 robertj * AIX port, thanks Wolfgang Platzer (wolfgang.platzer@infonova.at). * * Revision 1.39 2000/05/12 01:37:38 rogerh * Add netinet/tcp.h to NetBSD and OpenBSD too. * * Revision 1.38 2000/05/05 07:08:01 robertj * Same again for FreeBSD and Solaris * * Revision 1.37 2000/05/05 05:06:38 robertj * Added tcp.h to get TCP_NODELAY for setsockopt call. * * Revision 1.36 2000/04/10 11:39:49 rogerh * Add NetBSD pthread support * * Revision 1.35 2000/04/09 18:29:02 rogerh * Add my NetBSD changes * * Revision 1.34 2000/04/07 05:45:49 rogerh * Add extra include to Mac OS X section * * Revision 1.33 2000/04/06 11:05:32 rogerh * Add MACOSX support from Kevin Packard * * Revision 1.32 2000/04/03 22:03:01 rogerh * Fix socklen_t usage for FreeBSD 3.x * * Revision 1.31 2000/03/08 12:17:09 rogerh * Add OpenBSD support * * Revision 1.30 2000/01/25 04:55:36 robertj * Added FreeBSD support for distinction between v3.x and later versions. Thanks Roger Hardiman. * * Revision 1.29 2000/01/20 08:20:57 robertj * FreeBSD v3 compatibility changes, thanks Roger Hardiman & Motonori Shindo * * Revision 1.28 1999/08/09 01:51:42 robertj * Added missing paths include (esp. for VARRUN in svcproc) * * Revision 1.27 1999/07/16 10:21:51 robertj * Added paths header file so _PATH_VARRUN is defined for svcprox. * * Revision 1.26 1999/03/02 05:41:58 robertj * More BeOS changes * * Revision 1.25 1999/02/26 04:10:39 robertj * More BeOS port changes * * Revision 1.24 1999/02/22 13:26:53 robertj * BeOS port changes. * * Revision 1.23 1999/02/06 05:49:44 robertj * BeOS port effort by Yuri Kiryanov <openh323@kiryanov.com> * * Revision 1.22 1999/01/08 01:28:16 robertj * Added pthreads support for FreeBSD * * Revision 1.21 1999/01/07 03:37:15 robertj * dded default for pthreads, shortens command line in compile. * * Revision 1.20 1998/12/21 06:47:20 robertj * Solaris 5.7 support. * * Revision 1.19 1998/12/04 12:38:07 robertj * Fixed signal include * * Revision 1.18 1998/11/24 09:38:19 robertj * FreeBSD port. * * Revision 1.17 1998/11/14 01:08:25 robertj * PPC linux GNU compatibility. * * Revision 1.16 1998/09/24 04:11:45 robertj * Added open software license. * */#ifndef _PMACHDEP_H#define _PMACHDEP_H///////////////////////////////////////////////////////////////////////////////#if defined(P_LINUX)#include <paths.h>#include <errno.h>#include <signal.h>#include <sys/ioctl.h>#include <sys/fcntl.h>#include <sys/termios.h>#include <unistd.h>#include <net/if.h>#include <netinet/in.h>#include <netinet/tcp.h>#include <dlfcn.h>#define HAS_IFREQ#define PSETPGRP() setpgrp()#if __GNU_LIBRARY__ < 6#define P_LINUX_LIB_OLDtypedef int socklen_t;#endif#ifdef PPCtypedef size_t socklen_t;#endif///////////////////////////////////////////////////////////////////////////////#elif defined(P_FREEBSD)#if defined(P_PTHREADS)#ifndef _THREAD_SAFE#define _THREAD_SAFE#endif#define P_THREAD_SAFE_CLIB#include <pthread.h>#endif#include <paths.h>#include <errno.h>#include <dlfcn.h>#include <termios.h>#include <sys/fcntl.h>#include <sys/filio.h>#include <sys/socket.h>#include <sys/sockio.h>#include <sys/signal.h>#include <net/if.h>#include <netinet/tcp.h>/* socklen_t is defined in FreeBSD 3.4-STABLE, 4.0-RELEASE and above */#if (P_FREEBSD <= 340000)typedef int socklen_t;#endif#define HAS_IFREQ#define PSETPGRP() setpgrp(0, 0)///////////////////////////////////////////////////////////////////////////////#elif defined(P_OPENBSD)#if defined(P_PTHREADS)#define _THREAD_SAFE#define P_THREAD_SAFE_CLIB#include <pthread.h>#endif#include <paths.h>#include <errno.h>#include <dlfcn.h>#include <termios.h>#include <sys/fcntl.h>#include <sys/filio.h>#include <sys/socket.h>#include <sys/sockio.h>#include <sys/ioctl.h>#include <sys/signal.h>#include <net/if.h>#include <netinet/tcp.h>#define HAS_IFREQ#define PSETPGRP() setpgrp(0, 0)///////////////////////////////////////////////////////////////////////////////#elif defined(P_NETBSD)#if defined(P_PTHREADS)#define _THREAD_SAFE#define P_THREAD_SAFE_CLIB#include <pthread.h>#endif#include <stdlib.h>#include <paths.h>#include <errno.h>#include <dlfcn.h>#include <termios.h>#include <unistd.h>#include <sys/fcntl.h>#include <sys/filio.h>#include <sys/socket.h>#include <sys/sockio.h>#include <sys/ioctl.h>#include <sys/signal.h>#include <net/if.h>#include <netinet/tcp.h>#define HAS_IFREQ#define PSETPGRP() setpgrp(0, 0)///////////////////////////////////////////////////////////////////////////////#elif defined(P_SOLARIS)#include <errno.h>#include <sys/sockio.h>#include <sys/ioctl.h>#include <sys/fcntl.h>#include <sys/time.h>#include <sys/types.h>#include <sys/termios.h>#include <sys/socket.h>#include <sys/ioctl.h>#include <sys/filio.h>#include <sys/wait.h>#include <sys/uio.h>#include <fcntl.h>#include <unistd.h>#include <net/if.h>#include <netinet/in.h>#include <netinet/tcp.h>#include <dlfcn.h>#include <net/if.h>#include <sys/sockio.h>typedef union { long double _q; uint32_t _l[4];} upad128_t;#define PSETPGRP() setpgrp()#define INADDR_NONE -1#if P_SOLARIS < 7typedef int socklen_t;#endif#define HAS_IFREQ#if __GNUC__ < 3extern "C" {int ftime (struct timeb *);pid_t wait3(int *status, int options, struct rusage *rusage);int gethostname(char *, int);};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -