1/* Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 * Use of this source code is governed by a BSD-style license that can be 3 * found in the LICENSE file. 4 */ 5 6/** 7 * This file provides a definition of C99 sized types 8 * for Microsoft compilers. These definitions only apply 9 * for trusted modules. 10 */ 11 12label Chrome { 13 M13 = 0.0 14}; 15 16[version=0.0] 17describe { 18 /** Standard Ints. */ 19 int8_t; 20 int16_t; 21 int32_t; 22 int64_t; 23 uint8_t; 24 uint16_t; 25 uint32_t; 26 uint64_t; 27 /** Small and large floats. */ 28 double_t; 29 float_t; 30 31 /** Native file handle (int). */ 32 handle_t; 33 34 /** Interface object (void *). */ 35 interface_t; 36 37 /** Used for padding, should be (u)int8_t */ 38 char; 39 40 /** Pointer to memory (void *). */ 41 mem_t; 42 43 /** Pointer to pointer to memory (void **). */ 44 mem_ptr_t; 45 46 /** Pointer to null terminated string (char *). */ 47 str_t; 48 49 /** Pointer to constant null terminated string (const char *). */ 50 cstr_t; 51 52 /** No return value. */ 53 void; 54 55 /** Platform-specific file handle */ 56 PP_FileHandle; 57}; 58 59#inline c 60 61/** 62 * 63 * @addtogroup Typedefs 64 * @{ 65 */ 66#if defined(_MSC_VER) 67 68/** This value represents a guaranteed unsigned 8 bit integer. */ 69typedef unsigned char uint8_t; 70 71/** This value represents a guaranteed signed 8 bit integer. */ 72typedef signed char int8_t; 73 74/** This value represents a guaranteed unsigned 16 bit short. */ 75typedef unsigned short uint16_t; 76 77/** This value represents a guaranteed signed 16 bit short. */ 78typedef short int16_t; 79 80/** This value represents a guaranteed unsigned 32 bit integer. */ 81typedef unsigned int uint32_t; 82 83/** This value represents a guaranteed signed 32 bit integer. */ 84typedef int int32_t; 85 86/** This value represents a guaranteed signed 64 bit integer. */ 87typedef __int64 int64_t; 88 89/** This value represents a guaranteed unsigned 64 bit integer. */ 90typedef unsigned __int64 uint64_t; 91 92#else 93#include <stdint.h> 94#endif 95/** 96 * @} 97 */ 98 99#endinl 100 101