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

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

?? wvsockuploadpathlib.c

?? vxworks的完整的源代碼
?? C
字號:
/* wvSockUploadPathLib.c -  socket upload path library *//* Copyright 1998 Wind River Systems, Inc. *//*modification history--------------------02i,28aug98,dgp  FCS man page edit02h,06aug98,cth  added ability to create path with host name02g,08may98,dgp  clean up man pages for WV 2.0 beta release02f,15apr98,cth  removed errno set02e,20mar98,cth  removed debug print statements02d,27jan98,cth  removed oob error indications, removed sockUploadPathError,		 changed SOSENDBUFSIZE to sockUpPathSendBufSize02c,19dec97,cth  renamed again from wvSockUploadPath.c to wvSockUploadPathLib.c,                 added sockUploadPathLibInit, updated include files02b,16nov97,cth  renamed again from sockUploadPath.c to wvSockUploadPath.c                 changed include sockUploadPathP.h to wvSockUploadPathP.h02a,16nov97,cth  rewritten for WV2.0		 renamed file to sockUploadPath.c from evtSockLib.c01g,21aug97,cth  reverted functionality to 01e, TSFS support now in		 evtTsfsSockLib.c01f,18aug97,cth  added support for upload through TSFS01e,31jul97,nps  WindView 2.0 - evtSockInit now passes fd to event rBuff.01d,22feb94,smb  corrected Copyright date (SPR #2910)01c,21jan94,maf  shut off event logging when write() to event socket fails		   (SPR #2805).		 handle case of write() writing fewer bytes than requested		   in evtSockDataTransfer().                 other minor tweaks.01b,18jan94,maf  evtSockError() now closes event stream socket (part of fix		   for SPR #2800).01a,10dec93,smb  created.*//*DESCRIPTIONThis file contains routines that are used by wvLib to pass event data fromthe target buffers to the host.  This particular event-upload path opensa normal network socket connected with the WindView host process to transfer the data.INCLUDE FILES:SEE ALSO:  wvTsfsUploadPathLib, wvFileUploadPathLib*/#include "vxWorks.h"#include "fcntl.h"#include "stdlib.h"#include "in.h"#include "inetLib.h"#include "ioLib.h"#include "logLib.h"#include "nfsLib.h"#include "socket.h"#include "sockLib.h"#include "hostLib.h"#include "string.h"#include "sys/socket.h"#include "private/wvUploadPathP.h"#include "private/wvSockUploadPathLibP.h"typedef struct sockUploadPath  	/* SOCK_UPLOAD_DESC */    {    UPLOAD_DESC path;		/* struct must begin with this descriptor */    int		sockFd;		/* private fd for each upload path */    } SOCK_UPLOAD_DESC;/* globals */int sockUpPathSendBufSize = (64 * 1024 >> 1);/********************************************************************************* sockUploadPathLibInit - initialize wvSockUploadPathLib library (Windview)** This routine initializes wvSockUploadPathLib by pulling in the* routines in this file for use with WindView.  It is called during system* configuration from usrWindview.c.** RETURN: OK.**/STATUS sockUploadPathLibInit (void)    {    return OK;    }/********************************************************************************* sockUploadPathCreate - establish an upload path to the host using a socket (Windview)** This routine initializes the TCP/IP connection to the host process that * receives uploaded events.  It can be retried if the connection attempt fails.** RETURNS: The UPLOAD_ID, or NULL if the connection cannot be completed or * memory for the ID is not available.** SEE ALSO: sockUploadPathClose()*/UPLOAD_ID sockUploadPathCreate     (    char *ipAddress,	    /* server's hostname or IP address in .-notation */    short port		    /* port number to bind to */    )    {    SOCK_UPLOAD_DESC   *pSockUploadDesc;	/* this socket's descriptor */    struct sockaddr_in	sin;			/* address of server */    /* Allocate the upload path's descriptor. */    if ((pSockUploadDesc = (SOCK_UPLOAD_DESC *)                           malloc (sizeof (SOCK_UPLOAD_DESC))) == NULL)        {        logMsg ("sockUploadPathCreate: failed to allocate upload descriptor.\n",                0, 0, 0, 0, 0, 0);        return (NULL);        }    /* Open the upload socket. */    if ((pSockUploadDesc->sockFd = socket (AF_INET, SOCK_STREAM,  					  IPPROTO_TCP)) == ERROR)        {        logMsg ("sockUploadPathCreate: failed to open socket.\n",                0, 0, 0, 0, 0, 0);        return (NULL);        }    /* Increase the socket's send-buffer size. */    if (setsockopt (pSockUploadDesc->sockFd, SOL_SOCKET,                     SO_SNDBUF, (char *) & sockUpPathSendBufSize,                     sizeof (sockUpPathSendBufSize)) == ERROR)        {        logMsg ("sockUploadPathCreate: setsockopt failed\n",                0, 0, 0, 0, 0, 0);	close (pSockUploadDesc->sockFd);        return (NULL);        }    /* Fill in the server's address before connection. */    bzero ((char *) &sin, sizeof (sin));    sin.sin_family      = AF_INET;    sin.sin_port        = htons (port);    if ((sin.sin_addr.s_addr = hostGetByName (ipAddress)) == ERROR &&        (sin.sin_addr.s_addr = inet_addr (ipAddress)) == ERROR)        {        logMsg ("sockUploadPathCreate: failed to get inet addr for (%s)\n",                (int) ipAddress, 0, 0, 0, 0, 0);	close (pSockUploadDesc->sockFd);        return (NULL);	}    /* Connect to host (server). */    if (connect (pSockUploadDesc->sockFd, (struct sockaddr *)&sin,                  sizeof (sin)) == ERROR)        {        logMsg ("sockUploadPathCreate: connect failed\n",                0, 0, 0, 0, 0, 0);	close (pSockUploadDesc->sockFd);        return (NULL);        }    /* Fill in the socket upload routines so the uploader can access them. */    pSockUploadDesc->path.writeRtn = (FUNCPTR) sockUploadPathWrite;    pSockUploadDesc->path.errorRtn = (FUNCPTR) sockUploadPathClose;    /* Cast the SOCK_UPLOAD_DESC to a generic UPLOAD_DESC before returning. */    return ((UPLOAD_ID) pSockUploadDesc);    }/********************************************************************************* sockUploadPathClose - close the socket upload path (Windview)** This routine closes the socket connection to the event* receiver on the host.** RETURNS: N/A** SEE ALSO: sockUploadPathCreate()*/void sockUploadPathClose     (    UPLOAD_ID upId			/* generic upload-path descriptor */    )    {    SOCK_UPLOAD_DESC *pSockUploadDesc;	/* upId cast to see private data */    if (upId == NULL)        return;    pSockUploadDesc = (SOCK_UPLOAD_DESC *) upId;    close (pSockUploadDesc->sockFd);    free (pSockUploadDesc);    }/********************************************************************************* sockUploadPathWrite - write to the socket upload path (Windview)** This routine writes <size> bytes of data beginning at <pStart> to the upload* path between the target and the event receiver on the host.** RETURNS: The number of bytes written, or ERROR.** SEE ALSO: sockUploadPathCreate()*/int sockUploadPathWrite    (    UPLOAD_ID   upId,                   /* generic upload-path descriptor */    char *      pStart,                 /* address of data to write */    size_t      size                    /* number of bytes of data at pStart */    )    {    SOCK_UPLOAD_DESC  *pSockUploadDesc; /* upId cast to see private data */    if (upId == NULL)        return (ERROR);    /* Cast upId to a SOCK_UPLOAD_DESC for access to private data. */    pSockUploadDesc = (SOCK_UPLOAD_DESC *)upId;    return (write (pSockUploadDesc->sockFd, pStart, size));    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品一区二区91| 亚洲第一av色| a4yy欧美一区二区三区| 日韩美女视频一区二区| 欧美自拍偷拍一区| 偷窥少妇高潮呻吟av久久免费| 欧美在线不卡视频| 五月婷婷欧美视频| 久久综合久久久久88| 岛国精品在线播放| 一区二区视频在线| 91 com成人网| 成人免费毛片嘿嘿连载视频| 亚洲综合精品久久| 日韩免费看的电影| 99re这里只有精品视频首页| 亚洲成年人网站在线观看| 日韩欧美不卡一区| 99re成人在线| 美女爽到高潮91| 亚洲欧洲色图综合| 欧美一区二区人人喊爽| 成人激情电影免费在线观看| 亚洲高清免费观看| 国产日产欧美一区二区三区| 欧美性猛交一区二区三区精品| 麻豆成人免费电影| 亚洲精品国产精品乱码不99| 欧美mv日韩mv国产网站| 色久优优欧美色久优优| 韩国精品一区二区| 亚洲国产一区二区视频| 久久亚洲一级片| 欧美日韩精品免费观看视频 | 成人欧美一区二区三区1314| 欧美日韩精品三区| 99精品视频在线观看免费| 免费观看在线色综合| 亚洲欧美成aⅴ人在线观看| 日韩午夜激情电影| 91丨九色丨国产丨porny| 精久久久久久久久久久| 亚洲综合自拍偷拍| 国产精品视频免费看| 日韩一区二区三区免费看| 99精品在线观看视频| 国产在线不卡一卡二卡三卡四卡| 亚洲香肠在线观看| 亚洲欧美综合另类在线卡通| 久久综合色综合88| 7777精品伊人久久久大香线蕉超级流畅 | 国产一区欧美二区| 亚洲成a人在线观看| 亚洲色欲色欲www| 久久久综合视频| 日韩一区二区电影网| 欧美色偷偷大香| 91麻豆成人久久精品二区三区| 国产乱人伦精品一区二区在线观看| 三级成人在线视频| 一区二区不卡在线播放| 最新不卡av在线| 久久伊99综合婷婷久久伊| 精品免费日韩av| 日韩欧美三级在线| 欧美一级专区免费大片| 欧美日韩黄色影视| 欧美日韩国产区一| 欧美日韩国产不卡| 在线播放欧美女士性生活| 在线观看亚洲a| 欧美综合视频在线观看| 欧洲国内综合视频| 欧美亚洲日本国产| 在线免费观看日本欧美| 在线观看亚洲精品视频| 欧美视频一二三区| 欧美日韩大陆在线| 欧美一区二区免费观在线| 欧美一区二区免费| 久久先锋影音av| 久久精品男人天堂av| 国产欧美va欧美不卡在线 | 国产精品久久久爽爽爽麻豆色哟哟 | 国产一区二区不卡老阿姨| 国产一区二区三区不卡在线观看| 国产毛片一区二区| 成人av网站免费| 一道本成人在线| 欧美老人xxxx18| 欧美电影免费观看高清完整版在线| 日韩你懂的在线观看| 国产欧美综合色| 亚洲图片你懂的| 日精品一区二区三区| 久久精品久久久精品美女| 国产一区二区三区黄视频| av亚洲精华国产精华| 欧美主播一区二区三区| 欧美一区二区三区免费视频| 国产亚洲1区2区3区| 中文字幕在线播放不卡一区| 亚洲精品中文在线观看| 日日欢夜夜爽一区| 国产成人免费9x9x人网站视频| 97精品久久久午夜一区二区三区| 欧美日韩一级黄| 久久天天做天天爱综合色| 成人免费在线观看入口| 亚洲一二三四久久| 国产资源在线一区| 99re在线视频这里只有精品| 555www色欧美视频| 国产精品麻豆99久久久久久| 亚洲高清免费视频| 成人丝袜视频网| 欧美日韩国产区一| 国产精品国产成人国产三级 | 色婷婷综合五月| 91精品综合久久久久久| 国产午夜亚洲精品理论片色戒| 亚洲男人的天堂av| 国内精品写真在线观看| 在线这里只有精品| 久久久精品tv| 午夜精品123| 9色porny自拍视频一区二区| 日韩一区二区高清| 亚洲精品免费播放| 国产精品66部| 精品国产乱码91久久久久久网站| 一区视频在线播放| 激情久久五月天| 欧美日韩国产一二三| 国产精品拍天天在线| 免费视频最近日韩| 色呦呦国产精品| 国产精品素人视频| 精品一区二区在线免费观看| 欧美日韩高清一区| 日韩伦理免费电影| 成人晚上爱看视频| 国产三级久久久| 毛片不卡一区二区| 欧美日韩国产影片| 一区二区三区四区不卡视频| 成人国产精品免费观看| 久久色中文字幕| 美国十次综合导航| 欧美狂野另类xxxxoooo| 亚洲一区二区欧美日韩| 成人激情电影免费在线观看| 久久色在线观看| 国产一区二区视频在线| 日韩免费观看高清完整版| 日韩专区一卡二卡| 欧美欧美午夜aⅴ在线观看| 亚洲综合色视频| 91九色02白丝porn| 亚洲视频1区2区| 91高清视频在线| 一区二区三区在线观看国产| 99久久777色| 亚洲欧美韩国综合色| 91在线看国产| 亚洲视频在线一区观看| 91啪亚洲精品| 亚洲另类色综合网站| 欧美亚洲国产一卡| 亚洲国产乱码最新视频| 欧美日韩国产高清一区| 免费日本视频一区| 日韩精品一区二区三区视频播放 | 欧美男男青年gay1069videost| 一区二区欧美国产| 欧美日韩午夜在线视频| 午夜国产精品一区| 精品日韩在线一区| 国产成人综合在线| 国产精品沙发午睡系列990531| 成人免费看片app下载| 亚洲三级电影网站| 欧美综合一区二区三区| 日韩激情av在线| 2020国产精品自拍| 国产成人av电影| 一区二区三区视频在线观看| 欧美精品一区二区久久久| 欧美日韩一区二区三区四区| 日韩精品一区二区三区在线观看| 国产69精品久久久久毛片| 久久99精品国产麻豆不卡| 麻豆精品一区二区av白丝在线| 欧美综合一区二区三区| 激情综合五月天| 国产精品久久久久久久久久免费看| 色噜噜偷拍精品综合在线| 日本欧洲一区二区| 久久老女人爱爱| 在线免费观看成人短视频|