20#ifndef __jack_systemdeps_h__
21#define __jack_systemdeps_h__
23#ifndef POST_PACKED_STRUCTURE
34 #define PRE_PACKED_STRUCTURE
35 #define POST_PACKED_STRUCTURE __attribute__((__packed__))
40 #define PRE_PACKED_STRUCTURE1 __pragma(pack(push,1))
41 #define PRE_PACKED_STRUCTURE PRE_PACKED_STRUCTURE1
49 #define POST_PACKED_STRUCTURE ;__pragma(pack(pop))
53 #define PRE_PACKED_STRUCTURE
54 #define POST_PACKED_STRUCTURE
61#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(GNU_WIN32)
64 # include <winsock2.h>
70 #define __inline__ inline
71 #if (!defined(int8_t) && !defined(_STDINT_H))
72 #define __int8_t_defined
74 typedef unsigned char uint8_t;
75 typedef short int16_t;
76 typedef unsigned short uint16_t;
78 typedef unsigned long uint32_t;
79 typedef LONGLONG int64_t;
80 typedef ULONGLONG uint64_t;
84 #include <sys/types.h>
88 #include <sys/types.h>
91 #if !defined(_PTHREAD_H) && !defined(PTHREAD_WIN32)
96 typedef HANDLE jack_native_thread_t;
99 #include <ptw32/pthread.h>
105 typedef pthread_t jack_native_thread_t;
110#if defined(__APPLE__) || defined(__linux__) || defined(__sun__) || defined(sun) || defined(__unix__) || defined(__CYGWIN__) || defined(GNU_WIN32)
112 #if defined(__CYGWIN__) || defined(GNU_WIN32)
115 #include <inttypes.h>
117 #include <sys/types.h>
123 typedef pthread_t jack_native_thread_t;
127#if defined(__arm__) || defined(__aarch64__) || defined(__mips__) || defined(__ppc__) || defined(__powerpc__)
128 #undef POST_PACKED_STRUCTURE
129 #define POST_PACKED_STRUCTURE
134 #define JACK_LIB_EXPORT __declspec(dllexport)
135#elif defined(__GNUC__)
136 #define JACK_LIB_EXPORT __attribute__((visibility("default")))
138 #define JACK_LIB_EXPORT