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

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

?? handle.h

?? The major functionality added in this release includes: - Rootless mode in X11 - Widget Templt
?? H
字號:
/* $Id: handle.h,v 1.34 2002/10/24 03:00:54 micahjd Exp $ * * handle.h - Functions and data structures for allocating handles to *            represent objects, converting between handles and pointers, *            and deleting handles. * * PicoGUI small and efficient client/server GUI * Copyright (C) 2000-2002 Micah Dowty <micahjd@users.sourceforge.net> * * This program 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 * of the License, or (at your option) any later version. *  * This program 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 this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. *  * Contributors: *  *  *  */#ifndef __HANDLE_H#define __HANDLE_H#include <pgserver/g_error.h>/* Flags for the handle's type */#define HFLAG_RED   0x80     /* This is a red-black tree */#define HFLAG_NFREE 0x40     /* The pointer should _not_ be free'd when the			        handle is destroyed (free'd in a method			        depending on the data type *//* Data type of a handle ID  * * We don't use the full 32 bits because then things like (1<<HANDLE_BITS) * would overflow. This still allows about a billion handles, so it * it shouln't be a limitation :) */typedef u32 handle;#define HANDLE_BITS     30#define HANDLE_SIZE     (1<<HANDLE_BITS)struct handlenode {   /*     * WARNING!!!!!!    * If you add/remove members from this structure, update the node copy    * in htree_delete()! If you fail to do so, demons will haunt pgserver    * with evil evil bugs    *    */     handle id;     handle group;           /* Parent of this handle group */  short int owner;        /* the connection that owns this handle */  u8 type;                /* Most of this represents the data type			   * that this handle points to. Upper 2 bits			   * are for HFLAGs */  s8 context;  /* 32-bit fields */  u32 payload;   /* Client-definable data */  const void *obj;  struct handlenode *left,*right,*parent;  /* For the red-black tree */  /*    * WARNING!!!!!!   * If you add/remove members from this structure, update the node copy   * in htree_delete()! If you fail to do so, demons will haunt pgserver   * with evil evil bugs   *   */};/* Global objects */extern handle res[PGRES_NUM];g_error globals_init();/* Find the handlenode associated with a handle ID */struct handlenode *htree_find(handle id);/* Allocates a new handle for obj  * Owner = -1, system owns it */g_error mkhandle(handle *h,unsigned char type,int owner, const void *obj);/* Reads the handle, returns NULL if handle is invalid or if it   doesn't match the required type and user. If owner is -1, we don't care */g_error rdhandle(void **p,unsigned char reqtype,int owner,handle h);/* Like rdhandle, but returns a pointer to the handlenode's pointer */g_error rdhandlep(void ***p,unsigned char reqtype,int owner,handle h);/* Gets a pointer to the handle's payload, stores it in the variable * pointed to by pppayload */g_error handle_payload(u32 **pppayload,int owner,handle h);/* Given a pointer to an object, returns its handle.  Returns 0 if   there is no matching handle. Places the owner in 'owner' if not null.*/handle hlookup(void *obj,int *owner);/* Deletes the handle, and if HFLAG_NFREE is not set it frees the object. * Owner = -1, don't care */g_error handle_free(int owner,handle h);/* Look up the handle associated with the pointer, and delete it safely */g_error pointer_free(int owner, void *ptr);/* Deletes all handles from a specified owner (-1 for all handles)   that are in a context equal to 'context' (or -1 for all contexts)*/void handle_cleanup(int owner,int context);/* A fairly interesting function.  Destroys any data referenced by   the destination handle, and transfers the data from the source   handle to the destination handle.  The destination's ownership is   retained, and the source becomes invalid */g_error handle_bequeath(handle dest, handle src, int srcowner);/* Changes the object pointer of a handle */g_error rehandle(handle h, void *obj, u8 type);/* Group a handle with the theme containing it. Puts the 'to' handle in the * group of the theme 'from'. *  * Also sets the owner of 'to' to new_owner. The theme code uses this * to set the handle's owner to -1 so it can be read by anyone. * FIXME: We need real handle permissions */g_error handle_group(int owner,handle from, handle to,int new_owner);/* Call the specified function on all handles of the specified type, * with a pointer to the handle's object pointer. * This allows a particular transformation to be applied to objects * in bulk. */typedef g_error (*handle_iterator)(const void **pobj,void *extra);g_error handle_iterate(u8 type,handle_iterator iterator, void *extra);/* * Duplicate a handle (if it can be duplicated. Widgets, drivers, * and themes currently can't be duplicated) */g_error handle_dup(handle *dest, int owner, handle src);/* * Change the context of an existing handle by 'delta'. * Can be positive or negative */g_error handle_chcontext(handle h, int owner, s16 delta);/* * Set an extra mapping table used for handles with the high bit * set (from 0x80000000 to 0xFFFFFFFF) */void handle_setmapping(handle *table, int num_entries);#ifdef DEBUG_KEYS/* Debugging function to dump handle tree to stdout on CTRL-ALT-H */void handle_dump(void);/* Dump strings on CTRL-ALT-S */void string_dump(void);#endif#endif /* __HANDLE_H *//* The End */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品欧美一区二区三区| 欧美久久久久久久久| 日本一区中文字幕| 亚洲一级二级在线| 亚洲激情一二三区| 国产精品久久久久久久浪潮网站| 国产欧美精品一区aⅴ影院| 国产午夜精品久久久久久久 | 国产亚洲欧美日韩日本| 欧美一区二区精品| 精品国产污网站| 久久精品一区四区| 亚洲美女视频在线| 亚洲国产一区二区在线播放| 亚欧色一区w666天堂| 日本午夜精品一区二区三区电影| 欧美96一区二区免费视频| 经典三级视频一区| k8久久久一区二区三区| 99精品视频一区二区三区| 色综合一个色综合| 欧美日韩第一区日日骚| 欧美精品一区二区三区四区 | 欧美日韩在线观看一区二区 | 亚洲mv大片欧洲mv大片精品| 日韩福利视频导航| 国产成人免费在线| 欧美网站一区二区| 日韩精品一区二区三区视频在线观看| 久久精品视频一区二区三区| 亚洲欧美偷拍三级| 玖玖九九国产精品| 日本久久电影网| 欧美成人国产一区二区| 自拍偷拍欧美激情| 日韩精品成人一区二区在线| 国产sm精品调教视频网站| 91国内精品野花午夜精品| 欧美一级片在线观看| 亚洲天堂中文字幕| 激情av综合网| 欧美午夜精品久久久久久孕妇| 2024国产精品| 亚洲成av人**亚洲成av**| 从欧美一区二区三区| 日韩欧美视频一区| 亚洲乱码精品一二三四区日韩在线| 美女一区二区三区在线观看| 一本久久精品一区二区| 国产视频一区二区在线| 三级久久三级久久| 99精品欧美一区二区三区小说| 精品人在线二区三区| 亚洲自拍偷拍麻豆| 成人美女视频在线观看18| 91精品国产色综合久久不卡蜜臀| 亚洲欧洲日产国产综合网| 国产一区二区剧情av在线| 在线观看三级视频欧美| 欧美激情一区二区三区不卡| 精品一区二区免费看| 欧美人动与zoxxxx乱| 亚洲图片欧美色图| 色欧美片视频在线观看在线视频| 久久精品水蜜桃av综合天堂| 九九九久久久精品| 欧美一级精品大片| 日本亚洲电影天堂| 91麻豆精品久久久久蜜臀| 夜夜精品浪潮av一区二区三区| 成人精品国产福利| 国产精品―色哟哟| 99视频精品全部免费在线| 久久久国产精品不卡| 国产一区二区三区精品视频| 精品久久国产97色综合| 黄色小说综合网站| 久久久久久久国产精品影院| 国产一区不卡视频| 国产日本欧洲亚洲| 成人福利在线看| 亚洲精品视频在线看| 欧美亚洲国产怡红院影院| 亚洲国产精品综合小说图片区| 在线日韩av片| 三级一区在线视频先锋 | 欧美精品免费视频| 五月综合激情日本mⅴ| 91精品一区二区三区在线观看| 午夜精品一区二区三区电影天堂 | 一区二区三区中文字幕| 99riav久久精品riav| 亚洲免费在线视频| 欧美在线观看视频一区二区| 日韩vs国产vs欧美| 久久日一线二线三线suv| 粉嫩蜜臀av国产精品网站| 国产精品久久久久精k8 | 99综合电影在线视频| 亚洲激情第一区| 91精品中文字幕一区二区三区| 久热成人在线视频| 欧美高清在线一区二区| 91女神在线视频| 天天综合网天天综合色| 久久午夜羞羞影院免费观看| 在线看国产日韩| 美美哒免费高清在线观看视频一区二区| 日韩欧美中文字幕制服| 成人激情小说网站| 天堂蜜桃91精品| 国产免费观看久久| 欧美高清性hdvideosex| 国产精选一区二区三区| 亚洲一区二区三区四区在线免费观看| 欧美一区二区三区在| 99久久国产综合色|国产精品| 五月激情六月综合| 国产精品色哟哟| 日韩你懂的在线观看| 91视频你懂的| 国产专区欧美精品| 五月婷婷综合网| 亚洲欧洲在线观看av| 2023国产精品视频| 欧美人妖巨大在线| 色婷婷亚洲综合| 粉嫩13p一区二区三区| 麻豆精品一二三| 亚洲曰韩产成在线| 国产精品成人免费在线| 久久综合久久鬼色中文字| 欧美三片在线视频观看| 一本大道综合伊人精品热热| 国产成人精品1024| 久久精品国产第一区二区三区| 一级精品视频在线观看宜春院| 国产欧美久久久精品影院| 91精品国产综合久久久蜜臀粉嫩| 91捆绑美女网站| av中文字幕亚洲| 97久久超碰国产精品| 成人av中文字幕| 国产精品123| 国产成人免费9x9x人网站视频| 日本v片在线高清不卡在线观看| 一卡二卡欧美日韩| 亚洲黄色免费网站| 亚洲国产综合91精品麻豆| 亚洲图片欧美激情| 亚洲区小说区图片区qvod| 亚洲成人一区二区| 一区二区三区自拍| 亚洲成人先锋电影| 日韩精彩视频在线观看| 日韩激情视频在线观看| 婷婷开心激情综合| 久久99久久久欧美国产| 久久www免费人成看片高清| 九色综合国产一区二区三区| 久久69国产一区二区蜜臀| 国产一区二区中文字幕| 成人性生交大片免费看视频在线| 国产九色sp调教91| 91一区二区在线| 欧美午夜精品久久久久久孕妇| 欧美性猛交xxxxxx富婆| 欧美一级欧美三级| 久久午夜羞羞影院免费观看| 国产偷国产偷亚洲高清人白洁 | 欧美一级一区二区| 精品久久久久av影院| 久久综合色鬼综合色| 国产精品嫩草影院com| 一区二区三区av电影| 天天操天天色综合| 国产主播一区二区| 99久久久国产精品免费蜜臀| 99久久婷婷国产综合精品| 在线观看区一区二| 欧美不卡在线视频| 中文字幕在线一区免费| 亚洲国产日产av| 国产一区亚洲一区| 在线免费观看日本欧美| 久久综合狠狠综合久久综合88| 国产精品看片你懂得| 日韩电影在线免费观看| 国产mv日韩mv欧美| 欧美少妇bbb| 中文字幕免费不卡在线| 日韩精品电影在线| 99亚偷拍自图区亚洲| 日韩免费成人网| 亚洲精品国产a| 国内外成人在线| 欧美色图12p| 国产精品成人在线观看| 麻豆成人免费电影| 在线中文字幕一区|