📄 su_types.h
字号:
/* * This file is part of the Sofia-SIP package * * Copyright (C) 2005 Nokia Corporation. * * Contact: Pekka Pessi <pekka.pessi@nokia.com> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License * as published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA * */#ifndef SU_TYPES_H/** Defined when <sofia-sip/su_types.h> has been included */#define SU_TYPES_H/**@file sofia-sip/su_types.h Basic integer types for @b su library. * * This include file provides <stdint.h> or <inttypes.h> types. * * @author Pekka Pessi <Pekka.Pessi@nokia.com> * @date Created: Thu Mar 18 19:40:51 1999 pessi */#ifndef SU_CONFIG_H#include <sofia-sip/su_config.h>#endif#if SU_HAVE_STDINT#include <stdint.h>#elif SU_HAVE_INTTYPES#include <inttypes.h>#endif#if SU_HAVE_SYS_TYPES#include <sys/types.h>#endif#include <stddef.h>SOFIA_BEGIN_DECLS#if SU_HAVE_STDINT || SU_HAVE_INTTYPES#define SU_S64_T int64_t#define SU_U64_T uint64_t#define SU_S32_T int32_t#define SU_U32_T uint32_t#define SU_S16_T int16_t#define SU_U16_T uint16_t#define SU_S8_T int8_t#define SU_U8_T uint8_t#define SU_LEAST64_T int_least64_t#define SU_LEAST32_T int_least32_t#define SU_LEAST16_T int_least16_t#define SU_LEAST8_T int_least8_t#endif#if DOXYGEN_ONLY || (!SU_HAVE_STDINT && !SU_HAVE_INTTYPES && SU_HAVE_WIN32)/* Use macros defined in <sofia-sip/su_configure_win32.h> */#ifndef _INTPTR_T_DEFINED/** Integer type large enough to store pointers */typedef SU_INTPTR_T intptr_t;#endif#ifndef _UINTPTR_T_DEFINED/** Unsigned integer type large enough to store pointers */typedef unsigned SU_INTPTR_T uintptr_t;#endif/** 64-bit unsigned integer */ typedef SU_U64_T uint64_t;/** 64-bit signed integer */ typedef SU_S64_T int64_t;/** 32-bit unsigned integer */ typedef SU_U32_T uint32_t;/** 32-bit signed integer */ typedef SU_S32_T int32_t;/** 16-bit unsigned integer */ typedef SU_U16_T uint16_t;/** 16-bit signed integer */ typedef SU_S16_T int16_t;/** 8-bit unsigned integer */ typedef SU_U8_T uint8_t;/** 8-bit signed integer */ typedef SU_S8_T int8_t;/** At least 64-bit integer */typedef SU_LEAST64_T int_least64_t;/** At least 32-bit integer */typedef SU_LEAST32_T int_least32_t;/** At least 16-bit integer */typedef SU_LEAST16_T int_least16_t;/** At least 8-bit integer */typedef SU_LEAST8_T int_least8_t;#endif#if !SU_HAVE_STDINT && !SU_HAVE_INTTYPES && !SU_HAVE_WIN32#error "no integer types available."#endif/* ---------------------------------------------------------------------- *//* size_t types for binary compatibility */#ifdef SOFIA_SSIZE_T/** POSIX type used for a count of bytes or an error indication. */typedef SOFIA_SSIZE_T ssize_t;#endif#ifdef SOFIA_ISIZE_T/** Compatibility type. * * sofia-sip <= 1.12.1 often used int for count of bytes. * When configured for compatibility with sofia-sip 1.12.0, this is defined * as int, otherwise as size_t. Note that int is signed and size_t is * unsigned. * * @since New in @VERSION_1_12_2. */typedef SOFIA_ISIZE_T isize_t;#elsetypedef size_t isize_t;#endif#ifdef SOFIA_ISSIZE_T/**Compatibility type. * * sofia-sip <= 1.12.1 used int for count of bytes. * When configured for compatibility with sofia-sip 1.12.0, this is defined * as int, otherwise as ssize_t. (-1 is used for error indication). * * @since New in @VERSION_1_12_2. */typedef SOFIA_ISSIZE_T issize_t;#elsetypedef ssize_t issize_t;#endif#ifdef SOFIA_USIZE_T/**Compatibility type. * * sofia-sip <= 1.12.1 sometimes used unsigned int for count of bytes. * When configured for compatibility with sofia-sip 1.12.0, this is defined * as unsigned int, otherwise as size_t. * * @since New in @VERSION_1_12_2. */typedef SOFIA_USIZE_T usize_t;#elsetypedef size_t usize_t;#endifSOFIA_END_DECLS#endif /* SU_TYPES_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -