defs.h 1.5 KB
Newer Older
羽飞's avatar
羽飞 已提交
1
/* Copyright (c) 2021 OceanBase and/or its affiliates. All rights reserved.
羽飞's avatar
羽飞 已提交
2 3 4 5 6 7 8 9 10 11 12 13 14
miniob is licensed under Mulan PSL v2.
You can use this software according to the terms and conditions of the Mulan PSL v2.
You may obtain a copy of Mulan PSL v2 at:
         http://license.coscl.org.cn/MulanPSL2
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
See the Mulan PSL v2 for more details. */

//
// Created by Longda on 2010
//

羽飞's avatar
羽飞 已提交
15
#pragma once
羽飞's avatar
羽飞 已提交
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

#include <errno.h>
#include <fstream>
#include <iostream>
#include <memory>
#include <string>
#include <sys/syscall.h>
#include <sys/types.h>
#include <unistd.h>

namespace common {

#ifndef gettid
#if defined(__MACH__)
#define gettid() ((long long)pthread_self())
#elif defined(LINUX)
#define gettid() ((long long)pthread_self())
#endif

#endif

羽飞's avatar
羽飞 已提交
37
enum 
38
{
羽飞's avatar
羽飞 已提交
39
  // General Error Codes
40 41 42 43 44 45 46 47
  STATUS_SUCCESS = 0,     //!< Success status should be zero,
  STATUS_INVALID_PARAM,   //!< Invalid parameter
  STATUS_FAILED_INIT,     //!< Failed to init program
  STATUS_PROPERTY_ERR,    //!< Property error
  STATUS_INIT_LOG,        //!< log error
  STATUS_INIT_THREAD,     //!< failed to init thread
  STATUS_FAILED_JOB,      //!< Failed to do job
  STATUS_FAILED_NETWORK,  //!< Network failure
羽飞's avatar
羽飞 已提交
48 49

  STATUS_UNKNOW_ERROR,
50
  STATUS_LAST_ERR  //!< last error code
羽飞's avatar
羽飞 已提交
51 52 53 54 55
};

static const char FILE_PATH_SPLIT = '/';
static const char FILE_PATH_SPLIT_STR[] = "/";

羽飞's avatar
羽飞 已提交
56
#define EPSILON (1E-6)
羽飞's avatar
羽飞 已提交
57

58
}  // namespace common