亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cyg_type.h

?? 該工程是從ecos嵌入式系統(tǒng)下移植過來的一個小型的fat16文件系統(tǒng)
?? H
字號:
#ifndef CYGONCE_INFRA_CYG_TYPE_H#define CYGONCE_INFRA_CYG_TYPE_H//==========================================================================////      cyg_type.h////      Standard types, and some useful coding macros.////==========================================================================//####ECOSGPLCOPYRIGHTBEGIN####// -------------------------------------------// This file is part of eCos, the Embedded Configurable Operating System.// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.//// eCos is free software; you can redistribute it and/or modify it under// the terms of the GNU General Public License as published by the Free// Software Foundation; either version 2 or (at your option) any later version.//// eCos 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 General Public License// for more details.//// You should have received a copy of the GNU General Public License along// with eCos; if not, write to the Free Software Foundation, Inc.,// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.//// As a special exception, if other files instantiate templates or use macros// or inline functions from this file, or you compile this file and link it// with other works to produce a work based on this file, this file does not// by itself cause the resulting work to be covered by the GNU General Public// License. However the source code for this file must still be made available// in accordance with section (3) of the GNU General Public License.//// This exception does not invalidate any other reasons why a work based on// this file might be covered by the GNU General Public License.//// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.// at http://sources.redhat.com/ecos/ecos-license/// -------------------------------------------//####ECOSGPLCOPYRIGHTEND####//==========================================================================//#####DESCRIPTIONBEGIN####//// Author(s):   nickg from an original by hmt// Contributors:  nickg// Date:        1997-09-08// Purpose:     share unambiguously sized types.// Description: we typedef [cyg_][u]int8,16,32 &c for general use.// Usage:       #include "cyg/infra/cyg_type.h"//              ...//              cyg_int32 my_32bit_integer;//              //####DESCRIPTIONEND####//#include <stddef.h>           // Definition of NULL from the compiler// -------------------------------------------------------------------------// Some useful macros. These are defined here by default.// __externC is used in mixed C/C++ headers to force C linkage on an external// definition. It avoids having to put all sorts of ifdefs in.#ifdef __cplusplus# define __externC extern "C"#else# define __externC extern#endif// Also define externC for now - but it is deprecated#define externC __externC// -------------------------------------------------------------------------// The header <basetype.h> defines the base types used here. It is// supplied either by the target architecture HAL, or by the host// porting kit. They are all defined as macros, and only those that// make choices other than the defaults given below need be defined.#define CYG_LSBFIRST 1234#define CYG_MSBFIRST 4321#include "basetype.h"#if (CYG_BYTEORDER != CYG_LSBFIRST) && (CYG_BYTEORDER != CYG_MSBFIRST)# error You must define CYG_BYTEORDER to equal CYG_LSBFIRST or CYG_MSBFIRST#endif#ifndef CYG_DOUBLE_BYTEORDER#define CYG_DOUBLE_BYTEORDER CYG_BYTEORDER#endif#ifndef cyg_halint8# define cyg_halint8 char#endif#ifndef cyg_halint16# define cyg_halint16 short#endif#ifndef cyg_halint32# define cyg_halint32 int#endif#ifndef cyg_halint64# define cyg_halint64 long long#endif#ifndef cyg_halcount8# define cyg_halcount8 int#endif#ifndef cyg_halcount16# define cyg_halcount16 int#endif#ifndef cyg_halcount32# define cyg_halcount32 int#endif#ifndef cyg_halcount64# define cyg_halcount64 long long#endif#ifndef cyg_haladdress# define cyg_haladdress cyg_uint32#endif#ifndef cyg_haladdrword# define cyg_haladdrword cyg_uint32#endif#ifndef cyg_halbool# define cyg_halbool int#endif#ifndef cyg_halatomic# define cyg_halatomic cyg_halint8#endif// -------------------------------------------------------------------------// Provide a default architecture alignment// This may be overridden in basetype.h if necessary.// These should be straightforward numbers to allow use in assembly.#ifndef CYGARC_ALIGNMENT# define CYGARC_ALIGNMENT 8#endif// And corresponding power of two alignment#ifndef CYGARC_P2ALIGNMENT# define CYGARC_P2ALIGNMENT 3#endif#if (CYGARC_ALIGNMENT) != (1 << CYGARC_P2ALIGNMENT)# error "Inconsistent CYGARC_ALIGNMENT and CYGARC_P2ALIGNMENT values"#endif// -------------------------------------------------------------------------// The obvious few that compilers may define for you.// But in case they don't:#ifndef NULL# define NULL 0#endif#ifndef __cplusplustypedef cyg_halbool bool;# ifndef false#  define false 0# endif# ifndef true#  define true (!false)# endif#endif// -------------------------------------------------------------------------// Allow creation of procedure-like macros that are a single statement,// and must be followed by a semi-colon#define CYG_MACRO_START do {#define CYG_MACRO_END   } while (0)#define CYG_EMPTY_STATEMENT CYG_MACRO_START CYG_MACRO_END#define CYG_UNUSED_PARAM( _type_, _name_ ) CYG_MACRO_START      \  _type_ __tmp1 = (_name_);                                     \  _type_ __tmp2 = __tmp1;                                       \  __tmp1 = __tmp2;                                              \CYG_MACRO_END// -------------------------------------------------------------------------// Reference a symbol without explicitly making use of it. Ensures that// the object containing the symbol will be included when linking.#define CYG_REFERENCE_OBJECT(__object__)                                 \     CYG_MACRO_START                                                     \     static void *__cygvar_discard_me__ __attribute__ ((unused)) =       \                                                          &(__object__); \     CYG_MACRO_END// -------------------------------------------------------------------------// Define basic types for using integers in memory and structures;// depends on compiler defaults and CPU type.typedef unsigned cyg_halint8    cyg_uint8  ;typedef   signed cyg_halint8    cyg_int8   ;typedef unsigned cyg_halint16   cyg_uint16 ;typedef   signed cyg_halint16   cyg_int16  ;typedef unsigned cyg_halint32   cyg_uint32 ;typedef   signed cyg_halint32   cyg_int32  ;//typedef unsigned cyg_halint64   cyg_uint64 ;//typedef   signed cyg_halint64   cyg_int64  ;typedef  cyg_halbool            cyg_bool   ;// -------------------------------------------------------------------------// Define types for using integers in registers for looping and the like;// depends on CPU type, choose what it is most comfortable with, with at// least the range required.typedef unsigned cyg_halcount8  cyg_ucount8  ;typedef   signed cyg_halcount8  cyg_count8   ;typedef unsigned cyg_halcount16 cyg_ucount16 ;typedef   signed cyg_halcount16 cyg_count16  ;typedef unsigned cyg_halcount32 cyg_ucount32 ;typedef   signed cyg_halcount32 cyg_count32  ;//typedef unsigned cyg_halcount64 cyg_ucount64 ;//typedef   signed cyg_halcount64 cyg_count64  ;// -------------------------------------------------------------------------// Define a type to be used for atomic accesses. This type is guaranteed// to be read or written in a single uninterruptible operation. This type// is at least a single byte.typedef volatile unsigned cyg_halatomic  cyg_atomic;typedef volatile unsigned cyg_halatomic  CYG_ATOMIC;// -------------------------------------------------------------------------// Define types for access plain, on-the-metal memory or devices.typedef cyg_uint32  CYG_WORD;typedef cyg_uint8   CYG_BYTE;typedef cyg_uint16  CYG_WORD16;typedef cyg_uint32  CYG_WORD32;//typedef cyg_uint64  CYG_WORD64;typedef cyg_haladdress  CYG_ADDRESS;typedef cyg_haladdrword CYG_ADDRWORD;// -------------------------------------------------------------------------// Constructor ordering macros.  These are added as annotations to all// static objects to order the constuctors appropriately.#if defined(__cplusplus) && defined(__GNUC__) && \    !defined(CYGBLD_ATTRIB_INIT_PRI)# define CYGBLD_ATTRIB_INIT_PRI( _pri_ ) __attribute__((init_priority(_pri_)))#elif !defined(CYGBLD_ATTRIB_INIT_PRI)// FIXME: should maybe just bomb out if this is attempted anywhere else?// Not sure# define CYGBLD_ATTRIB_INIT_PRI( _pri_ )#endif    // The following will be removed eventually as it doesn't allow the use of// e.g. pri+5 format#define CYG_INIT_PRIORITY( _pri_ ) CYGBLD_ATTRIB_INIT_PRI( CYG_INIT_##_pri_ )#define CYGBLD_ATTRIB_INIT_BEFORE( _pri_ ) CYGBLD_ATTRIB_INIT_PRI(_pri_-100)#define CYGBLD_ATTRIB_INIT_AFTER( _pri_ )  CYGBLD_ATTRIB_INIT_PRI(_pri_+100)#define CYG_INIT_HAL                    10000#define CYG_INIT_SCHEDULER              11000#define CYG_INIT_INTERRUPTS             12000#define CYG_INIT_DRIVERS                13000#define CYG_INIT_CLOCK                  14000#define CYG_INIT_IDLE_THREAD            15000#define CYG_INIT_THREADS                16000#define CYG_INIT_KERNEL                 40000#define CYG_INIT_MEMALLOC               47000#define CYG_INIT_IO                     49000#define CYG_INIT_IO_FS                  50000#define CYG_INIT_LIBC                   52000#define CYG_INIT_COMPAT                 55000#define CYG_INIT_APPLICATION            60000#define CYG_INIT_PREDEFAULT             65534#define CYG_INIT_DEFAULT                65535// -------------------------------------------------------------------------// Label name macros. Some toolsets generate labels with initial// underscores and others don't. CYG_LABEL_NAME should be used on// labels in C/C++ code that are defined in assembly code or linker// scripts. CYG_LABEL_DEFN is for use in assembly code and linker// scripts where we need to manufacture labels that can be used from// C/C++.// These are default implementations that should work for most targets.// They may be overridden in basetype.h if necessary.#ifndef CYG_LABEL_NAME#define CYG_LABEL_NAME(_name_) _name_#endif#ifndef CYG_LABEL_DEFN#define CYG_LABEL_DEFN(_label) _label#endif// -------------------------------------------------------------------------// COMPILER-SPECIFIC STUFF#ifdef __GNUC__// Force a 'C' routine to be called like a 'C++' contructor# if !defined(CYGBLD_ATTRIB_CONSTRUCTOR)#  define CYGBLD_ATTRIB_CONSTRUCTOR __attribute__((constructor))# endif// Define a compiler-specific rune for saying a function doesn't return# if !defined(CYGBLD_ATTRIB_NORET)#  define CYGBLD_ATTRIB_NORET __attribute__((noreturn))# endif// How to define weak symbols - this is only relevant for ELF and a.out,// but that won't be a problem for eCos# if !defined(CYGBLD_ATTRIB_WEAK)#  define CYGBLD_ATTRIB_WEAK __attribute__ ((weak))# endif// How to define alias to symbols. Just pass in the symbol itself, not// the string name of the symbol# if !defined(CYGBLD_ATTRIB_ALIAS)#  define CYGBLD_ATTRIB_ALIAS(__symbol__) \        __attribute__ ((alias (#__symbol__)))# endif// This effectively does the reverse of the previous macro. It defines// a name that the attributed variable or function will actually have// in assembler.# if !defined(CYGBLD_ATTRIB_ASM_ALIAS)#  define __Str(x) #x#  define __Xstr(x) __Str(x)#  define CYGBLD_ATTRIB_ASM_ALIAS(__symbol__) \             __asm__ ( __Xstr( CYG_LABEL_DEFN( __symbol__ ) ) )# endif// Shows that a function returns the same value when given the same args, but// note this can't be used if there are pointer args# if !defined(CYGBLD_ATTRIB_CONST)#  define CYGBLD_ATTRIB_CONST __attribute__((const))#endif// Assign a defined variable to a specific section# if !defined(CYGBLD_ATTRIB_SECTION)#  define CYGBLD_ATTRIB_SECTION(__sect__) __attribute__((section (__sect__)))# endif// Give a type or object explicit minimum alignment# if !defined(CYGBLD_ATTRIB_ALIGN)#  define CYGBLD_ATTRIB_ALIGN(__align__) __attribute__((aligned(__align__)))# endif// Teach compiler how to check format of printf-like functions# define CYGBLD_ATTRIB_PRINTF_FORMAT(__format__, __args__) \        __attribute__((format (printf, __format__, __args__)))#else // non-GNU# define CYGBLD_ATTRIB_CONSTRUCTOR# define CYGBLD_ATTRIB_NORET    // This intentionally gives an error only if we actually try to    // use it.  #error would give an error if we simply can't.// FIXME: Had to disarm the bomb - the CYGBLD_ATTRIB_WEAK macro is now//        (indirectly) used in host tools.# define CYGBLD_ATTRIB_WEAK /* !!!-- Attribute weak not defined --!!! */# define CYGBLD_ATTRIB_ALIAS(__x__) !!!-- Attribute alias not defined --!!!# define CYGBLD_ATTRIB_ASM_ALIAS(__symbol__) !!!-- Asm alias not defined --!!!# define CYGBLD_ATTRIB_CONST# define CYGBLD_ATTRIB_ALIGN(__align__) !!!-- Alignment alias not defined --!!!# define CYGBLD_ATTRIB_PRINTF_FORMAT(__format__, __args__)#endif// How to define weak aliases. Currently this is simply a mixture of the// above# define CYGBLD_ATTRIB_WEAK_ALIAS(__symbol__) \        CYGBLD_ATTRIB_WEAK CYGBLD_ATTRIB_ALIAS(__symbol__)#ifdef __cplusplus# define __THROW throw()#else# define __THROW#endif// -------------------------------------------------------------------------// Variable annotations// These annotations may be added to various static variables in the// HAL and kernel to indicate which component they belong to. These// are used by some targets to optimize memory placement of these// variables.#ifndef CYGBLD_ANNOTATE_VARIABLE_HAL#define CYGBLD_ANNOTATE_VARIABLE_HAL#endif#ifndef CYGBLD_ANNOTATE_VARIABLE_SCHED#define CYGBLD_ANNOTATE_VARIABLE_SCHED#endif#ifndef CYGBLD_ANNOTATE_VARIABLE_CLOCK#define CYGBLD_ANNOTATE_VARIABLE_CLOCK#endif#ifndef CYGBLD_ANNOTATE_VARIABLE_INTR#define CYGBLD_ANNOTATE_VARIABLE_INTR#endif// -------------------------------------------------------------------------// Various "flavours" of memory regions that can be described by the // Memory Layout Tool (MLT).#define CYGMEM_REGION_ATTR_R  0x01  // Region can be read#define CYGMEM_REGION_ATTR_W  0x02  // Region can be written// -------------------------------------------------------------------------#endif // CYGONCE_INFRA_CYG_TYPE_H multiple inclusion protection// EOF cyg_type.h

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久97超碰国产精品超碰| 亚洲色图色小说| 日产国产高清一区二区三区 | 高清不卡在线观看av| 精品国免费一区二区三区| 黑人巨大精品欧美一区| 国产欧美日韩在线看| 成人高清视频在线| 亚洲女人的天堂| 欧美日韩国产小视频在线观看| 亚洲国产日韩一级| 日韩一区二区在线播放| 紧缚奴在线一区二区三区| 久久综合久久综合亚洲| 99麻豆久久久国产精品免费优播| 亚洲精品国久久99热| 在线成人av网站| 韩国v欧美v日本v亚洲v| 亚洲卡通动漫在线| 欧美一二三四在线| 成人午夜激情片| 亚洲va韩国va欧美va| 久久综合一区二区| 色综合久久久久网| 美女精品一区二区| 国产精品女同一区二区三区| 欧美色综合影院| 国产一区二区精品在线观看| 亚洲欧美日韩电影| 亚洲欧美自拍偷拍| 欧美一区二区三区在线看| 国产99久久久国产精品| 亚洲成av人影院| 欧美激情综合在线| 欧美一区二区在线视频| gogo大胆日本视频一区| 日本va欧美va瓶| 亚洲丝袜另类动漫二区| 日韩欧美成人一区| 在线一区二区三区| 国产成人免费视| 日韩二区三区四区| 亚洲男同性恋视频| 国产日韩精品一区| 欧美一二三区在线| 欧美伊人久久大香线蕉综合69| 国产乱妇无码大片在线观看| 亚洲成人黄色影院| 亚洲日本韩国一区| 国产偷国产偷精品高清尤物| 67194成人在线观看| 91日韩一区二区三区| 国产尤物一区二区| 日韩福利电影在线观看| 亚洲激情男女视频| 中文字幕第一区第二区| 欧美tk—视频vk| 91精品在线麻豆| 欧美系列一区二区| 色94色欧美sute亚洲13| 大美女一区二区三区| 久久国产免费看| 日本欧美一区二区| 婷婷久久综合九色综合绿巨人| 亚洲欧美中日韩| 国产精品国产三级国产aⅴ原创| 久久久99精品久久| 久久噜噜亚洲综合| 久久亚洲精精品中文字幕早川悠里 | 欧美一二三在线| 欧美一a一片一级一片| 91麻豆国产精品久久| eeuss鲁片一区二区三区| 国产成人综合亚洲网站| 国产老女人精品毛片久久| 久久爱www久久做| 国产在线一区二区综合免费视频| 日本aⅴ亚洲精品中文乱码| 日韩中文字幕91| 天天综合色天天| 丝袜亚洲精品中文字幕一区| 日本中文字幕一区二区视频| 亚洲国产成人tv| 青娱乐精品视频| 蜜臀av性久久久久蜜臀aⅴ| 久久国产尿小便嘘嘘尿| 韩国精品主播一区二区在线观看 | 日韩二区三区在线观看| 五月天激情综合| 丝袜美腿高跟呻吟高潮一区| 天堂久久一区二区三区| 人禽交欧美网站| 精品一区二区三区在线播放| 韩国理伦片一区二区三区在线播放 | 91久久精品日日躁夜夜躁欧美| 91蜜桃在线观看| 欧美午夜电影在线播放| 欧美高清一级片在线| 精品少妇一区二区| 国产免费成人在线视频| 亚洲日本欧美天堂| 性做久久久久久久久| 美美哒免费高清在线观看视频一区二区 | 日韩一区二区三免费高清| 欧美一区二区三区在线观看视频 | 99久久99久久精品免费看蜜桃| av亚洲精华国产精华| 欧美日韩在线免费视频| 欧美一区二区成人| 欧美经典一区二区三区| 一区二区三区毛片| 美女视频一区二区| 不卡的电影网站| 欧美日韩国产色站一区二区三区| 欧美精品一区二区久久婷婷| 国产婷婷精品av在线| 亚洲制服欧美中文字幕中文字幕| 免费看日韩a级影片| 白白色亚洲国产精品| 欧美猛男男办公室激情| 国产视频一区二区在线| 亚洲一二三区不卡| 国产一区在线观看视频| 在线观看一区不卡| 欧美精品一区二区三区在线 | 久久丁香综合五月国产三级网站| 成人黄页在线观看| 欧美久久一二三四区| 国产欧美日本一区视频| 天天操天天干天天综合网| 国产精品自在欧美一区| 欧美日免费三级在线| 国产精品欧美一级免费| 日本人妖一区二区| 在线观看不卡视频| 欧美激情一区不卡| 免费在线观看日韩欧美| 91黄视频在线观看| 欧美激情综合五月色丁香| 久久精品999| 欧美视频中文一区二区三区在线观看| 久久久一区二区三区| 日本午夜一区二区| 在线视频欧美精品| 亚洲欧洲性图库| 国产精品一区在线观看你懂的| 欧美日本一区二区三区| 一区二区三区在线视频免费| 国产盗摄视频一区二区三区| 欧美日韩精品二区第二页| 亚洲人精品一区| 国产91精品入口| 久久美女高清视频| 久久99国产精品免费网站| 欧美肥大bbwbbw高潮| 一区二区三区不卡视频| 99精品久久免费看蜜臀剧情介绍| 欧美精品一区二区三区久久久| 日韩高清在线电影| 欧美日韩一区二区三区视频| 亚洲综合区在线| 一本大道久久a久久精二百| 中文字幕一区二区三区在线观看| 国产91精品欧美| 欧美韩国日本一区| 国产成人亚洲综合色影视| 久久久精品黄色| 国产激情一区二区三区四区| 久久久久久99精品| 国产精品1区2区3区| 精品成人佐山爱一区二区| 国产美女久久久久| 国产亚洲精品资源在线26u| 国产成人在线免费| 国产精品福利一区二区| 一本色道久久综合亚洲91| 亚洲精品高清在线| 欧美日韩夫妻久久| 免费xxxx性欧美18vr| 久久综合精品国产一区二区三区 | 日韩一区中文字幕| 99久久久精品| 樱桃国产成人精品视频| 欧美三级电影一区| 久久99国产精品免费网站| 国产午夜亚洲精品理论片色戒| 高清不卡一二三区| 亚洲精品成人精品456| 欧美高清你懂得| 国产在线乱码一区二区三区| 国产精品视频免费看| 91官网在线免费观看| 日本中文字幕一区二区视频 | 91成人免费在线视频| 一区二区三区四区不卡视频| 欧美日韩一区精品| 久久99国产乱子伦精品免费| 亚洲国产精品av| 欧美性xxxxx极品少妇| 寂寞少妇一区二区三区|