1#ifndef __RTSP_H_ 2#define __RTSP_H_ 3 4/*************************************************************************** 5 * _ _ ____ _ 6 * Project ___| | | | _ \| | 7 * / __| | | | |_) | | 8 * | (__| |_| | _ <| |___ 9 * \___|\___/|_| \_\_____| 10 * 11 * Copyright (C) 1998 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al. 12 * 13 * This software is licensed as described in the file COPYING, which 14 * you should have received as part of this distribution. The terms 15 * are also available at http://curl.haxx.se/docs/copyright.html. 16 * 17 * You may opt to use, copy, modify, merge, publish, distribute and/or sell 18 * copies of the Software, and permit persons to whom the Software is 19 * furnished to do so, under the terms of the COPYING file. 20 * 21 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 22 * KIND, either express or implied. 23 * 24 ***************************************************************************/ 25#ifndef CURL_DISABLE_RTSP 26 27extern const struct Curl_handler Curl_handler_rtsp; 28 29bool Curl_rtsp_connisdead(struct connectdata *check); 30CURLcode Curl_rtsp_parseheader(struct connectdata *conn, char *header); 31 32#else 33/* disabled */ 34#define Curl_rtsp_parseheader(x,y) CURLE_NOT_BUILT_IN 35#define Curl_rtsp_connisdead(x) TRUE 36 37#endif /* CURL_DISABLE_RTSP */ 38 39/* 40 * RTSP Connection data 41 * 42 * Currently, only used for tracking incomplete RTP data reads 43 */ 44struct rtsp_conn { 45 char *rtp_buf; 46 ssize_t rtp_bufsize; 47 int rtp_channel; 48}; 49 50/**************************************************************************** 51 * RTSP unique setup 52 ***************************************************************************/ 53struct RTSP { 54 /* 55 * http_wrapper MUST be the first element of this structure for the wrap 56 * logic to work. In this way, we get a cheap polymorphism because 57 * &(data->state.proto.rtsp) == &(data->state.proto.http) per the C spec 58 * 59 * HTTP functions can safely treat this as an HTTP struct, but RTSP aware 60 * functions can also index into the later elements. 61 */ 62 struct HTTP http_wrapper; /*wrap HTTP to do the heavy lifting */ 63 64 long CSeq_sent; /* CSeq of this request */ 65 long CSeq_recv; /* CSeq received */ 66}; 67 68 69#endif /* __RTSP_H_ */ 70