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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? webrom.c

?? 嵌入式TCPIP協(xié)議棧的源代碼!
?? C
字號(hào):
/* Simple utility to prepare a ROM image of Web files. Copyright (c) Iosoft Ltd 2000
**
** This software is only licensed for distribution with the book 'TCP/IP Lean', 
** and may only be used for personal experimentation by the purchaser 
** of that book, on condition that this copyright notice is retained. 
** For commercial licensing, contact license@iosoft.co.uk
**
** This is experimental software; use it entirely at your own risk */

/*
** Files to be processed must all be in one directory
** The first entry in the ROM file directory will be INDEX.HTM
** All files are stored in ROM with an appropriate HTTP header
*/

/*
** v0.01 JPB 28/3/00
** v0.02 JPB 29/3/00 Revised file scheme with directory at start of ROM
** v0.03 JPB 30/3/00 Check for 'index.htm', put it first in filesystem
** v0.04 JPB 31/3/00 Removed data checksums and blocks
** v0.05 JPB 31/3/00 Padded files to 32-byte boundaries
** v0.06 JPB 31/3/00 Added HTML headers to all files
** v0.07 JPB 2/4/00  Removed headers again!
** v0.08 JPB 21/4/00 Added HTTP headers and TCP checksums
** v0.09 JPB 9/5/00  Changed 'SSI' to 'EGI'
**                   Added EGI flags field to ROM directory
** v0.10 JPB 12/5/00 Added EGI_HASHVARS flag
** v0.11 JPB 17/5/00 Adapted for VC6
*/

#define VERSION "0.11"

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>

#include "netutil.h"
#include "webrom.h"

#define INDEXFILE   "index.htm"
#define MAXFILES    500
#define MAXFILELEN  32000

char filenames[MAXFILES][ROM_FNAMELEN+1];
char *filehdrs[MAXFILES];

char srcepath[MAXPATH+8], srcedir[MAXPATH+8], srcefile[MAXPATH+8];
char destfile[MAXPATH+8];
int netdebug;

ROM_FNAME romfname;
char filedata[MAXFILELEN+100];

/* HTTP and HTML text */
#define HTTP_OK     "HTTP/1.0 200 OK\r\n"
#define HTTP_HTM    "Content-type: text/html\r\n"
#define HTTP_TXT    "Content-type: text/plain\r\n"
#define HTTP_GIF    "Content-type: image/gif\r\n"
#define HTTP_XBM    "Content-type: image/x-xbitmap\r\n"
#define HTTP_BLANK  "\r\n"

/* Prototypes */
unsigned readfile(char *buff, char *fname, char *hdr);
long filesize(FILE *stream);

void main(int argc, char *argv[])
{
    char *p, *fname;
    FILE *out;
    int i, nfiles=1, err=0;
    unsigned len;
    long filelen, romoff;
    WORD endw=0xffff;
    ROM_FNAME *rfp;

    printf("WEBROM v" VERSION "\n");          /* Sign on */
    printf("File sizes include HTTP headers\n");
    rfp = &romfname;
    if (argc < 3)
    {
        if (argc < 2)
            printf("No destination file specified\n");
        else
            printf("No source filepath specified\n");
        printf("e.g. WEBROM test.rom c:\\temp\\romdocs\n");
        exit(1);
    }
    strcpy(destfile, argv[1]);
    if ((p=strrchr(destfile, '.'))==0 || !isalpha(*(p+1)))
        strcat(destfile, ".ROM");
    strlwr(destfile);
    if (argv[2][0]!='\\' && argv[2][1]!=':' && argv[2][0]!='.')
        strcpy(srcepath, ".\\");
    strcat(srcepath, argv[2]);
    if (srcepath[strlen(srcepath)-1] != '\\')
        strcat(srcepath, "\\");
    strlwr(srcepath);
    strcat(strcpy(srcedir, srcepath), "*.*");

    /* First pass: get files in source directory, check for index.htm */
    if ((fname = find_first(srcedir)) != 0) do
    {
        if (strlen(fname) > ROM_FNAMELEN)
            printf("ERROR: long filename '%s' not included\n", fname);
        else if (!stricmp(fname, INDEXFILE))
        {
            strcpy(filenames[0], fname);
            strlwr(filenames[0]);
            filehdrs[0] = HTTP_OK HTTP_HTM HTTP_BLANK;
        }
        else if (strlen(fname) > 2)
        {
            strcpy(filenames[nfiles], fname);
            strlwr(filenames[nfiles]);
            filehdrs[nfiles] =
                strstr(fname, ".htm") ? HTTP_OK HTTP_HTM HTTP_BLANK :
                strstr(fname, ".egi") ? HTTP_OK HTTP_HTM HTTP_BLANK :
                strstr(fname, ".txt") ? HTTP_OK HTTP_TXT HTTP_BLANK :
                strstr(fname, ".gif") ? HTTP_OK HTTP_GIF HTTP_BLANK :
                strstr(fname, ".xbm") ? HTTP_OK HTTP_XBM HTTP_BLANK :
                HTTP_OK HTTP_BLANK;
            nfiles++;
        }
    } while ((fname = find_next()) != 0 && nfiles<MAXFILES);
    if (!filenames[0][0])
        printf("ERROR: default file '%s' not found\n", INDEXFILE);
    else if (nfiles > MAXFILES)
        printf("ERROR: only %u files allowed\n", MAXFILES);
    else if ((out=fopen(destfile, "wb"))==0)
        printf("ERROR: can't open destination file\n");
    else
    {
        /* Second pass: create ROM directory */
        printf("Creating %s using %u files from %s\n",
            destfile, nfiles, srcepath);
        romoff = nfiles * sizeof(ROM_FNAME) + 2;
        for (i=0; i<nfiles && !err; i++)
        {
            printf("%12s ", fname=filenames[i]);
            if ((len = readfile(filedata, fname, filehdrs[i])) == 0)
            {
                printf("ERROR reading file\n");
                err++;
            }
            else
            {
                printf("%5u bytes\n", len);
                rfp->start = (WORD)romoff;
                rfp->len = len;
                rfp->check = csum(filedata, (WORD)len);
                rfp->flags = strstr(fname, ".egi") ? EGI_ATVARS+EGI_HASHVARS:0;
                memset(rfp->name, 0, ROM_FNAMELEN);
                strncpy(rfp->name, fname, strlen(fname));
                fwrite(rfp, 1, sizeof(ROM_FNAME), out);
                romoff += rfp->len;
            }
        }
        fwrite(&endw, 1, 2, out);

        /* Third pass: write out file data */
        for (i=0; i<nfiles && !err; i++)
        {
            if ((len = readfile(filedata, filenames[i], filehdrs[i])) == 0)
            {
                printf("ERROR reading '%s'\n", filenames[i]);
                err++;
            }
            else
                fwrite(filedata, 1, len, out);
        }
        if (!err)
        {
            filelen = ftell(out);
            if (filelen == romoff)
                printf("\nTotal ROM    %5lu bytes\n", filelen);
            else
                printf("ERROR: ROM size %lu, file size %lu\n", romoff, filelen);
            if (ferror(out))
                printf("ERROR writing output file\n");
        }
        fclose(out);
    }
}

