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

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

?? rock.c

?? 刻錄光盤的程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* * File rock.c - generate RRIP  records for iso9660 filesystems.   Written by Eric Youngdale (1993).   Copyright 1993 Yggdrasil Computing, Incorporated   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, 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., 675 Mass Ave, Cambridge, MA 02139, USA.  */static char rcsid[] ="$Id: rock.c,v 1.8 1999/03/02 03:41:26 eric Exp $";#include "config.h"#include <stdlib.h>#include <unixstd.h>#include <device.h>#include "mkisofs.h"#include "iso9660.h"#include <string.h>#ifdef	DOESNT_WORK#ifdef NON_UNIXFS/* * This is the dead code */#define S_ISLNK(m)	(0)#else#ifndef S_ISLNK#define S_ISLNK(m)	(((m) & S_IFMT) == S_IFLNK)#endif#endif#else/* * This is the new code */#include <statdefs.h>#endif#ifdef	USE_LIBSCHILY#include <standard.h>#endif#define SU_VERSION 1#define SL_ROOT    8#define SL_PARENT  4#define SL_CURRENT 2#define SL_CONTINUE 1#define CE_SIZE 28#define CL_SIZE 12#define ER_SIZE 8#define NM_SIZE 5#define PL_SIZE 12#define PN_SIZE 20#define PX_SIZE 36#define RE_SIZE 4#define SL_SIZE 20#define ZZ_SIZE 15#ifdef __QNX__#define TF_SIZE (5 + 4 * 7)#else#define TF_SIZE (5 + 3 * 7)#endif/* If we need to store this number of bytes, make sure we   do not box ourselves in so that we do not have room for   a CE entry for the continuation record */#define MAYBE_ADD_CE_ENTRY(BYTES) \    (BYTES + CE_SIZE + currlen + (ipnt - recstart) > reclimit ? 1 : 0) /* * Buffer to build RR attributes */static unsigned char Rock[16384];static unsigned char symlink_buff[256];static int ipnt = 0;static int recstart = 0;static int currlen = 0;static int mainrec = 0;static int reclimit;static void add_CE_entry	__PR((void));static void add_CE_entry(){          if(recstart)	    set_733((char*)Rock + recstart - 8, ipnt + 28 - recstart);	  Rock[ipnt++] ='C';	  Rock[ipnt++] ='E';	  Rock[ipnt++] = CE_SIZE;	  Rock[ipnt++] = SU_VERSION;	  set_733((char*)Rock + ipnt, 0);	  ipnt += 8;	  set_733((char*)Rock + ipnt, 0);	  ipnt += 8;	  set_733((char*)Rock + ipnt, 0);	  ipnt += 8;	  recstart = ipnt;	  currlen = 0;	  if(!mainrec) mainrec = ipnt;	  reclimit = SECTOR_SIZE - 8; /* Limit to one sector */}#ifdef __STDC__int generate_rock_ridge_attributes (char * whole_name, char * name,				    struct directory_entry * s_entry,				    struct stat * statbuf,				    struct stat * lstatbuf,				    int deep_opt)#elseint generate_rock_ridge_attributes (whole_name, name,				    s_entry,				    statbuf,				    lstatbuf,				    deep_opt)char * whole_name; char * name; struct directory_entry * s_entry;struct stat * statbuf, *lstatbuf;int deep_opt;#endif{  int flagpos, flagval;  int need_ce;  statbuf = statbuf;        /* this shuts up unreferenced compiler warnings */  mainrec = recstart = ipnt = 0;  reclimit = 0xf8;  /* no need to fill in the RR stuff if we won't see the file */  if (s_entry->de_flags & INHIBIT_ISO9660_ENTRY)    return 0;  /* Obtain the amount of space that is currently used for the directory     record.  Assume max for name, since name conflicts may cause us     to rename the file later on */  currlen = sizeof(s_entry->isorec);  /* Identify that we are using the SUSP protocol */  if(deep_opt & NEED_SP){	  Rock[ipnt++] ='S';	  Rock[ipnt++] ='P';	  Rock[ipnt++] = 7;	  Rock[ipnt++] = SU_VERSION;	  Rock[ipnt++] = 0xbe;	  Rock[ipnt++] = 0xef;	  Rock[ipnt++] = 0;  };  /* First build the posix name field */  Rock[ipnt++] ='R';  Rock[ipnt++] ='R';  Rock[ipnt++] = 5;  Rock[ipnt++] = SU_VERSION;  flagpos = ipnt;  flagval = 0;  Rock[ipnt++] = 0;   /* We go back and fix this later */  if(strcmp(name,".")  && strcmp(name,"..")){    char * npnt;    int remain, use;    remain = strlen(name);    npnt = name;    while(remain){          use = remain;	  need_ce = 0;	  /* Can we fit this SUSP and a CE entry? */	  if(use + currlen + CE_SIZE + (ipnt - recstart) > reclimit) {	    use = reclimit - currlen - CE_SIZE - (ipnt - recstart);	    need_ce++;	  }	  /* Only room for 256 per SUSP field */	  if(use > 0xf8) use = 0xf8;	  /* First build the posix name field */	  Rock[ipnt++] ='N';	  Rock[ipnt++] ='M';	  Rock[ipnt++] = NM_SIZE + use;	  Rock[ipnt++] = SU_VERSION;	  Rock[ipnt++] = (remain != use ? 1 : 0);	  flagval |= (1<<3);	  strncpy((char *)&Rock[ipnt], npnt, use);	  npnt += use;	  ipnt += use;	  remain -= use;	  if(remain && need_ce) add_CE_entry();	};  };  /*   * Add the posix modes    */  if(MAYBE_ADD_CE_ENTRY(PX_SIZE)) add_CE_entry();  Rock[ipnt++] ='P';  Rock[ipnt++] ='X';  Rock[ipnt++] = PX_SIZE;  Rock[ipnt++] = SU_VERSION;    flagval |= (1<<0);  set_733((char*)Rock + ipnt, lstatbuf->st_mode);  ipnt += 8;  set_733((char*)Rock + ipnt, lstatbuf->st_nlink);  ipnt += 8;  set_733((char*)Rock + ipnt, lstatbuf->st_uid);  ipnt += 8;  set_733((char*)Rock + ipnt, lstatbuf->st_gid);  ipnt += 8;  /*   * Check for special devices   */#if	defined(S_IFCHR) || defined(S_IFBLK)#ifndef NON_UNIXFS  if (S_ISCHR(lstatbuf->st_mode) || S_ISBLK(lstatbuf->st_mode)) {    if(MAYBE_ADD_CE_ENTRY(PN_SIZE)) add_CE_entry();    Rock[ipnt++] ='P';    Rock[ipnt++] ='N';    Rock[ipnt++] = PN_SIZE;    Rock[ipnt++] = SU_VERSION;      flagval |= (1<<1);#if 1    /*     * This is the new and only code which uses <device.h>     */    set_733((char*)Rock + ipnt, major(lstatbuf->st_rdev ));    ipnt += 8;    set_733((char*)Rock + ipnt, minor(lstatbuf->st_rdev));    ipnt += 8;#else    /*     * If we don't have sysmacros.h, then we have to guess as to how     * best to pick apart the device number for major/minor.     * Note: this may very well be wrong for many systems, so     * it is always best to use the major/minor macros if the     * system supports it.     */    if(sizeof(dev_t) <= 2) {        set_733((char*)Rock + ipnt, (lstatbuf->st_rdev >> 8));        ipnt += 8;        set_733((char*)Rock + ipnt, lstatbuf->st_rdev & 0xff);        ipnt += 8;    }    else if(sizeof(dev_t) <= 4) {        set_733((char*)Rock + ipnt, (lstatbuf->st_rdev >> 8) >> 8);        ipnt += 8;        set_733((char*)Rock + ipnt, lstatbuf->st_rdev & 0xffff);        ipnt += 8;    }    else {        set_733((char*)Rock + ipnt, (lstatbuf->st_rdev >> 16) >> 16);        ipnt += 8;        set_733((char*)Rock + ipnt, lstatbuf->st_rdev);        ipnt += 8;    }#endif  };#endif#endif	/* defined(S_IFCHR) || defined(S_IFBLK) */  /*   * Check for and symbolic links.  VMS does not have these.   */#ifdef S_IFLNK  if (S_ISLNK(lstatbuf->st_mode)){    int lenpos, lenval, j0, j1;    int nchar;    unsigned char * cpnt, *cpnt1;#ifdef	HAVE_READLINK    nchar = readlink(whole_name, (char *)symlink_buff, sizeof(symlink_buff));#else    nchar = -1;#endif	/* HAVE_READLINK */    symlink_buff[nchar < 0 ? 0 : nchar] = 0;    nchar = strlen((char *) symlink_buff);    set_733(s_entry->isorec.size, 0);    cpnt = &symlink_buff[0];    flagval |= (1<<2);    if (! split_SL_field)       {	int sl_bytes = 0;	for (cpnt1 = cpnt; *cpnt1 != '\0'; cpnt1++) 	  {	    if (*cpnt1 == '/') 	      {		sl_bytes += 4;	      } 	    else 	      {		sl_bytes += 1;	      }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲精品7777| 17c精品麻豆一区二区免费| 国产高清不卡一区二区| av激情综合网| 国产a精品视频| 国产一区视频在线看| 黄网站免费久久| 国产精品一二三区在线| 国产激情精品久久久第一区二区| 免费久久精品视频| 寂寞少妇一区二区三区| 国产综合成人久久大片91| 国产精一品亚洲二区在线视频| 精品写真视频在线观看| 国产精品资源站在线| 成人免费看视频| 91免费看`日韩一区二区| 色综合中文综合网| 丰满白嫩尤物一区二区| 高潮精品一区videoshd| 成人av免费在线播放| 91在线观看下载| 色av成人天堂桃色av| 91久久精品一区二区三| 精品污污网站免费看| 制服丝袜激情欧洲亚洲| 久久久午夜电影| 综合av第一页| 日韩精品免费视频人成| 精品一区二区在线视频| 91精品国产色综合久久不卡蜜臀 | 久久夜色精品一区| 国产精品女人毛片| 亚洲成人黄色影院| 国产美女一区二区三区| 欧美色手机在线观看| 久久久久久久久伊人| 一区二区理论电影在线观看| 久久国产日韩欧美精品| av亚洲精华国产精华精| 91精品国产入口在线| 国产精品入口麻豆九色| 午夜成人在线视频| 不卡欧美aaaaa| 日韩午夜激情av| 亚洲一区在线电影| 国产精品一区二区91| 欧美日韩大陆一区二区| 日韩毛片视频在线看| 国产一区在线观看视频| 欧美丰满少妇xxxxx高潮对白| 久久久久九九视频| 日本不卡一区二区三区高清视频| 成人av资源在线| 久久久国产精品不卡| 亚洲线精品一区二区三区八戒| 国产成人夜色高潮福利影视| 337p亚洲精品色噜噜狠狠| 自拍偷拍亚洲激情| 国产成人免费视频网站 | 国产亚洲精品中文字幕| 天天色图综合网| 91久久精品网| 欧美国产乱子伦 | 亚洲国产精品ⅴa在线观看| 秋霞成人午夜伦在线观看| 欧美性猛交xxxxxxxx| 亚洲六月丁香色婷婷综合久久| 黑人巨大精品欧美黑白配亚洲| 欧美日韩免费在线视频| 亚洲视频在线一区| 99精品视频中文字幕| 国产精品女同一区二区三区| 岛国精品一区二区| 久久久久久99久久久精品网站| 这里只有精品电影| 色哦色哦哦色天天综合| 成人av在线电影| 久久久99久久| 国内精品自线一区二区三区视频| 亚洲男同性恋视频| 色香蕉成人二区免费| 亚洲欧美日韩人成在线播放| av在线不卡电影| 亚洲免费成人av| 欧美性生活一区| 亚洲综合一二三区| 欧美高清精品3d| 麻豆91精品视频| 精品99一区二区| 成人一级视频在线观看| 国产精品久久久久久久浪潮网站| 成人激情免费视频| 亚洲精品国产品国语在线app| 91成人网在线| 日韩电影免费在线| 久久影院午夜片一区| 播五月开心婷婷综合| 亚洲精品五月天| 欧美一区二区三区视频在线 | 欧美精品少妇一区二区三区| 日韩黄色免费电影| 久久免费国产精品| 日本高清视频一区二区| 天天做天天摸天天爽国产一区| 欧美一级欧美三级在线观看| 国产在线观看免费一区| 18成人在线观看| 欧美一区二区三区在线观看视频 | 亚洲国产综合人成综合网站| 欧美一区二区啪啪| 成人三级伦理片| 天天综合网 天天综合色| 国产亚洲福利社区一区| 色狠狠一区二区三区香蕉| 老司机免费视频一区二区 | 色狠狠桃花综合| 国产综合色在线| 亚洲激情中文1区| 久久久五月婷婷| 精品视频全国免费看| 国产自产v一区二区三区c| 亚洲精品一二三四区| 久久综合九色综合97_久久久| 91麻豆国产精品久久| 日本视频一区二区| 亚洲精品国产精品乱码不99| 久久综合色播五月| 欧美日韩免费观看一区三区| 国内精品国产成人国产三级粉色 | 中文字幕中文字幕一区二区 | 精品久久久久久无| 久久99精品国产麻豆婷婷| 日韩免费观看高清完整版在线观看| 成人午夜电影网站| 日本视频一区二区三区| 亚洲自拍与偷拍| 国产精品美女视频| 久久久五月婷婷| 欧美第一区第二区| 91精品国产福利在线观看| 色综合久久久网| 91亚洲精品一区二区乱码| 国产成人精品影院| 国产资源在线一区| 国产在线精品一区二区三区不卡| 偷窥少妇高潮呻吟av久久免费| 亚洲人成人一区二区在线观看 | 国产精品久久久久久妇女6080| 欧美福利视频一区| 欧美色老头old∨ideo| 欧美制服丝袜第一页| 91天堂素人约啪| 91在线视频免费观看| 91色|porny| 日本高清不卡在线观看| 99久久久国产精品| 色综合欧美在线| 色素色在线综合| 欧美午夜片在线观看| 精品视频999| 91精品国产综合久久国产大片| 91麻豆精品国产无毒不卡在线观看| 欧美精品在线一区二区| 欧美精品久久久久久久多人混战| 欧美性大战xxxxx久久久| 欧美日韩免费观看一区二区三区| 在线观看日韩国产| 欧美一区二区三区在线观看| 欧美xxxxxxxxx| 国产欧美日韩激情| 国产精品久久久久影院色老大| 国产精品国产三级国产aⅴ原创| 自拍偷拍国产精品| 午夜av一区二区| 激情综合色综合久久综合| 国产成人aaa| 欧美无人高清视频在线观看| 制服.丝袜.亚洲.另类.中文| 久久这里只有精品首页| 中文字幕av不卡| 亚洲综合在线第一页| 久久精品久久精品| 成人一区在线观看| 欧美美女黄视频| 久久久久久久久久看片| 中文字幕一区二区三区四区不卡| 一区二区三区中文字幕在线观看| 亚洲国产综合人成综合网站| 国产一区二区视频在线播放| 91色视频在线| 欧美精品一区二区久久久| 亚洲欧美日韩国产成人精品影院| 丝袜美腿一区二区三区| 丁香激情综合国产| 欧美一区二区免费| 亚洲精品日韩专区silk| 国产一区二区在线影院| 欧美综合一区二区| 国产三级精品在线|