83a5694dc2
Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
128 lines
4.1 KiB
C
128 lines
4.1 KiB
C
/****************************************************************************
|
|
**
|
|
** Copyright (C) 2015 The Qt Company Ltd.
|
|
** Contact: http://www.qt.io/licensing/
|
|
**
|
|
** This file is part of the qmake spec of the Qt Toolkit.
|
|
**
|
|
** $QT_BEGIN_LICENSE:LGPL21$
|
|
** Commercial License Usage
|
|
** Licensees holding valid commercial Qt licenses may use this file in
|
|
** accordance with the commercial license agreement provided with the
|
|
** Software or, alternatively, in accordance with the terms contained in
|
|
** a written agreement between you and The Qt Company. For licensing terms
|
|
** and conditions see http://www.qt.io/terms-conditions. For further
|
|
** information use the contact form at http://www.qt.io/contact-us.
|
|
**
|
|
** GNU Lesser General Public License Usage
|
|
** Alternatively, this file may be used under the terms of the GNU Lesser
|
|
** General Public License version 2.1 or version 3 as published by the Free
|
|
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
|
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
|
** following information to ensure the GNU Lesser General Public License
|
|
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
|
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
**
|
|
** As a special exception, The Qt Company gives you certain additional
|
|
** rights. These rights are described in The Qt Company LGPL Exception
|
|
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
**
|
|
** $QT_END_LICENSE$
|
|
**
|
|
****************************************************************************/
|
|
|
|
#ifndef QPLATFORMDEFS_H
|
|
#define QPLATFORMDEFS_H
|
|
|
|
// Get Qt defines/settings
|
|
|
|
#include "qglobal.h"
|
|
|
|
// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
|
|
#ifndef _POSIX_PTHREAD_SEMANTICS
|
|
#define _POSIX_PTHREAD_SEMANTICS
|
|
#endif
|
|
|
|
#include <unistd.h>
|
|
|
|
|
|
// We are hot - unistd.h should have turned on the specific APIs we requested
|
|
|
|
|
|
#include <pthread.h>
|
|
#include <dirent.h>
|
|
#include <fcntl.h>
|
|
#include <grp.h>
|
|
#include <pwd.h>
|
|
#include <signal.h>
|
|
#include <dlfcn.h>
|
|
|
|
#include <sys/types.h>
|
|
#include <sys/ioctl.h>
|
|
#include <sys/filio.h>
|
|
#include <sys/ipc.h>
|
|
#include <sys/time.h>
|
|
#include <sys/shm.h>
|
|
#include <sys/socket.h>
|
|
#include <sys/stat.h>
|
|
#include <sys/wait.h>
|
|
#include <netinet/in.h>
|
|
#ifndef QT_NO_IPV6IFNAME
|
|
#include <net/if.h>
|
|
#endif
|
|
|
|
#define QT_USE_XOPEN_LFS_EXTENSIONS
|
|
#include "../common/posix/qplatformdefs.h"
|
|
|
|
#undef QT_SOCKLEN_T
|
|
#undef QT_SOCKET_CONNECT
|
|
#undef QT_SOCKET_BIND
|
|
|
|
#define QT_SOCKET_CONNECT qt_socket_connect
|
|
#define QT_SOCKET_BIND qt_socket_bind
|
|
|
|
#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE-0 >= 500) && (_XOPEN_VERSION-0 >= 500)
|
|
// Solaris 7 and better with specific feature test macros
|
|
#define QT_SOCKLEN_T socklen_t
|
|
#elif defined(_XOPEN_SOURCE_EXTENDED) && defined(_XOPEN_UNIX)
|
|
// Solaris 2.6 and better with specific feature test macros
|
|
#define QT_SOCKLEN_T size_t
|
|
#else
|
|
// always this case in practice
|
|
#define QT_SOCKLEN_T int
|
|
#endif
|
|
|
|
// Solaris redefines connect -> __xnet_connect with _XOPEN_SOURCE_EXTENDED
|
|
static inline int qt_socket_connect(int s, struct sockaddr *addr, QT_SOCKLEN_T addrlen)
|
|
{ return ::connect(s, addr, addrlen); }
|
|
#if defined (connect)
|
|
# undef connect
|
|
#endif
|
|
|
|
// Solaris redefines bind -> __xnet_bind with _XOPEN_SOURCE_EXTENDED
|
|
static inline int qt_socket_bind(int s, struct sockaddr *addr, QT_SOCKLEN_T addrlen)
|
|
{ return ::bind(s, addr, addrlen); }
|
|
#if defined(bind)
|
|
# undef bind
|
|
#endif
|
|
|
|
#if !defined(_XOPEN_UNIX)
|
|
// Solaris 2.5.1
|
|
// Function usleep() is defined in C library but not declared in header files
|
|
// on Solaris 2.5.1. Not really a surprise, usleep() is specified by XPG4v2
|
|
// and XPG4v2 is only supported by Solaris 2.6 and better.
|
|
// Function gethostname() is also defined in C library but not declared in
|
|
// header files on Solaris 2.5.1.
|
|
typedef unsigned int useconds_t;
|
|
extern "C" int usleep(useconds_t);
|
|
extern "C" int gethostname(char *, int);
|
|
#endif
|
|
|
|
#if defined(_XOPEN_UNIX)
|
|
// Solaris 2.6 and better
|
|
#define QT_SNPRINTF ::snprintf
|
|
#define QT_VSNPRINTF ::vsnprintf
|
|
#endif
|
|
|
|
#endif // QPLATFORMDEFS_H
|