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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? upnp.h

?? Upnp開(kāi)發(fā)包文件
?? H
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
extern "C" {#endif // __cplusplus///@name Initialization and Registration//@{/** Initializes the Linux SDK for UPnP Devices. This function must be called *  before any other API function can be called.  It should be called *  only once.  Subsequent calls to this API return a {\tt UPNP_E_INIT} *  error code. * *  Optionally, the application can specify a host IP address (in the *  case of a multi-homed configuration) and a port number to use for *  all UPnP operations.  Since a port number can be used only by one *  process, multiple processes using the SDK must specify *  different port numbers. * *  If unspecified, the SDK will use the first adapter's IP address  *  and an arbitrary port. * *  This call is synchronous. * *  @return [int] An integer representing one of the following: *    \begin{itemize} *      \item {\tt UPNP_E_SUCCESS}: The operation completed successfully. *      \item {\tt UPNP_E_OUTOF_MEMORY}: Insufficient resources exist  *              to initialize the SDK. *      \item {\tt UPNP_E_INIT}: The SDK is already initialized.  *      \item {\tt UPNP_E_INIT_FAILED}: The SDK initialization  *              failed for an unknown reason. *      \item {\tt UPNP_E_SOCKET_BIND}: An error occurred binding a socket. *      \item {\tt UPNP_E_LISTEN}: An error occurred listening to a socket. *      \item {\tt UPNP_E_OUTOF_SOCKET}: An error ocurred creating a socket. *      \item {\tt UPNP_E_INTERNAL_ERROR}: An internal error ocurred. *    \end{itemize} */int UpnpInit(    IN const char *HostIP,      /** The host IP address to use, in                                     string format, for example "192.168.0.1",                                     or {\tt NULL} to use the first adapter's                                     IP address. */    IN unsigned short DestPort  /** The destination port number to use.  0                                     will pick an arbitrary free port. */    );/** Terminates the Linux SDK for UPnP Devices. This function must be the last  *  API function called. It should be called only once. Subsequent calls to  *  this API return a {\tt UPNP_E_FINISH} error code. * *  @return [int] An integer representing one of the following: *    \begin{itemize} *      \item {\tt UPNP_E_SUCCESS}: The operation completed successfully. *      \item {\tt UPNP_E_FINISH}: The SDK is already terminated or  *                                 it is not initialized.  *    \end{itemize} */int UpnpFinish();/** If '0' is used as the port number in {\bf UpnpInit}, then this *  function can be used to retrieve the actual port allocated to *  the SDK. If {\bf UpnpInit} has not succeeded then 0 is  *  returned. * *  @return [unsigned short] The port on which an internal server is  *                           listening for UPnP related requests.  */unsigned short UpnpGetServerPort(void);/** If {\tt NULL} is used as the IP address in {\bf UpnpInit}, then this *  function can be used to retrieve the actual interface address *  on which device is running. If {\bf UpnpInit} has not succeeded  *  then {\tt NULL} is returned. * *  @return [char*] The IP address on which an internal server is listening  *                  for UPnP related requests.  */char * UpnpGetServerIpAddress(void);/** {\bf UpnpRegisterClient} registers a control point application with the *  SDK.  A control point application cannot make any other API calls *  until it registers using this function. * *  {\bf UpnpRegisterClient} is a synchronous call and generates no callbacks. *  Callbacks can occur as soon as this function returns. * *  @return [int] An integer representing one of the following: *    \begin{itemize} *      \item {\tt UPNP_E_SUCCESS}: The operation completed successfully. *      \item {\tt UPNP_E_FINISH}: The SDK is already terminated or  *                                 is not initialized.  *      \item {\tt UPNP_E_INVALID_PARAM}: Either {\bf Callback} or {\bf Hnd}  *              is not a valid pointer. *      \item {\tt UPNP_E_OUTOF_MEMORY}: Insufficient resources exist to  *              register this control point. *    \end{itemize} */int UpnpRegisterClient(    IN Upnp_FunPtr Callback,   /** Pointer to a function for receiving                                    asynchronous events. */    IN const void *Cookie,     /** Pointer to user data returned with the                                    callback function when invoked. */    OUT UpnpClient_Handle *Hnd /** Pointer to a variable to store the                                    new control point handle. */    );  /** {\bf UpnpRegisterRootDevice} registers a device application with *  the SDK.  A device application cannot make any other API *  calls until it registers using this function.  Device applications *  can also register as control points (see {\bf UpnpRegisterClient} *  to get a control point handle to perform control point *  functionality). * *  {\bf UpnpRegisterRootDevice} is synchronous and does not generate *  any callbacks.  Callbacks can occur as soon as this function returns. * *  @return [int] An integer representing one of the following: *    \begin{itemize} *      \item {\tt UPNP_E_SUCCESS}: The operation completed successfully. *      \item {\tt UPNP_E_FINISH}: The SDK is already terminated or  *                                 is not initialized.  *      \item {\tt UPNP_E_INVALID_DESC}: The description document was not  *              a valid device description. *      \item {\tt UPNP_E_INVALID_URL}: The URL for the description document  *              is not valid. *      \item {\tt UPNP_E_INVALID_PARAM}: Either {\bf Callback} or {\bf Hnd}  *              is not a valid pointer or {\bf DescURL} is {\tt NULL}. *      \item {\tt UPNP_E_NETWORK_ERROR}: A network error occurred. *      \item {\tt UPNP_E_SOCKET_WRITE}: An error or timeout occurred writing  *              to a socket. *      \item {\tt UPNP_E_SOCKET_READ}: An error or timeout occurred reading  *              from a socket. *      \item {\tt UPNP_E_SOCKET_BIND}: An error occurred binding a socket. *      \item {\tt UPNP_E_SOCKET_CONNECT}: An error occurred connecting the  *              socket. *      \item {\tt UPNP_E_OUTOF_SOCKET}: Too many sockets are currently  *              allocated. *      \item {\tt UPNP_E_OUTOF_MEMORY}: There are insufficient resources to  *              register this root device. *    \end{itemize} */int UpnpRegisterRootDevice(    IN const char *DescUrl,    /** Pointer to a string containing the                                    description URL for this root device                                    instance. */    IN Upnp_FunPtr Callback,   /** Pointer to the callback function for                                    receiving asynchronous events. */    IN const void *Cookie,     /** Pointer to user data returned with the                                    callback function when invoked. */    OUT UpnpDevice_Handle *Hnd /** Pointer to a variable to store the                                    new device handle. */    );/** {\bf UpnpRegisterRootDevice2} is similar to {\bf UpnpRegisterRootDevice}, *  except that it also allows the description document to be specified as a  *  file or a memory buffer. The description can also be configured to have the *  correct IP and port address. * *  NOTE: For the configuration to be functional, the internal web server *  MUST be present. In addition, the web server MUST be activated *  (using {\bf UpnpSetWebServerRootDir}) before calling this function. *  The only condition where the web server can be absent is if the  *  description document is specified as a URL and no configuration is  *  required (i.e. {\tt config_baseURL = 0}.) * *  {\bf UpnpRegisterRootDevice2} is synchronous and does not generate *  any callbacks.  Callbacks can occur as soon as this function returns. * *  Examples of using different types of description documents: *  \begin{verbatim}    1) Description specified as a URL:          descriptionType == UPNPREG_URL_DESC          description is the URL          bufferLen = 0 (ignored)    2) Description specified as a file:          descriptionType == UPNPREG_FILENAME_DESC          description is a filename          bufferLen = 0 (ignored)    3) Description specified as a memory buffer:          descriptionType == UPNPREG_BUF_DESC          description is pointer to a memory buffer          bufferLen == length of memory buffer    \end{verbatim} * *  @return [int] An integer representing one of the following: *    \begin{itemize} *      \item {\tt UPNP_E_SUCCESS}: The operation completed successfully. *      \item {\tt UPNP_E_FINISH}: The SDK is already terminated or  *                                 is not initialized. *      \item {\tt UPNP_E_INVALID_DESC}: The description document is not  *              a valid device description. *      \item {\tt UPNP_E_INVALID_PARAM}: Either {\bf Callback} or {\bf Hnd}  *              is not a valid pointer or {\bf DescURL} is {\tt NULL}. *      \item {\tt UPNP_E_NETWORK_ERROR}: A network error occurred. *      \item {\tt UPNP_E_SOCKET_WRITE}: An error or timeout occurred writing  *              to a socket. *      \item {\tt UPNP_E_SOCKET_READ}: An error or timeout occurred reading  *              from a socket. *      \item {\tt UPNP_E_SOCKET_BIND}: An error occurred binding a socket. *      \item {\tt UPNP_E_SOCKET_CONNECT}: An error occurred connecting the  *              socket. *      \item {\tt UPNP_E_OUTOF_SOCKET}: Too many sockets are currently  *              allocated. *      \item {\tt UPNP_E_OUTOF_MEMORY}: There are insufficient resources to  *              register this root device. *      \item {\tt UPNP_E_URL_TOO_BIG}: Length of the URL is bigger than the  *              internal buffer. *      \item {\tt UPNP_E_FILE_NOT_FOUND}: The description file could not  *              be found. *      \item {\tt UPNP_E_FILE_READ_ERROR}: An error occurred reading the  *              description file. *      \item {\tt UPNP_E_INVALID_URL}: The URL to the description document  *              is invalid. *      \item {\tt UPNP_E_EXT_NOT_XML}: The URL to the description document  *              or file should have a {\tt .xml} extension. *      \item {\tt UPNP_E_NO_WEB_SERVER}: The internal web server has been  *              compiled out; the SDK cannot configure itself from the  *              description document. *    \end{itemize} */ int UpnpRegisterRootDevice2(    IN Upnp_DescType descriptionType,/** The type of the description                                          document. */    IN const char* description,      /** Treated as a URL, file name or                                          memory buffer depending on                                          description type. */    IN size_t bufferLen,             /** The length of memory buffer if                                          passing a description in a buffer,                                          otherwise it is ignored. */    IN int config_baseURL,           /** If nonzero, {\tt URLBase} of                                          description document is                                          configured and the description                                          is served using the internal                                          web server. */    IN Upnp_FunPtr Fun,              /** Pointer to the callback function                                          for receiving asynchronous                                          events. */    IN const void* Cookie,           /** Pointer to user data returned                                          with the callback function when                                          invoked. */    OUT UpnpDevice_Handle* Hnd       /** Pointer to a variable to store                                          the new device handle. */    );/** {\bf UpnpUnRegisterClient} unregisters a control point application,  *  unsubscribing all active subscriptions. After this call, the  *  {\bf UpnpClient_Handle} is no longer valid. * *  {\bf UpnpUnRegisterClient} is a synchronous call and generates no *  callbacks.  The SDK generates no more callbacks after this  *  function returns. * *  @return [int] An integer representing one of the following: *    \begin{itemize} *      \item {\tt UPNP_E_SUCCESS}: The operation completed successfully. *      \item {\tt UPNP_E_INVALID_HANDLE}: The handle is not a valid control  *                   point handle. *    \end{itemize} */int UpnpUnRegisterClient(    IN UpnpClient_Handle Hnd  /** The handle of the control point instance                                   to unregister. */    );/** Unregisters a root device registered with {\bf UpnpRegisterRootDevice} or *  {\bf UpnpRegisterRootDevice2}. After this call, the  *  {\bf UpnpDevice_Handle} is no longer valid. For all advertisements that  *  have not yet expired, the SDK sends a device unavailable message  *  automatically. * *  {\bf UpnpUnRegisterRootDevice} is a synchronous call and generates no *  callbacks.  Once this call returns, the SDK will no longer  *  generate callbacks to the application. * *  @return [int] An integer representing one of the following: *    \begin{itemize} *      \item {\tt UPNP_E_SUCCESS}: The operation completed successfully. *      \item {\tt UPNP_E_INVALID_HANDLE}: The handle is not a valid   *              device handle. *    \end{itemize} */int UpnpUnRegisterRootDevice(   IN UpnpDevice_Handle /** The handle of the root device instance to                             unregister. */   );/** Sets the size of the receive buffer for incoming SOAP requests. This API  *  allows devices that have memory constraints to exhibit consistent  *  behaviour if the size of the incoming SOAP request exceeds the memory  *  that device can allocate for incoming SOAP messages. The default  *  value set by the SDK for the buffer is 16K bytes.  Trying to set a value  *  greater than 32K will result in an error. *    *  @return [int] An integer representing one of the following: *    \begin{itemize} *      \item {\tt UPNP_E_SUCCESS}: The operation completed successfully. *      \item {\tt UPNP_E_INVALID_HANDLE}: The handle is not a valid  *              device handle. *      \item {\tt UPNP_E_LARGE_BUFFER_SIZE}: The buffer size requested was  *              too large. *    \end{itemize} */int UpnpSetContentLength(    IN UpnpClient_Handle Hnd,  /** The handle of the device instance                                    for which the coincoming content length 				   needs to be set. */    IN int contentLength       /** The maximum permissible content length 			           for incoming SOAP actions. */    );//@} // Initialization and Registration//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                                                                    ////                        D I S C O V E R Y                           ////                                                                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////@name Discovery//@{/** {\bf UpnpSearchAsync} searches for devices matching the given *  search target.  The function returns immediately and the SDK  *  calls the default callback function, registered during the  *  {\bf UpnpRegisterClient} call, for each matching root device, *  device, or service.  The application specifies the search type by the  *  {\bf Target} parameter.   * *  Note that there is no way for the SDK to distinguish which client

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久免费美女视频| 亚洲欧美日韩在线不卡| 91丨九色porny丨蝌蚪| 偷窥少妇高潮呻吟av久久免费| 国产亚洲欧洲一区高清在线观看| 在线亚洲高清视频| 韩国v欧美v亚洲v日本v| 亚洲国产精品麻豆| 国产精品视频免费| 日韩视频在线观看一区二区| 99久久99久久免费精品蜜臀| 麻豆成人av在线| 一区二区日韩av| 国产精品欧美久久久久无广告| 欧美一级xxx| 91精品福利视频| av在线不卡网| 国产精品一二三四| 青娱乐精品视频| 亚洲午夜羞羞片| 成人免费在线播放视频| 亚洲精品在线免费播放| 3d动漫精品啪啪| 精品视频1区2区| 91看片淫黄大片一级| 丁香婷婷综合网| 国内精品免费**视频| 青青草原综合久久大伊人精品 | 欧美伊人精品成人久久综合97| 国产精品一线二线三线精华| 久久精品国产久精国产爱| 视频在线观看一区| 午夜精品久久久久久久| 亚洲综合色网站| 亚洲狼人国产精品| 亚洲精品第1页| 一区二区三区在线影院| 亚洲视频在线一区观看| 中文字幕在线视频一区| 国产精品美女久久久久久 | 亚洲综合一区在线| 亚洲欧美日韩国产手机在线| 亚洲少妇中出一区| 中文字幕日韩精品一区| 青青草国产精品97视觉盛宴| 亚洲欧美激情视频在线观看一区二区三区 | 一区二区三区中文字幕在线观看| 国产精品超碰97尤物18| 国产精品不卡在线观看| 亚洲乱码中文字幕| 一区二区三区免费网站| 亚洲成在人线在线播放| 亚洲二区在线观看| 日韩va亚洲va欧美va久久| 丝袜诱惑亚洲看片| 亚洲高清视频中文字幕| 日韩国产一二三区| 麻豆成人av在线| 国产成人一区在线| 99久久综合色| 欧美日韩午夜精品| 欧美美女一区二区在线观看| 欧美高清视频不卡网| 精品人伦一区二区色婷婷| 久久久久久久久99精品| 中文字幕日韩一区二区| 亚洲成av人片一区二区三区| 美女免费视频一区二区| 成人午夜在线免费| 欧美一a一片一级一片| 日韩一区二区三区视频| 国产日韩欧美亚洲| 中文字幕高清不卡| 国产xxx精品视频大全| 色天天综合色天天久久| 日韩一区二区三区电影在线观看| 久久久久久久av麻豆果冻| 日韩理论片一区二区| 亚洲欧洲中文日韩久久av乱码| 午夜精品一区二区三区电影天堂| 精油按摩中文字幕久久| 本田岬高潮一区二区三区| 欧美图区在线视频| 久久日韩精品一区二区五区| 亚洲欧洲日本在线| 性感美女极品91精品| 国产成人精品影院| 欧美撒尿777hd撒尿| 国产欧美日韩久久| 偷窥国产亚洲免费视频| 成人精品小蝌蚪| 91精品国产全国免费观看| 国产精品沙发午睡系列990531| 午夜电影久久久| 成人激情开心网| 日韩一区二区免费在线观看| 国产精品伦一区| 美腿丝袜在线亚洲一区| 91麻豆国产自产在线观看| 精品国产成人系列| 亚洲国产日韩精品| 成人免费高清在线| 欧美电影免费观看高清完整版在线 | 午夜久久久久久久久 | 欧美亚洲综合色| 国产日韩欧美精品在线| 日韩精品一二三区| 日本高清不卡aⅴ免费网站| 国产亚洲一区二区三区四区| 亚洲成人黄色小说| 一本到不卡免费一区二区| 久久久久久亚洲综合影院红桃| 日本美女一区二区三区| 欧美特级限制片免费在线观看| 国产精品视频看| 国产精品18久久久久| 日韩丝袜情趣美女图片| 午夜久久福利影院| 91黄色在线观看| 日韩毛片在线免费观看| 成人一区二区三区视频在线观看| 精品久久久三级丝袜| 视频在线观看一区| 欧美人牲a欧美精品| 一区二区三区四区激情| 色香蕉久久蜜桃| 亚洲免费观看高清完整| 99久久婷婷国产综合精品| 国产喷白浆一区二区三区| 国内外精品视频| 欧美精品一区二区三区高清aⅴ| 久久精品国产精品亚洲精品| 欧美一区二区三区思思人| 日一区二区三区| 91麻豆精品国产91久久久更新时间 | 亚洲一区二区三区四区中文字幕 | 精品三级av在线| 蜜臀久久99精品久久久画质超高清| 欧美片在线播放| 丝袜美腿亚洲色图| 91精品欧美久久久久久动漫| 日韩和欧美一区二区三区| 欧美精品一二三四| 免费人成网站在线观看欧美高清| 5858s免费视频成人| 蜜桃一区二区三区四区| 精品国产三级电影在线观看| 国产在线精品一区二区不卡了 | 中文字幕第一区第二区| 成人av免费在线播放| 亚洲人成电影网站色mp4| 色综合久久88色综合天天| 一区二区三区四区不卡视频| 色视频成人在线观看免| 亚洲二区在线观看| 日韩精品中文字幕在线不卡尤物| 韩国欧美国产1区| 国产欧美日韩三区| 色综合久久66| 天堂在线一区二区| 久久人人超碰精品| 色综合视频一区二区三区高清| 波多野结衣在线一区| 亚洲一区二区欧美日韩| 日韩欧美一级在线播放| 国产成人精品综合在线观看| 亚洲精品一二三四区| 91精品国产色综合久久不卡蜜臀 | 99精品久久久久久| 一区二区三区在线视频免费观看| 欧美丰满高潮xxxx喷水动漫| 国产精品伊人色| 亚洲一卡二卡三卡四卡五卡| 日韩欧美一级在线播放| 99久久精品国产毛片| 石原莉奈在线亚洲三区| 久久蜜桃一区二区| 色吧成人激情小说| 激情丁香综合五月| 亚洲精品乱码久久久久| 精品国产乱码久久| 在线视频中文字幕一区二区| 久久电影网站中文字幕| 亚洲欧美另类久久久精品| 欧美大黄免费观看| 色av一区二区| 国产乱对白刺激视频不卡| 亚洲一二三四在线| 国产亚洲精品7777| 555夜色666亚洲国产免| 91热门视频在线观看| 精品一二三四区| 亚洲国产乱码最新视频| 久久久久97国产精华液好用吗| 欧美日韩在线免费视频| 成人性生交大片免费看中文网站| 日本美女一区二区三区| 一区二区三区在线视频播放| 久久精品人人做人人综合| 欧美剧情片在线观看|