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

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

?? auto_output.c

?? openmap java寫的開源數字地圖程序. 用applet實現,可以像google map 那樣放大縮小地圖.
?? C
字號:
/* ********************************************************************** *  * <copyright> *  *  BBN Technologies, a Verizon Company *  10 Moulton Street *  Cambridge, MA 02138 *  (617) 873-8000 *  *  Copyright (C) BBNT Solutions LLC. All rights reserved. *  * </copyright> * ********************************************************************** *  * $Source: /cvs/distapps/openmap/src/cserver/toolLib/src/auto_output.c,v $ * $RCSfile: auto_output.c,v $ * $Revision: 1.2 $ * $Date: 2004/01/26 19:07:10 $ * $Author: dietrick $ *  * ********************************************************************** *//* SYSTEM HEADER FILES */#ifdef _AIX#include <sys/select.h>#endif#include <sys/types.h>#include <errno.h>#include <stdio.h> /* TOOL HEADER FILES */#include "compat.h"#define DEBUG_ME        "DEBUG_TOOLLIB"#include "debugging.h"#include "style.h"#include "error_hand.h"#include "buffers.h"#include "sockets.h"/* LOCAL HEADER FILES */#include "plumbing.h"#include "auto_output.h"DebugVariable(autooutput, "autooutput", 0x01);/* * From sys/types.h */#define MaxFds          FD_SETSIZE#define LegalFd(fd)     ((fd) >= 0 && (fd) < MaxFds)static int initialized = 0;typedef struct autoOutputBuf{    char        *data;    int         fd;    int         bytesToSend;    int         bytesAlreadySent;    int         restartFlag;        char        *clientData;        AutoOutputBufCBProc callback;    const char  *callbackName;} AutoOutputBuf;static AutoOutputBuf obufs[MaxFds];static int AutoEmpty(int fd, char *clientData);char *obufinfo(int fd){    static char foo[128];    if(initialized == 0) InitAutoOutputBufs();    sprintf(foo, "%d, %d, %d, %s",             obufs[fd].fd,            obufs[fd].bytesToSend,            obufs[fd].bytesAlreadySent,            obufs[fd].callbackName);    return(foo);}int InitAutoOutputBufs(){    int fd;        if(initialized != 0)        return(NormalReturn);    initialized = 1;        for(fd = 0; fd < MaxFds; fd++)    {        obufs[fd].fd               = -1;        obufs[fd].data             = (char *) 0;        obufs[fd].bytesToSend      = 0;        obufs[fd].bytesAlreadySent = 0;        obufs[fd].restartFlag      = 0;        obufs[fd].clientData       = (char *) 0;        obufs[fd].callback         = (AutoOutputBufCBProc) 0;        obufs[fd].callbackName     = "No Output Callback";    }    return(NormalReturn);}int CancelAutoOutput(int fd){    int bytesAlreadySent;        if(initialized == 0) InitAutoOutputBufs();    if(Debug(autooutput))    {        sprintf(msgBuf, "CancelAutoOutput(%d)", fd);        DEBUG_MESSAGE(msgBuf);    }    if(!LegalFd(fd))    {        if(Debug(autooutput))        {            sprintf(msgBuf, "fd %d out of range (0, %d)", fd, MaxFds);            DEBUG_MESSAGE(msgBuf);        }                return(ErrorReturn);    }    bytesAlreadySent = obufs[fd].bytesAlreadySent;    DisconnectOutputFd(fd);        obufs[fd].fd = -1;        return(bytesAlreadySent);}void FlushAutoOutput(int fd){    CancelAutoOutput(fd);    FreeBuffer(obufs[fd].data);    obufs[fd].data = (char *) 0;}int StartAutoOutput(                    int fd,                    char *data,                    int bytesToSend,                    char *clientData,                    AutoOutputBufCBProc callback,                    const char *callbackName){    if(initialized == 0) InitAutoOutputBufs();    if(Debug(autooutput))       {        sprintf(msgBuf, "StartAutoOutput(%d, 0x%x, %d, 0x%x, 0x%x, %s)",                fd, data, bytesToSend, clientData, callback, callbackName);        DEBUG_MESSAGE(msgBuf);    }        if(!LegalFd(fd))    {        if(Debug(autooutput))        {            sprintf(msgBuf, "fd %d out of range (0, %d)", fd, MaxFds);            DEBUG_MESSAGE(msgBuf);        }                return(ErrorReturn);    }        if(obufs[fd].fd != -1)        obufs[fd].restartFlag = 1;    else        obufs[fd].restartFlag = 0;        obufs[fd].fd               = fd;    obufs[fd].data             = data;    obufs[fd].bytesToSend      = bytesToSend;    obufs[fd].bytesAlreadySent = 0;    obufs[fd].clientData       = clientData;    obufs[fd].callback         = callback;    obufs[fd].callbackName     = callbackName;    ConnectOutputFd(fd, AutoEmpty, "AutoEmpty", (char *) 0);        /*     * Took this out 1/18/93     * It causes mucho recursion if it's in     */    /* AutoEmpty(fd, (char *) 0); */        return(fd);}/* ARGSUSED */static int AutoEmpty(int fd, char *clientData){    int status;    int result;    int bytesStillToSend;        /*     * What's left to send out?     */    bytesStillToSend = (obufs[fd].bytesToSend - obufs[fd].bytesAlreadySent);    /*     * Send as much as possible     */    result = socket_nb_send(fd,                            &(obufs[fd].data[obufs[fd].bytesAlreadySent]),                            bytesStillToSend);    /*     * Check to make sure there was no grievous error     */    if(result < 0)    {        if(errno != EPIPE)            result = socket_test(fd);        if(result < 0)        {            if(Debug(autooutput))            {                sprintf(msgBuf, "AutoEmpty(%d ...) socket died, calling %s",                        fd, obufs[fd].callbackName);                DEBUG_MESSAGE(msgBuf);            }            if(obufs[fd].callback)            {                status = (* (obufs[fd].callback))(obufs[fd].clientData,                                                  obufs[fd].bytesAlreadySent,                                                  obufs[fd].data,                                                  False);            }            else            {                status = ErrorReturn;            }                        if(obufs[fd].restartFlag == 0)                CancelAutoOutput(fd);                        return(status);        }    }    else    {        obufs[fd].bytesAlreadySent += result;    }     /*     * Are we done yet?     */    if(obufs[fd].bytesAlreadySent >= obufs[fd].bytesToSend)    {        if(Debug(autooutput))        {            sprintf(msgBuf, "AutoEmpty(%d ...) emptied, calling %s",                    fd, obufs[fd].callbackName);            DEBUG_MESSAGE(msgBuf);        }        if(obufs[fd].callback)        {            status = (* (obufs[fd].callback))(obufs[fd].clientData,                                              obufs[fd].bytesAlreadySent,                                              obufs[fd].data,                                              True);            if(status == ErrorReturn)                return(status);        }                if(obufs[fd].restartFlag == 0            || obufs[fd].bytesAlreadySent >= obufs[fd].bytesToSend)            CancelAutoOutput(fd);    }        return(NormalReturn);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区久久久| 在线观看日韩电影| 色网综合在线观看| 欧美一级欧美三级在线观看| 久久精品视频免费| 亚洲福中文字幕伊人影院| 国产精品69久久久久水密桃| 欧美私人免费视频| 日本一二三不卡| 久久99精品国产91久久来源| 在线视频你懂得一区二区三区| 欧美精品一区二区三区很污很色的| 亚洲蜜桃精久久久久久久| 韩国一区二区三区| 欧美久久免费观看| 亚洲黄色小说网站| 99精品黄色片免费大全| 久久久精品综合| 另类专区欧美蜜桃臀第一页| 欧美系列在线观看| 亚洲欧美区自拍先锋| 大白屁股一区二区视频| 欧美成人精品二区三区99精品| 亚洲第一福利一区| 色呦呦日韩精品| 亚洲婷婷国产精品电影人久久| 国产成人自拍网| 久久精品一区二区三区av| 毛片av一区二区| 91精品国产一区二区| 亚洲一区二区三区视频在线播放 | 岛国一区二区三区| 欧美精品一区二区精品网| 免费看欧美女人艹b| 制服丝袜亚洲播放| 日韩av中文字幕一区二区三区| 欧美伊人久久大香线蕉综合69 | 97se亚洲国产综合自在线不卡 | 欧美亚男人的天堂| 亚洲一区二区不卡免费| 色香蕉成人二区免费| 亚洲综合一二三区| 欧美日韩不卡一区| 日韩综合小视频| 欧美一区二区三区视频免费| 日本欧美在线看| 26uuu久久天堂性欧美| 久久97超碰色| 国产精品网站在线观看| 国产精品99久久久久久有的能看 | 亚洲免费观看高清在线观看| 91免费观看在线| 亚洲图片欧美视频| 欧美人动与zoxxxx乱| 蜜臀av一区二区| 久久久不卡网国产精品一区| 不卡在线视频中文字幕| 亚洲精品午夜久久久| 欧美亚洲综合网| 蜜桃视频在线一区| 中文一区二区在线观看| 色婷婷久久99综合精品jk白丝| 五月天丁香久久| 精品卡一卡二卡三卡四在线| 懂色一区二区三区免费观看| 亚洲另类在线一区| 日韩一区二区三区精品视频| 国产精品一二三区| 亚洲精品午夜久久久| 欧美一级片在线看| 91猫先生在线| 看片网站欧美日韩| 亚洲人成网站色在线观看| 5858s免费视频成人| 国产999精品久久久久久| 亚洲图片欧美色图| 欧美高清在线一区二区| 欧美日韩一级黄| 福利一区福利二区| 日本aⅴ亚洲精品中文乱码| 国产欧美日韩视频一区二区| 在线观看网站黄不卡| 国产精品99久久久| 偷窥国产亚洲免费视频| 国产精品嫩草久久久久| 欧美一级爆毛片| 欧美三区免费完整视频在线观看| 国产高清在线精品| 免费一级片91| 亚洲成人自拍偷拍| 中文字幕一区不卡| 久久精品亚洲乱码伦伦中文 | 在线观看一区二区视频| 国产一区二区女| 日韩精品免费专区| 一区二区理论电影在线观看| 久久免费午夜影院| 日韩欧美国产1| 欧美日韩精品欧美日韩精品一 | 欧美一区二区三区思思人| 色综合欧美在线| 成人中文字幕电影| 国产乱子伦一区二区三区国色天香| 亚洲国产一区二区三区| 中文字幕在线不卡| 中文字幕免费观看一区| 欧美videossexotv100| 91精品欧美福利在线观看| 一本大道久久a久久综合| 成人听书哪个软件好| 国产在线精品不卡| 久久国产精品99久久人人澡| 日韩不卡一区二区三区| 肉丝袜脚交视频一区二区| 亚洲国产一区二区视频| 亚洲自拍偷拍av| 亚洲成人一二三| 亚洲国产精品一区二区www在线| 亚洲黄色录像片| 一区二区三区欧美日韩| 亚洲综合色噜噜狠狠| 亚洲一区在线播放| 午夜久久久久久久久久一区二区| 亚洲一区二区三区美女| 视频一区中文字幕国产| 午夜av一区二区三区| 琪琪久久久久日韩精品| 精品中文字幕一区二区小辣椒| 毛片av一区二区三区| 国产精品资源在线| 粉嫩13p一区二区三区| 一本一道综合狠狠老| 欧美综合一区二区| 91精品久久久久久久91蜜桃| 欧美大片一区二区| 国产欧美日本一区视频| 亚洲色图20p| 性做久久久久久| 久久不见久久见免费视频7| 国产一区二区三区四| a在线欧美一区| 欧美网站一区二区| 精品国产三级电影在线观看| 久久久综合九色合综国产精品| 国产精品电影院| 亚洲国产精品久久久久婷婷884| 蜜臀久久久99精品久久久久久| 国产真实精品久久二三区| av亚洲精华国产精华精华| 欧美系列在线观看| 久久精品人人爽人人爽| 亚洲丝袜精品丝袜在线| 日韩av一区二区在线影视| 国产成人激情av| 欧美精品久久一区| 国产欧美视频一区二区| 香蕉乱码成人久久天堂爱免费| 国产美女一区二区三区| 91福利视频久久久久| 久久众筹精品私拍模特| 一区二区国产视频| 国产精品伊人色| 欧美挠脚心视频网站| 中文字幕免费在线观看视频一区| 性久久久久久久久久久久| 日韩视频在线观看一区二区| 中文字幕乱码久久午夜不卡| 亚洲成人久久影院| 成人av网址在线观看| 欧美成人精精品一区二区频| 亚洲日本在线天堂| 国产a区久久久| 日韩一区二区三区三四区视频在线观看| 中文字幕一区二区三区在线播放| 日韩精品电影一区亚洲| 91美女在线观看| 国产视频一区在线播放| 麻豆一区二区三区| 欧美日韩一级二级三级| 亚洲免费看黄网站| 成人sese在线| 久久亚洲一区二区三区四区| 亚洲成a人v欧美综合天堂下载| 成人黄色国产精品网站大全在线免费观看| 777奇米成人网| 亚洲国产乱码最新视频| 色婷婷国产精品| 中文字幕一区二区在线观看 | 粉嫩一区二区三区性色av| 日韩欧美久久一区| 日韩中文欧美在线| 欧美色偷偷大香| 亚洲午夜免费电影| 在线免费观看日本一区| 亚洲色图一区二区| 91免费国产在线观看| 国产精品久久久久婷婷| 成人三级伦理片| 中文字幕av一区 二区| av亚洲精华国产精华精华|