/* Read the HTTP header and file into buffer, return total len, 0 if error */
unsigned readfile(char *buff, char *fname, char *hdr)
{
    unsigned len;
    FILE *in;

    strcpy(buff, hdr);
    len = strlen(hdr);
    strcat(strcpy(srcefile, srcepath), fname);
    in = fopen(srcefile, "rb");
    len += fread(&buff[len], 1, MAXFILELEN, in);
    if (ferror(in))
        len = 0;
    fclose(in);
    return(len);
}

/* Return size of opened file in bytes */
long filesize(FILE *stream)
{
   long curpos, length;

   curpos = ftell(stream);
   fseek(stream, 0L, SEEK_END);
   length = ftell(stream);
   fseek(stream, curpos, SEEK_SET);
   return(length);
}

/* EOF */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕成人在线观看| 91精品国产91久久久久久最新毛片| 精品国产凹凸成av人导航| 秋霞电影一区二区| 久久久欧美精品sm网站| 成人久久18免费网站麻豆 | 日本视频一区二区| 欧美大胆人体bbbb| 国产91对白在线观看九色| 亚洲色图清纯唯美| 欧美老肥妇做.爰bbww视频| 精品系列免费在线观看| 国产精品灌醉下药二区| 在线精品视频免费播放| 美国毛片一区二区三区| 欧美激情一区二区| 欧美在线观看一区二区| 国内精品国产三级国产a久久 | 欧美一区二区三区在线电影| 国内外精品视频| 国产精品青草综合久久久久99| 欧美性淫爽ww久久久久无| 蜜臀av国产精品久久久久| 欧美国产亚洲另类动漫| 欧美日韩在线亚洲一区蜜芽| 激情综合网天天干| 一区二区三区中文在线| 欧美一级日韩免费不卡| 99热在这里有精品免费| 久久er99精品| 亚洲一区二区成人在线观看| 亚洲精品一区二区三区在线观看| 97久久精品人人澡人人爽| 捆绑变态av一区二区三区| 综合久久给合久久狠狠狠97色 | 91久久香蕉国产日韩欧美9色| 另类小说视频一区二区| 1区2区3区精品视频| 精品理论电影在线观看| 欧美三级电影在线看| 国产成人免费视频一区| 蜜臀国产一区二区三区在线播放| 亚洲女子a中天字幕| 久久久久久麻豆| 6080午夜不卡| 在线中文字幕不卡| 国产成人超碰人人澡人人澡| 日本女人一区二区三区| 一区二区三区精品久久久| 国产女主播一区| 久久综合一区二区| 欧美一二三四区在线| 欧美综合一区二区| 91欧美一区二区| 高清shemale亚洲人妖| 美腿丝袜亚洲一区| 五月婷婷综合网| 亚洲一区精品在线| 亚洲精品中文字幕乱码三区 | 亚洲欧美在线高清| 久久亚洲捆绑美女| 久久综合九色综合欧美就去吻| 欧美日韩性生活| 欧美日韩一级视频| 精品视频在线免费看| 在线影院国内精品| 在线影视一区二区三区| 在线精品国精品国产尤物884a| 一本到不卡精品视频在线观看| 懂色av中文一区二区三区| 国产精品69毛片高清亚洲| 国产精品123区| 国产精品自拍三区| 粗大黑人巨茎大战欧美成人| 高清视频一区二区| 不卡一区在线观看| av激情亚洲男人天堂| 99综合电影在线视频| av高清久久久| 在线观看91视频| 欧美影院精品一区| 欧美日韩中文字幕一区| 91精品在线免费观看| 欧美大片在线观看一区二区| 日韩精品最新网址| 国产日韩欧美一区二区三区综合| 久久久国产午夜精品 | 欧美最猛性xxxxx直播| 在线观看av不卡| 欧美一区二区日韩| 久久精品一区八戒影视| 国产精品久久精品日日| 亚洲欧美激情一区二区| 亚洲成人综合网站| 久久精品99国产精品日本| 国产盗摄精品一区二区三区在线| 北条麻妃一区二区三区| 在线中文字幕一区二区| 日韩亚洲欧美在线| 中文字幕不卡在线播放| 亚洲高清中文字幕| 国产一区在线视频| 一本色道久久综合狠狠躁的推荐| 欧美日本在线播放| 2020国产精品自拍| 一区二区三区在线免费| 老司机精品视频一区二区三区| 成人精品一区二区三区四区| 欧美主播一区二区三区美女| 欧美va亚洲va香蕉在线 | 一个色妞综合视频在线观看| 日韩二区三区四区| 99国产精品一区| 这里只有精品99re| 中文久久乱码一区二区| 婷婷国产在线综合| 成人网页在线观看| 日韩一区二区中文字幕| 中文字幕在线不卡一区| 久久不见久久见免费视频7| 99久久精品国产麻豆演员表| 欧美一区二区网站| 亚洲免费高清视频在线| 久久精品99久久久| 欧美综合在线视频| 国产精品久久久久久妇女6080| 日韩精品一卡二卡三卡四卡无卡| 国产福利电影一区二区三区| 精品视频一区二区三区免费| 中文字幕不卡一区| 精品一区二区三区在线观看| 欧美体内she精视频| 日本一区二区三区免费乱视频| 亚洲1区2区3区4区| 93久久精品日日躁夜夜躁欧美| 日韩精品一区二区三区swag| 亚洲精品国产a| 成人精品国产福利| 日韩午夜激情免费电影| 亚洲国产另类精品专区| 91最新地址在线播放| 久久综合国产精品| 久久成人羞羞网站| 欧美精品日日鲁夜夜添| 一区二区三区蜜桃网| gogogo免费视频观看亚洲一| 精品国偷自产国产一区| 日韩精品一二三| 欧美日韩精品一区二区三区蜜桃 | 夜夜精品浪潮av一区二区三区| 国产成人午夜精品5599| 精品粉嫩超白一线天av| 蜜桃av一区二区| 欧美成人video| 青青青爽久久午夜综合久久午夜| 精品婷婷伊人一区三区三| 亚洲一区在线视频观看| 91福利国产精品| 亚洲精品五月天| 99久久99久久精品免费观看| 欧美国产乱子伦| 大桥未久av一区二区三区中文| 国产午夜一区二区三区| 国产精品一区二区你懂的| 久久久99免费| 东方aⅴ免费观看久久av| 国产精品美女久久久久久久久久久| 国产伦精品一区二区三区视频青涩| 337p粉嫩大胆噜噜噜噜噜91av| 精品一区二区在线观看| 久久亚洲一区二区三区明星换脸| 久久精品国产亚洲5555| 久久这里只有精品6| 国产一区二区三区黄视频| 久久久久久一级片| 成人精品一区二区三区中文字幕| 国产午夜一区二区三区| 波波电影院一区二区三区| 亚洲欧美另类久久久精品| 欧美丝袜丝交足nylons图片| 亚洲v精品v日韩v欧美v专区| 欧美高清视频不卡网| 麻豆成人在线观看| 欧美国产欧美综合| 91久久精品午夜一区二区| 一卡二卡三卡日韩欧美| 欧美一级xxx| 国产精品一区二区视频| 亚洲视频在线一区观看| 欧美日韩成人综合天天影院| 青青草原综合久久大伊人精品优势| 精品国产伦一区二区三区观看体验 | 欧美日韩精品免费观看视频| 日韩av网站在线观看| 久久久不卡影院| 日本黄色一区二区| 六月丁香综合在线视频| 中文字幕五月欧美| 日韩一区二区麻豆国产| 粉嫩av一区二区三区在线播放|