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

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

?? shm_internal.h

?? DirectFB的源碼包:用于圖形加速和應用開發的好東東,而且是穩定版本的,已經有應用在嵌入式平臺的先例,比如NXP平臺.
?? H
字號:
/*   (c) Copyright 2001-2007  The DirectFB Organization (directfb.org)   (c) Copyright 2000-2004  Convergence (integrated media) GmbH   All rights reserved.   Written by Denis Oliver Kropp <dok@directfb.org>,              Andreas Hundt <andi@fischlustig.de>,              Sven Neumann <neo@directfb.org>,              Ville Syrj?l? <syrjala@sci.fi> and              Claudio Ciccani <klan@users.sf.net>.   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 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., 59 Temple Place - Suite 330,   Boston, MA 02111-1307, USA.*/#ifndef __FUSION__SHM__SHM_INTERNAL_H__#define __FUSION__SHM__SHM_INTERNAL_H__#include <limits.h>#include <direct/list.h>#include <fusion/build.h>#include <fusion/lock.h>#define FUSION_SHM_MAX_POOLS                  4#define FUSION_SHM_TMPFS_PATH_NAME_LEN       64typedef struct __shmalloc_heap shmalloc_heap;/* * Local pool data. */struct __Fusion_FusionSHMPool {     int                  magic;     bool                 attached;     /* Indicates usage of this entry in the static pool array. */     FusionSHM           *shm;          /* Back pointer to local SHM data. */     FusionSHMPoolShared *shared;       /* Pointer to shared pool data. */     int                  pool_id;      /* The pool's ID within the world. */     int                  fd;           /* File descriptor of shared memory file. */     char                *filename;     /* Name of the shared memory file. */};/* * Shared pool data. */struct __Fusion_FusionSHMPoolShared {     int                  magic;     bool                 debug;        /* Debug allocations in this pool? */     int                  index;        /* Index within the static pool array. */     bool                 active;       /* Indicates usage of this entry in the static pool array. */     FusionSHMShared     *shm;          /* Back pointer to shared SHM data. */     int                  max_size;     /* Maximum possible size of the shared memory. */     int                  pool_id;      /* The pool's ID within the world. */     void                *addr_base;    /* Virtual starting address of shared memory. */     FusionSkirmish       lock;         /* Lock for this pool. */     shmalloc_heap       *heap;         /* The actual heap information ported from libc5. */     char                *name;         /* Name of the pool (allocated in the pool). */     DirectLink          *allocs;       /* Used for debugging. */};/* * Local SHM data. */struct __Fusion_FusionSHM {     int                  magic;     FusionWorld         *world;        /* Back pointer to local world data. */     FusionSHMShared     *shared;       /* Pointer to shared SHM data. */     FusionSHMPool        pools[FUSION_SHM_MAX_POOLS]; /* Local data of all pools. */     DirectSignalHandler *signal_handler;};/* * Shared SHM data. */struct __Fusion_FusionSHMShared {     int                  magic;     FusionWorldShared   *world;        /* Back pointer to shared world data. */     FusionSkirmish       lock;         /* Lock for list of pools. */     int                  num_pools;    /* Number of active pools. */     FusionSHMPoolShared  pools[FUSION_SHM_MAX_POOLS]; /* Shared data of all pools. */     char                 tmpfs[FUSION_SHM_TMPFS_PATH_NAME_LEN];};/* The allocator divides the heap into blocks of fixed size; large   requests receive one or more whole blocks, and small requests   receive a fragment of a block.  Fragment sizes are powers of two,   and all fragments of a block are the same size.  When all the   fragments in a block have been freed, the block itself is freed.  */#define INT_BIT          (CHAR_BIT * sizeof(int))#define BLOCKLOG         (INT_BIT > 16 ? 12 : 9)#define BLOCKSIZE        (1 << BLOCKLOG)#define BLOCKIFY(SIZE)   (((SIZE) + BLOCKSIZE - 1) / BLOCKSIZE)#define BLOCKALIGN(SIZE) (((SIZE) + BLOCKSIZE - 1) & ~(BLOCKSIZE - 1))/* Number of contiguous free blocks allowed to build up at the end of   memory before they will be returned to the system.  */#define FINAL_FREE_BLOCKS       8/* Address to block number and vice versa.  */#define BLOCK(A)        (((char *) (A) - heap->heapbase) / BLOCKSIZE + 1)#define ADDRESS(B)      ((void *) (((B) - 1) * BLOCKSIZE + heap->heapbase))/* Data structure giving per-block information.  */typedef union {     /* Heap information for a busy block.  */     struct {          /* Zero for a large block, or positive giving the             logarithm to the base two of the fragment size.  */          int type;          union {               struct {                    size_t nfree;   /* Free fragments in a fragmented block.  */                    size_t first;   /* First free fragment of the block.  */               } frag;               /* Size (in blocks) of a large cluster.  */               size_t size;          } info;     } busy;     /* Heap information for a free block        (that may be the first of a free cluster).  */     struct {          size_t size;                /* Size (in blocks) of a free cluster.  */          size_t next;                /* Index of next free cluster.  */          size_t prev;                /* Index of previous free cluster.  */     } free;} shmalloc_info;/* Doubly linked lists of free fragments.  */struct list {     struct list *next;     struct list *prev;};#define SHMEMDESC_FUNC_NAME_LENGTH 48#define SHMEMDESC_FILE_NAME_LENGTH 24/* Used for debugging. */typedef struct {     DirectLink    link;     const void   *mem;     size_t        bytes;     char          func[SHMEMDESC_FUNC_NAME_LENGTH];     char          file[SHMEMDESC_FILE_NAME_LENGTH];     unsigned int  line;     FusionID      fid;} SHMemDesc;struct __shmalloc_heap {     int magic;     /* Pointer to first block of the heap.  */     char *heapbase;     /* Block information table indexed by block number giving per-block information. */     shmalloc_info *heapinfo;     /* Number of info entries.  */     size_t heapsize;     /* Current search index for the heap table.  */     size_t heapindex;     /* Limit of valid info table indices.  */     size_t heaplimit;#if 1   /* Adapted from Mike */     /* Count of large blocks allocated for each fragment size. */     int fragblocks[BLOCKLOG];#endif     /* Free list headers for each fragment size.  */     struct list fraghead[BLOCKLOG];     /* Instrumentation.  */     size_t chunks_used;     size_t bytes_used;     size_t chunks_free;     size_t bytes_free;     /* Total size of heap in bytes. */     int size;     /* Back pointer to shared memory pool. */     FusionSHMPoolShared *pool;};void *_fusion_shmalloc (shmalloc_heap *heap, size_t __size);void *_fusion_shrealloc (shmalloc_heap *heap, void *__ptr, size_t __size);void  _fusion_shfree (shmalloc_heap *heap, void *__ptr);DirectResult __shmalloc_init_heap( FusionSHM     *shm,                                   const char    *filename,                                   void          *addr_base,                                   int            space,                                   int           *ret_fd,                                   int           *ret_size );DirectResult __shmalloc_join_heap( FusionSHM     *shm,                                   const char    *filename,                                   void          *addr_base,                                   int            size,                                   int           *ret_fd );void        *__shmalloc_brk      ( shmalloc_heap *heap,                                   int            increment );#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97se亚洲国产综合自在线观| 欧美精品粉嫩高潮一区二区| 午夜精品福利在线| 26uuu另类欧美亚洲曰本| 在线观看欧美日本| 国内成人精品2018免费看| 午夜视频在线观看一区| 自拍偷拍亚洲欧美日韩| 久久奇米777| 91精品国产免费久久综合| 色网站国产精品| 国产不卡一区视频| 国产在线精品国自产拍免费| 亚洲成人手机在线| 亚洲精品国产无天堂网2021| 国产精品无遮挡| 久久久99精品久久| 精品成人一区二区| 日韩三级视频在线观看| 欧美精品成人一区二区三区四区| 91麻豆swag| www.亚洲色图.com| 成人免费视频国产在线观看| 国产在线不卡一区| 国模无码大尺度一区二区三区| 日本不卡123| 日韩专区在线视频| 天天综合日日夜夜精品| 亚洲综合偷拍欧美一区色| 自拍偷拍欧美激情| 亚洲六月丁香色婷婷综合久久 | 不卡欧美aaaaa| 国产成人福利片| 国产精品夜夜嗨| 国产不卡视频一区二区三区| 国产麻豆成人精品| 国产成人免费视频一区| 福利电影一区二区| 成人一区二区三区视频在线观看 | 国产一区二区日韩精品| 精品一区二区在线播放| 久久国产综合精品| 国产乱码一区二区三区| 国产69精品久久99不卡| 97超碰欧美中文字幕| 色婷婷av一区二区三区gif| 日本精品视频一区二区| 欧美综合久久久| 制服.丝袜.亚洲.另类.中文| 日韩视频在线你懂得| 欧美r级电影在线观看| 久久久噜噜噜久久人人看| 国产亚洲一区字幕| 综合激情网...| 亚洲一区二区三区国产| 日本成人在线电影网| 久久99国产精品免费网站| 国产传媒日韩欧美成人| 91视频.com| 欧美色视频在线观看| 91精品在线免费观看| 久久久久久久久久美女| 日韩一区日韩二区| 天使萌一区二区三区免费观看| 久久66热re国产| 99视频热这里只有精品免费| 欧美日韩一区二区不卡| 2022国产精品视频| 亚洲嫩草精品久久| 免费成人深夜小野草| 成人一级片网址| 欧美日韩aaaaaa| 国产偷国产偷亚洲高清人白洁| 亚洲男人的天堂一区二区 | 久久成人综合网| av电影一区二区| 欧美日本一道本在线视频| 欧美tk—视频vk| 亚洲免费在线观看视频| 蜜桃av噜噜一区| 99久久99久久久精品齐齐| 91精品国产综合久久福利| 欧美国产激情一区二区三区蜜月| 亚洲高清免费视频| 黄色精品一二区| 91麻豆免费看| 亚洲精品一区二区三区四区高清 | 6080午夜不卡| 国产精品欧美一级免费| 无码av中文一区二区三区桃花岛| 国产黄色精品网站| 7777精品伊人久久久大香线蕉 | 在线观看视频一区二区欧美日韩| 欧美成人a在线| 亚洲一区电影777| 国产99久久久国产精品潘金网站| 欧美人妇做爰xxxⅹ性高电影 | 精品福利一区二区三区| 亚洲国产色一区| 成人av电影在线网| 精品区一区二区| 亚洲成av人片| 色综合久久中文字幕| 国产午夜亚洲精品理论片色戒 | 亚洲色欲色欲www在线观看| 精品一区二区三区视频| 欧美日韩高清一区二区不卡| 亚洲人成网站色在线观看| 国产在线观看免费一区| 日韩三级精品电影久久久 | 日韩精品电影在线观看| 色婷婷久久久久swag精品| 国产精品欧美一级免费| 国产白丝精品91爽爽久久| 日韩欧美一级二级| 日日摸夜夜添夜夜添亚洲女人| 一本大道久久a久久精二百| 国产精品热久久久久夜色精品三区| 激情欧美一区二区三区在线观看| 91精品国产日韩91久久久久久| 亚洲国产成人精品视频| 日本韩国一区二区三区| 亚洲特黄一级片| 99久久婷婷国产精品综合| 国产精品理论片| 北条麻妃国产九九精品视频| 国产亚洲精品aa| 国产成人精品aa毛片| 国产农村妇女精品| 成人免费黄色大片| 中文字幕不卡在线播放| 成人免费视频caoporn| 日本一区二区视频在线观看| 国产成人av在线影院| 国产精品污www在线观看| 成人免费高清在线观看| 国产精品白丝在线| 91网上在线视频| 亚洲人成影院在线观看| 日本韩国欧美三级| 亚洲一区二区在线播放相泽 | 欧美午夜宅男影院| 亚洲国产精品天堂| 91精品国产欧美日韩| 精品一区二区三区蜜桃| 国产午夜精品久久久久久久 | 欧美日韩视频一区二区| 偷偷要91色婷婷| 日韩欧美资源站| 精品一区二区在线视频| 国产欧美日韩综合精品一区二区| 国产高清不卡二三区| 国产精品欧美一区二区三区| 色狠狠综合天天综合综合| 午夜国产精品影院在线观看| 日韩精品在线网站| 风流少妇一区二区| 一区二区三区四区在线| 欧美一区二区三区男人的天堂| 激情五月激情综合网| 国产精品久久一级| 欧美日产在线观看| 不卡欧美aaaaa| 亚洲综合在线免费观看| 日韩一区二区在线观看视频播放| 国产综合色在线| 亚洲美女电影在线| 日韩视频国产视频| 97精品国产露脸对白| 婷婷成人激情在线网| 国产欧美一二三区| 欧美日韩在线三级| 国产乱码精品一品二品| 亚洲精品国产精品乱码不99| 日韩欧美中文一区| 99精品视频在线观看免费| 日韩va亚洲va欧美va久久| 国产亚洲欧美日韩在线一区| 色狠狠综合天天综合综合| 国产在线乱码一区二区三区| 亚洲欧美激情小说另类| 精品动漫一区二区三区在线观看| 色综合久久中文字幕综合网| 久久精品99国产精品日本| 一区二区三区国产豹纹内裤在线| 欧美大片日本大片免费观看| 91老师片黄在线观看| 久久成人久久鬼色| 亚洲国产一区二区视频| 中文一区在线播放| 日韩三级.com| 欧美视频一区二区三区四区 | 91蝌蚪porny| 精品一区二区在线播放| 亚洲一区二区三区中文字幕| 国产农村妇女精品| 欧美精品一区二区三区蜜桃视频| 欧美午夜精品一区二区蜜桃| 成人一区二区三区中文字幕| 久久99国产精品久久99|