⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1043.html

📁 著名的linux英雄站点的文档打包
💻 HTML
📖 第 1 页 / 共 4 页
字号:
FD_SET(int fd, fd_set *set);  <br>
FD_ZERO(fd_set *set);  <br>
<br>
FD_ZERO清除所有fd_set。  <br>
FD_SET将fd加入fd_set中。  <br>
FD_CLR将fd从fd_set中移除。  <br>
FD_ISSET检查fd是否属於该fd_set。  <br>
<br>
struct timeval {  <br>
  int tv_sec;  <br>
  int tv_usec;  <br>
};  <br>
 <br>
 <br>
Linux程式设计-16.TarBall <br>
http://www.openchess.org/noitatsko/programming/ (2001-05-26 14:08:00) <br>
<br>
我写了一个targz的函数库,专门处理档案安装的事宜,这个函数库在我写的X Corona Package Installer中使用到。它与zlib一起使用。  <br>
targz.h  <br>
targz.c  <br>
<br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
typedef struct {  <br>
  char name[100];  <br>
  char mode[8];  <br>
  char uid[8];  <br>
  char gid[8];  <br>
  char size[12];  <br>
  char mtime[12];  <br>
  char chksum[8];  <br>
  char typeflag;  <br>
  char linkname[100];  <br>
  char magic[6];  <br>
  char version[2];  <br>
  char uname[32];  <br>
  char gname[32];  <br>
  char devmajor[8];  <br>
  char devminor[8];  <br>
  char prefix[155];  <br>
} TarEntry;  <br>
   <br>
GNU Tar档案格式  <br>
<br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
typedef struct {  <br>
  char *      Package;  <br>
  char *      FileName;  <br>
  char *      path;  <br>
  gzFile      fp;  <br>
  int         size;  <br>
  int         totalsize;  <br>
  int         expanding;  <br>
  int         mode;  <br>
  int         result;  <br>
  TarEntry ** NAME;  <br>
} TarBall;  <br>
   <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
TarBall * tgzOpen(char * Filename,char * mode);  <br>
开启一个tarball档,档名为Filename。  <br>
mode  <br>
"r":为读取模式。  <br>
"w":为写入模式。  <br>
<br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
int       tgzLookup(TarBall * tgz);  <br>
撷取tarball内档案资讯。  <br>
<br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
int       tgzClose(TarBall * tgz);  <br>
关闭tarball档。  <br>
<br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
int       tgzExpand(TarBall * tgz);  <br>
解开档案。  <br>
<br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
int       tgzSkip(TarBall * tgz);  <br>
   <br>
跳过下一个档案,不安装。  <br>
<br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
int       tgzAppend(TarBall * tgz,char *FileName);  <br>
新增档案到tarball中,必须要是Write Mode <br>
 <br>
Linux程式设计-17.SVGALIB <br>
http://www.openchess.org/noitatsko/programming/ (2001-05-26 15:00:00) <br>
SvgaLib是Linux Console下的VGA驱动函数库。虽然它的品质还是有点低,支援的萤幕卡种类不算太多,但是有许多的游戏及程式都是用它来做开发,可以算是非官方的标准了。如果您准备要在Console下撰写图形功能的程式,目前来说SVGALIB是您唯一的选择。目前使用SVGALIB的程式有许多,中文终端机使用SVGALIB的就有a4c.tty/yact/bcs16。  <br>
这里我只讲一些简单的使用方法,如启动vga及mouse的使用。要有效地、高阶的运用,技巧杂很多,例如a4c.tty就另外往上架一层Star Window Manager,来管理一个小型视窗系统。  <br>
<br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
vga  <br>
   <br>
vgamouse  <br>
   <br>
<br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
int vga_setmode(int mode);  <br>
int vga_hasmode(int mode);  <br>
int vga_setpalette(int index, int red, int green, int blue);  <br>
int vga_getpalette(int index, int *red, int *green, int *blue);  <br>
int vga_setcolor(int color);  <br>
int vga_drawpixel(int x, int y);  <br>
int vga_drawline(int x1, int y1, int x2, int y2);  <br>
int vga_getpixel(int x, int y);  <br>
vga_modeinfo *vga_getmodeinfo(int mode);  <br>
<br>
unsigned char *graph_mem;  <br>
unsigned char *vga_getgraphmem(void);  <br>
<br>
void vga_setpage(int p);  <br>
void vga_setreadpage(int p);  <br>
void vga_setreadpage(int p);  <br>
void vga_setwritepage(int p);  <br>
void vga_setdisplaystart(int a);  <br>
void vga_waitretrace(void);  <br>
int vga_init(void);  <br>
int vga_setrgbcolor(int r, int g, int b);  <br>
   <br>
   <br>
