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

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

?? gen.c

?? ncurses-5.4 需要的就來下把 一定會有用的哦
?? C
?? 第 1 頁 / 共 3 頁
字號:
/**************************************************************************** * Copyright (c) 1998,2000 Free Software Foundation, Inc.                   * *                                                                          * * Permission is hereby granted, free of charge, to any person obtaining a  * * copy of this software and associated documentation files (the            * * "Software"), to deal in the Software without restriction, including      * * without limitation the rights to use, copy, modify, merge, publish,      * * distribute, distribute with modifications, sublicense, and/or sell       * * copies of the Software, and to permit persons to whom the Software is    * * furnished to do so, subject to the following conditions:                 * *                                                                          * * The above copyright notice and this permission notice shall be included  * * in all copies or substantial portions of the Software.                   * *                                                                          * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  * * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               * * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   * * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   * * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    * * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    * * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               * *                                                                          * * Except as contained in this notice, the name(s) of the above copyright   * * holders shall not be used in advertising or otherwise to promote the     * * sale, use or other dealings in this Software without prior written       * * authorization.                                                           * ****************************************************************************//**************************************************************************** *   Author:  Juergen Pfeifer, 1996                                         * ****************************************************************************//*    Version Control    $Revision: 1.36 $  --------------------------------------------------------------------------*//*  This program generates various record structures and constants from the  ncurses header file for the Ada95 packages. Essentially it produces  Ada95 source on stdout, which is then merged using m4 into a template  to produce the real source.  */#include <stdlib.h>#include <stddef.h>#include <string.h>#include <assert.h>#include <ctype.h>#include <menu.h>#include <form.h>#define RES_NAME "Reserved"static const char *model = "";static int little_endian = 0;typedef struct {  const char *name;  unsigned long attr;} name_attribute_pair;static int find_pos (char *s, unsigned len, int *low, int *high){  unsigned int i,j;  int l = 0;  *high = -1;  *low  = 8*len;  for(i=0; i < len; i++,s++)    {      if (*s)	{	  for(j=0;j<8*sizeof(char);j++)	    {	      if ((( little_endian && ((*s)&0x01)) ||		   (!little_endian && ((*s)&0x80))) )		{		  if (l > *high)		    *high = l;		  if (l < *low)		    *low = l;		}	      l++;	      if (little_endian)		*s >>= 1;	      else		*s <<= 1;	    }	}      else	l += 8;    }  return (*high >= 0 && (*low <= *high)) ? *low : -1;}/* * This helper routine generates a representation clause for a * record type defined in the binding. * We are only dealing with record types which are of 32 or 16 * bit size, i.e. they fit into an (u)int or a (u)short. */static voidgen_reps(const name_attribute_pair *nap, /* array of name_attribute_pair records */ const char *name,               /* name of the represented record type  */ int len,                        /* size of the record in bytes          */ int bias){  int i,n,l,cnt = 0,low,high;  int width = strlen(RES_NAME) + 3;  unsigned long a;  unsigned long mask = 0;  assert (nap!=NULL);  for (i=0; nap[i].name != (char *)0; i++)    {      cnt++;      l = strlen(nap[i].name);      if (l>width)	width = l;    }  assert (width > 0);  printf("   type %s is\n",name);  printf("      record\n");  for (i=0; nap[i].name != (char *)0; i++)    {      printf("         %-*s : Boolean;\n",width,nap[i].name);    }  printf("      end record;\n");  printf("   pragma Pack (%s);\n",name);  printf("   pragma Convention (C, %s);\n\n",name);  printf("   for %s use\n",name);  printf("      record\n");  for (i=0; nap[i].name != (char *)0; i++)    {      a = nap[i].attr;      mask |= a;      l = find_pos( (char *)&a,sizeof(a),&low,&high );      if (l>=0)	printf("         %-*s at 0 range %2d .. %2d;\n",width,nap[i].name,	       low-bias,high-bias);    }  i = 1; n = cnt;  printf("      end record;\n");  printf("   for %s'Size use %d;\n", name, 8*len);  printf("   --  Please note: this rep. clause is generated and may be\n");  printf("   --               different on your system.");}static void chtype_rep (const char *name, attr_t mask){  attr_t x = -1;  attr_t t = x & mask;  int low, high;  int l = find_pos ((char *)&t, sizeof(t), &low, &high);  if (l>=0)    printf("         %-5s at 0 range %2d .. %2d;\n",name,low,high);}static void gen_chtype_rep(const char *name){  printf("   for %s use\n      record\n",name);  chtype_rep("Ch",A_CHARTEXT);  chtype_rep("Color",A_COLOR);  chtype_rep("Attr",(A_ATTRIBUTES&~A_COLOR));  printf("      end record;\n   for %s'Size use %ld;\n", name, (long)(8*sizeof(chtype)));  printf("      --  Please note: this rep. clause is generated and may be\n");  printf("      --               different on your system.\n");}static void mrep_rep (const char *name, void *rec){  int low, high;  int l = find_pos((char *)rec, sizeof(MEVENT), &low, &high);  if (l>=0)    printf("         %-7s at 0 range %3d .. %3d;\n",name,low,high);}static void gen_mrep_rep(const char *name){  MEVENT x;  printf("   for %s use\n      record\n",name);  memset(&x,0,sizeof(x));  x.id = -1;  mrep_rep("Id",&x);  memset(&x,0,sizeof(x));  x.x = -1;  mrep_rep("X",&x);  memset(&x,0,sizeof(x));  x.y = -1;  mrep_rep("Y",&x);  memset(&x,0,sizeof(x));  x.z = -1;  mrep_rep("Z",&x);  memset(&x,0,sizeof(x));  x.bstate = -1;  mrep_rep("Bstate",&x);  printf("      end record;\n");  printf("      --  Please note: this rep. clause is generated and may be\n");  printf("      --               different on your system.\n");}static void gen_attr_set( const char *name ){  /* All of the A_xxx symbols are defined in ncurses, but not all are nonzero   * if "configure --enable-widec" is specified.   */  static const name_attribute_pair nap[] = {#if A_STANDOUT    {"Stand_Out",               A_STANDOUT},#endif#if A_UNDERLINE    {"Under_Line",              A_UNDERLINE},#endif#if A_REVERSE    {"Reverse_Video",           A_REVERSE},#endif#if A_BLINK    {"Blink",                   A_BLINK},#endif#if A_DIM    {"Dim_Character",           A_DIM},#endif#if A_BOLD    {"Bold_Character",          A_BOLD},#endif#if A_ALTCHARSET    {"Alternate_Character_Set", A_ALTCHARSET},#endif#if A_INVIS    {"Invisible_Character",     A_INVIS},#endif#if A_PROTECT    {"Protected_Character",     A_PROTECT},#endif#if A_HORIZONTAL    {"Horizontal",              A_HORIZONTAL},#endif#if A_LEFT    {"Left",                    A_LEFT},#endif#if A_LOW    {"Low",                     A_LOW},#endif#if A_RIGHT    {"Right",                   A_RIGHT},#endif#if A_TOP    {"Top",                     A_TOP},#endif#if A_VERTICAL    {"Vertical",                A_VERTICAL},#endif    {(char *)0,                 0}  };  chtype attr = A_ATTRIBUTES & ~A_COLOR;  int start=-1, len=0, i, set;  for(i=0;i<(int)(8*sizeof(chtype));i++) {    set = attr&1;    if (set) {      if (start<0)	start = i;      if (start>=0) {	len++;      }    }    attr = attr >> 1;  }  gen_reps (nap, name, (len+7)/8, little_endian?start:0);}static void gen_trace(const char *name){    static const name_attribute_pair nap[] = {    {"Times",               TRACE_TIMES},    {"Tputs",               TRACE_TPUTS},    {"Update",              TRACE_UPDATE},    {"Cursor_Move",         TRACE_MOVE},    {"Character_Output",    TRACE_CHARPUT},    {"Calls",               TRACE_CALLS},    {"Virtual_Puts",        TRACE_VIRTPUT},    {"Input_Events",        TRACE_IEVENT},    {"TTY_State",           TRACE_BITS},    {"Internal_Calls",      TRACE_ICALLS},    {"Character_Calls",     TRACE_CCALLS},    {"Termcap_TermInfo",    TRACE_DATABASE},    {(char *)0,                0}  };  gen_reps(nap,name,sizeof(int),0);}static void gen_menu_opt_rep(const char *name){  static const name_attribute_pair nap[] = {#ifdef O_ONEVALUE    {"One_Valued", O_ONEVALUE},#endif#ifdef O_SHOWDESC    {"Show_Descriptions", O_SHOWDESC},#endif#ifdef O_ROWMAJOR    {"Row_Major_Order", O_ROWMAJOR},#endif#ifdef O_IGNORECASE    {"Ignore_Case", O_IGNORECASE},#endif#ifdef O_SHOWMATCH    {"Show_Matches", O_SHOWMATCH},#endif#ifdef O_NONCYCLIC    {"Non_Cyclic", O_NONCYCLIC},#endif    {(char *)0, 0}  };  gen_reps (nap, name, sizeof(int),0);}static void gen_item_opt_rep(const char *name){  static const name_attribute_pair nap[] = {#ifdef O_SELECTABLE    {"Selectable", O_SELECTABLE},#endif    {(char *)0   , 0}  };  gen_reps (nap, name, sizeof(int),0);}static void gen_form_opt_rep(const char *name){  static const name_attribute_pair nap[] = {#ifdef O_NL_OVERLOAD    {"NL_Overload", O_NL_OVERLOAD},#endif#ifdef O_BS_OVERLOAD    {"BS_Overload", O_BS_OVERLOAD},#endif    {(char *)0    , 0}  };  gen_reps (nap, name, sizeof(int),0);}/* * Generate the representation clause for the Field_Option_Set record */static void gen_field_opt_rep(const char *name){  static const name_attribute_pair nap[] = {#ifdef O_VISIBLE    {"Visible",O_VISIBLE},#endif#ifdef O_ACTIVE    {"Active",O_ACTIVE},#endif#ifdef O_PUBLIC    {"Public",O_PUBLIC},#endif#ifdef O_EDIT    {"Edit",O_EDIT},#endif#ifdef O_WRAP    {"Wrap",O_WRAP},#endif#ifdef O_BLANK    {"Blank",O_BLANK},#endif#ifdef O_AUTOSKIP    {"Auto_Skip",O_AUTOSKIP},#endif#ifdef O_NULLOK    {"Null_Ok",O_NULLOK},#endif#ifdef O_PASSOK    {"Pass_Ok",O_PASSOK},#endif#ifdef O_STATIC    {"Static",O_STATIC},#endif    {(char *)0, 0}  };  gen_reps (nap, name, sizeof(int),0);}/* * Generate a single key code constant definition. */static void keydef(const char *name, const char *old_name, int value, int mode){  if (mode==0) /* Generate the new name */    printf("   %-30s : constant Special_Key_Code := 8#%3o#;\n",name,value);  else    { /* generate the old name, but only if it doesn't conflict with the old       * name (Ada95 isn't case sensitive!)       */      const char *s = old_name; const char *t = name;      while ( *s && *t && (toupper(*s++) == toupper(*t++)));      if (*s || *t)	printf("   %-16s : Special_Key_Code renames %s;\n",old_name,name);    }}/* * Generate constants for the key codes. When called with mode==0, a * complete list with nice constant names in proper casing style will * be generated. Otherwise a list of old (i.e. C-style) names will be * generated, given that the name wasn't already defined in the "nice" * list. */static void gen_keydefs (int mode){  char buf[16];  char obuf[16];  int i;#ifdef KEY_CODE_YES  keydef("Key_Code_Yes","KEY_CODE_YES",KEY_CODE_YES,mode);#endif#ifdef KEY_MIN  keydef("Key_Min","KEY_MIN",KEY_MIN,mode);#endif#ifdef KEY_BREAK  keydef("Key_Break","KEY_BREAK",KEY_BREAK,mode);#endif#ifdef KEY_DOWN  keydef("Key_Cursor_Down","KEY_DOWN",KEY_DOWN,mode);#endif#ifdef KEY_UP  keydef("Key_Cursor_Up","KEY_UP",KEY_UP,mode);#endif#ifdef KEY_LEFT  keydef("Key_Cursor_Left","KEY_LEFT",KEY_LEFT,mode);#endif#ifdef KEY_RIGHT  keydef("Key_Cursor_Right","KEY_RIGHT",KEY_RIGHT,mode);#endif#ifdef KEY_HOME  keydef("Key_Home","KEY_HOME",KEY_HOME,mode);#endif#ifdef KEY_BACKSPACE  keydef("Key_Backspace","KEY_BACKSPACE",KEY_BACKSPACE,mode);#endif#ifdef KEY_F0  keydef("Key_F0","KEY_F0",KEY_F0,mode);#endif#ifdef KEY_F  for(i=1;i<=24;i++)    {      sprintf(buf ,"Key_F%d",i);      sprintf(obuf,"KEY_F%d",i);      keydef(buf,obuf,KEY_F(i),mode);    }#endif#ifdef KEY_DL  keydef("Key_Delete_Line","KEY_DL",KEY_DL,mode);#endif#ifdef KEY_IL  keydef("Key_Insert_Line","KEY_IL",KEY_IL,mode);#endif#ifdef KEY_DC  keydef("Key_Delete_Char","KEY_DC",KEY_DC,mode);#endif#ifdef KEY_IC  keydef("Key_Insert_Char","KEY_IC",KEY_IC,mode);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区精美| 视频一区国产视频| 国产精品一色哟哟哟| 久久久国际精品| www.视频一区| 亚洲主播在线观看| 欧美一区二区三区婷婷月色| 久久99国产精品尤物| 久久久亚洲精华液精华液精华液| 成人综合日日夜夜| 一区二区三区鲁丝不卡| 欧美一级二级在线观看| 国产suv精品一区二区883| 亚洲欧美另类久久久精品2019| 欧美性生交片4| 精东粉嫩av免费一区二区三区| 欧美激情在线看| 欧美在线free| 国产一二精品视频| 亚洲四区在线观看| 日韩午夜av电影| 成年人国产精品| 日韩av电影天堂| 欧美激情中文不卡| 欧美另类高清zo欧美| 国产成人精品一区二区三区网站观看 | 国产乱码精品1区2区3区| 国产精品动漫网站| 91麻豆精品91久久久久同性| 国产999精品久久久久久绿帽| 亚洲图片欧美综合| 欧美激情一区不卡| 91精品国产美女浴室洗澡无遮挡| 国产夫妻精品视频| 亚洲成av人片在线观看无码| 中文字幕不卡在线播放| 91麻豆精品国产自产在线| 国产aⅴ精品一区二区三区色成熟| 亚洲愉拍自拍另类高清精品| 久久久国产精华| 91精品国产品国语在线不卡| 99久久免费视频.com| 精品一区二区三区免费| 亚洲成av人片| 亚洲人成7777| 日本一区二区三区高清不卡| 日韩欧美另类在线| 欧美体内she精高潮| 成人动漫中文字幕| 国精品**一区二区三区在线蜜桃| 亚洲v中文字幕| 亚洲免费三区一区二区| 国产亚洲短视频| 日韩欧美高清在线| 777xxx欧美| 欧美性大战久久| 色激情天天射综合网| 99久久婷婷国产| 成人av网址在线观看| 国产一区二区三区精品视频| 五月综合激情网| 夜色激情一区二区| 曰韩精品一区二区| 亚洲激情男女视频| 亚洲美女在线国产| 亚洲激情第一区| 亚洲精品久久嫩草网站秘色| 亚洲三级免费观看| 亚洲天堂网中文字| 亚洲天堂成人在线观看| 自拍偷自拍亚洲精品播放| 欧美激情一区二区三区蜜桃视频 | 91麻豆精品国产综合久久久久久 | 欧美r级电影在线观看| 555夜色666亚洲国产免| 在线不卡的av| 欧美日韩国产不卡| 91精品国产综合久久久久久漫画 | 欧美一区二区大片| 日韩欧美国产综合| 久久噜噜亚洲综合| 国产精品私房写真福利视频| 国产精品久久久久婷婷| 国产精品不卡视频| 亚洲天堂成人网| 亚洲国产精品麻豆| 亚洲.国产.中文慕字在线| 石原莉奈在线亚洲三区| 蜜臀av性久久久久蜜臀av麻豆| 久久99蜜桃精品| 国产99久久久精品| 色狠狠色噜噜噜综合网| 欧美欧美欧美欧美| 久久亚洲影视婷婷| 亚洲视频电影在线| 日韩专区欧美专区| 国产电影精品久久禁18| 91在线视频播放| 欧美日本在线视频| 精品福利av导航| 亚洲人成7777| 日本 国产 欧美色综合| 国产美女精品在线| 日本伦理一区二区| 日韩免费在线观看| 国产精品第13页| 日本欧美一区二区| 夫妻av一区二区| 欧美日韩国产小视频在线观看| 精品国产乱码久久久久久久| 国产精品乱人伦| 日日骚欧美日韩| 成人av资源网站| 欧美电影一区二区| 国产精品久久久久婷婷二区次| 天堂成人国产精品一区| 国产激情一区二区三区四区| 欧美丝袜第三区| 中文字幕的久久| 免费在线观看一区二区三区| 国产999精品久久久久久绿帽| 欧美亚洲尤物久久| 欧美激情中文字幕一区二区| 无码av中文一区二区三区桃花岛| 国产成人一区在线| 欧美一区二区三区四区久久| 亚洲欧洲国产日韩| 国模套图日韩精品一区二区| 欧美午夜精品电影| 一区免费观看视频| 九九久久精品视频| 欧美剧情片在线观看| 亚洲欧洲精品天堂一级| 狠狠网亚洲精品| 欧美一区二区视频网站| 亚洲激情图片一区| 成人av网址在线观看| 久久婷婷一区二区三区| 日韩精品电影在线| 欧美中文字幕亚洲一区二区va在线| 国产三级一区二区| 久久精品国产在热久久| 欧美精品久久一区| 亚洲综合激情小说| 91在线观看下载| 欧美高清在线精品一区| 麻豆91精品视频| 在线播放中文一区| 亚洲资源中文字幕| 日本道精品一区二区三区| 中文字幕一区三区| 成人天堂资源www在线| 久久视频一区二区| 经典三级在线一区| 欧美精品一区二区三| 日本欧美加勒比视频| 欧美精品第1页| 丝袜美腿成人在线| 欧美日韩在线三级| 亚洲v中文字幕| 欧美猛男gaygay网站| 亚洲h在线观看| 欧美人与z0zoxxxx视频| 五月婷婷激情综合| 5858s免费视频成人| 蜜桃一区二区三区四区| 欧美成人精品二区三区99精品| 美女网站色91| 欧美成人一区二区三区在线观看| 免费在线观看精品| 精品久久久久99| 国产精品一区二区无线| 中文字幕精品—区二区四季| 丁香婷婷深情五月亚洲| 成人免费在线视频观看| 一本色道久久综合亚洲91 | 日本一区二区免费在线| 成人午夜激情视频| 中文字幕在线不卡一区二区三区| 91一区二区三区在线播放| 一区二区三区免费网站| 欧美日韩www| 狠狠色丁香婷婷综合| 国产欧美日韩视频在线观看| 99久久久久免费精品国产| 亚洲一区二区中文在线| 欧美精品一二三四| 黑人精品欧美一区二区蜜桃| 国产精品欧美一区喷水| 欧美视频三区在线播放| 久久av中文字幕片| 国产精品视频在线看| 91久久一区二区| 久久精品国产亚洲一区二区三区| 久久久青草青青国产亚洲免观| 99久久精品国产毛片| 日韩成人一级片| 国产精品网站一区| 欧美精品日韩一区| 成人精品免费看|