Program Listing for File apexdef.h

Return to documentation for file (/tmp/ws/src/apex_containers/apex_containers/include/apexutils/apexdef.h)

// Copyright 2017-2018 Apex.AI, Inc.
//
// Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


#ifndef APEXUTILS__APEXDEF_H_
#define APEXUTILS__APEXDEF_H_

#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>
#include <limits.h>

#if defined(_MSC_VER) && defined(_WIN64)
  #define APEX_WINDOWS (1)
#elif defined(__GNUC__) && defined(__linux__)
  #define APEX_LINUX (1)
#elif defined(__GNUC__) && defined(__APPLE__)
  #define APEX_OSX (1)
#elif defined(QNX)
  #define APEX_QNX (1)
#else  // !(defined(__GNUC__) && defined(__APPLE__))
  #error "Unsupported Compiler and Target OS Combination"
#endif  // _MSC_VER

#ifdef __cplusplus
extern "C"
{
#endif  // __cplusplus



// OR combination of Apex.OS initializing bits (flags) used during Apex.OS initialization.
// E.g. (APEX_INIT_BIT_FLAG_1 | APEX_INIT_BIT_FLAG_2).
// Note '|' operator (bitwise OR)

#define APEX_INIT_BIT_SCHED_FIFO    (1ULL)

#define APEX_INIT_BIT_SCHED_RR      (2ULL)

#define APEX_INIT_BIT_NO_CONSOLE    (4ULL)

#define APEX_INIT_BIT_TEST    (0x8000000000000000ULL)


#define APEX_ULLONG_MAX (0xFFFFFFFFFFFFFFFFULL)

#define APEX_MILLION (1000LL * 1000LL)

#define APEX_BILLION (APEX_MILLION * 1000LL)


#define APEX_RET_OK (0)

#define APEX_RET_ERROR (-1)

#define APEX_RET_TIMEOUT (-2)

#ifdef APEX_WINDOWS
#define APEX_RET_RESOURCE_ABANDONED (-3)
#endif  // APEX_WINDOWS

#define APEX_RET_RESOURCE_LEAK (-4)

#define APEX_RET_WRONG_IP4 (-5)

#define APEX_RET_STILL_ACTIVE (-6)

#define APEX_RET_OVERFLOW (-7)

#define APEX_RET_UNDERFLOW (-8)

#define APEX_RET_RESOURCE_EXIST (-9)

#define APEX_RET_MEM_ALIGN_ERR (-10)

#define APEX_RET_LOCKED_BY_OTHER (-11)

#if defined(APEX_LINUX) || defined(APEX_QNX)
#define APEX_RET_MEM_ALLOC_OPT_ERR (-11)

#define APEX_RET_MEM_LOCK_ERR (-12)

#define APEX_RET_SET_CPU_AFFINITY_ERR (-13)
#endif  // APEX_LINUX || APEX_QNX


#define APEX_STRING_SIZE (256ULL)


typedef bool bool8_t;

typedef char char8_t;

typedef double float64_t;

typedef float float32_t;

typedef int32_t apex_ret_t;

#ifdef APEX_WINDOWS
typedef uint64_t apex_socket_t;
#else  // APEX_WINDOWS
typedef int32_t apex_socket_t;
#endif  // APEX_WINDOWS


typedef uint64_t size64_t;

#ifdef __cplusplus
}
#endif  // __cplusplus


#endif  // APEXUTILS__APEXDEF_H_