<br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
#define TEXT         0          /* Compatible with VGAlib v1.2 */  <br>
#define G320x200x16  1  <br>
#define G640x200x16  2  <br>
#define G640x350x16  3  <br>
#define G640x480x16  4  <br>
#define G320x200x256 5  <br>
#define G320x240x256 6  <br>
#define G320x400x256 7  <br>
#define G360x480x256 8  <br>
#define G640x480x2   9  <br>
#define G640x480x256 10  <br>
#define G800x600x256 11  <br>
#define G1024x768x256 12  <br>
<br>
#define G1280x1024x256 13       /* Additional modes. */  <br>
<br>
#define G320x200x32K 14  <br>
#define G320x200x64K 15  <br>
#define G320x200x16M 16  <br>
#define G640x480x32K 17  <br>
#define G640x480x64K 18  <br>
#define G640x480x16M 19  <br>
#define G800x600x32K 20  <br>
#define G800x600x64K 21  <br>
#define G800x600x16M 22  <br>
#define G1024x768x32K 23  <br>
#define G1024x768x64K 24  <br>
#define G1024x768x16M 25  <br>
#define G1280x1024x32K 26  <br>
#define G1280x1024x64K 27  <br>
#define G1280x1024x16M 28  <br>
<br>
#define G800x600x16 29  <br>
#define G1024x768x16 30  <br>
#define G1280x1024x16 31  <br>
<br>
#define G720x348x2 32           /* Hercules emulation mode */  <br>
<br>
#define G320x200x16M32 33       /* 32-bit per pixel modes. */  <br>
#define G640x480x16M32 34  <br>
#define G800x600x16M32 35  <br>
#define G1024x768x16M32 36  <br>
#define G1280x1024x16M32 37  <br>
<br>
/* additional resolutions */  <br>
#define G1152x864x16 38  <br>
#define G1152x864x256 39  <br>
#define G1152x864x32K 40  <br>
#define G1152x864x64K 41  <br>
#define G1152x864x16M 42  <br>
#define G1152x864x16M32 43  <br>
<br>
#define G1600x1200x16 44  <br>
#define G1600x1200x256 45  <br>
#define G1600x1200x32K 46  <br>
#define G1600x1200x64K 47  <br>
#define G1600x1200x16M 48  <br>
#define G1600x1200x16M32 49  <br>
<br>
typedef struct {  <br>
   int width;  <br>
   int height;  <br>
   int bytesperpixel;  <br>
   int colors;  <br>
   int linewidth;          /* scanline width in bytes */  <br>
   int maxlogicalwidth;    /* maximum logical scanline width */  <br>
   int startaddressrange;  /* changeable bits set */  <br>
   int maxpixels;          /* video memory / bytesperpixel */  <br>
   int haveblit;           /* mask of blit functions available */  <br>
   int flags;              /* other flags */  <br>
   <br>
   /* Extended fields: */  <br>
   <br>
   int chiptype;           /* Chiptype detected */  <br>
   int memory;             /* videomemory in KB */  <br>
   int linewidth_unit;     /* Use only a multiple of this as parameter for set_displaystart */  <br>
   char *linear_aperture;  /* points to mmap secondary mem aperture of car  <br>
   int aperture_size;      /* size of aperture in KB if size&gt;=videomemory.  <br>
   void (*set_aperture_page) (int page);  <br>
   /* if aperture_size   void *extensions;       /* points to copy of eeprom for mach32 */  <br>
   /* depends from actual driver/chiptype.. etc. */  <br>
} vga_modeinfo;  <br>
 <br>
 <br>
Linux程式设计-18.Dialog (1)前言 <br>
http://www.openchess.org/noitatsko/programming/ (2001-05-26 17:04:00) <br>
dialog是个shell scripts用的,事实上当您下载Linux Kernel时,里面有个scripts/lxdialog目录,其实那就是dialog原始码,只是Linux kernel为了避免与原有dialog相突,将名字修改为lxdialog。当您使用"make menuconfig"时,便是在用dialog这套工具。另外,Slackware的安装程式,事实上也是用dialog这套工具来做界面的。  <br>
您可以利用shell script来呼叫dialog,也可以利用perl来呼叫它,用以提供较友善的使用者界面。  <br>
<br>
利用dialog这个工具,您可以在不需要写"艰深"的ncurses的程式的状况下,使用Shell Script,完成很杂的操作界面,大大减少产品开发时间。  <br>
<br>
 Linux程式设计-19.gpm <br>
http://www.openchess.org/noitatsko/programming/ (2001-05-27 12:10:00) <br>
<br>
<br>
gpm是Linux console下的滑鼠驱动程式,它主要提供文字模式下的滑鼠事件处理。Linux下文字界面的滑鼠几乎都是用gpm来处理。  <br>
gpm的文件在gpm原始码的doc目录中,详细的说明可参考该目录中的文件gpm programming guide,此处只提供给您KickStart的一些技巧及一些参考说明。  <br>
<br>
特别注意到以下的例,需在console下执行,不可在X Window的 Terminal下执行。  <br>
<br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
例 : gpm_mouse.c <br>
gpm原始码中有一个mev.c的程式,主要用来测试滑鼠状态。事实上,mev.c是个很好的例,本例便是取自mev.c,经过简化修改而来。  <br>
#include   <br>
#include   <br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -