1 #ifndef __RTMP_HTTP_H__ 2 #define __RTMP_HTTP_H__ 3 /* 4 * Copyright (C) 2010 Howard Chu 5 * Copyright (C) 2010 Antti Ajanki 6 * 7 * This file is part of librtmp. 8 * 9 * librtmp is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU Lesser General Public License as 11 * published by the Free Software Foundation; either version 2.1, 12 * or (at your option) any later version. 13 * 14 * librtmp is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU Lesser General Public License 20 * along with librtmp see the file COPYING. If not, write to 21 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 22 * Boston, MA 02110-1301, USA. 23 * http://www.gnu.org/copyleft/lgpl.html 24 */ 25 26 typedef enum { 27 HTTPRES_OK, /* result OK */ 28 HTTPRES_OK_NOT_MODIFIED, /* not modified since last request */ 29 HTTPRES_NOT_FOUND, /* not found */ 30 HTTPRES_BAD_REQUEST, /* client error */ 31 HTTPRES_SERVER_ERROR, /* server reported an error */ 32 HTTPRES_REDIRECTED, /* resource has been moved */ 33 HTTPRES_LOST_CONNECTION /* connection lost while waiting for data */ 34 } HTTPResult; 35 36 struct HTTP_ctx { 37 char *date; 38 int size; 39 int status; 40 void *data; 41 }; 42 43 typedef size_t (HTTP_read_callback)(void *ptr, size_t size, size_t nmemb, void *stream); 44 45 HTTPResult HTTP_get(struct HTTP_ctx *http, const char *url, HTTP_read_callback *cb); 46 47 #endif 48