mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-30 11:40:32 +00:00
(net_http.c) Move struct definition out of header again
This commit is contained in:
parent
2d5b4f58aa
commit
63cf5a07c3
@ -584,7 +584,7 @@ struct global
|
|||||||
msg_queue_t *msg_queue;
|
msg_queue_t *msg_queue;
|
||||||
#ifdef HAVE_NETWORKING
|
#ifdef HAVE_NETWORKING
|
||||||
msg_queue_t *http_msg_queue;
|
msg_queue_t *http_msg_queue;
|
||||||
http_t *http_handle;
|
struct http_t *http_handle;
|
||||||
http_cb_t http_cb;
|
http_cb_t http_cb;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
31
net_http.c
31
net_http.c
@ -38,6 +38,21 @@ enum
|
|||||||
T_CHUNK
|
T_CHUNK
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct http_t
|
||||||
|
{
|
||||||
|
int fd;
|
||||||
|
int status;
|
||||||
|
|
||||||
|
char part;
|
||||||
|
char bodytype;
|
||||||
|
bool error;
|
||||||
|
|
||||||
|
size_t pos;
|
||||||
|
size_t len;
|
||||||
|
size_t buflen;
|
||||||
|
char * data;
|
||||||
|
};
|
||||||
|
|
||||||
static bool net_http_parse_url(char *url, char **domain,
|
static bool net_http_parse_url(char *url, char **domain,
|
||||||
int *port, char **location)
|
int *port, char **location)
|
||||||
{
|
{
|
||||||
@ -174,12 +189,12 @@ static ssize_t net_http_recv(int fd, bool *error,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
http_t *net_http_new(const char * url)
|
struct http_t *net_http_new(const char * url)
|
||||||
{
|
{
|
||||||
bool error;
|
bool error;
|
||||||
char *domain = NULL, *location = NULL;
|
char *domain = NULL, *location = NULL;
|
||||||
int port = 0, fd = -1;
|
int port = 0, fd = -1;
|
||||||
http_t *state = NULL;
|
struct http_t *state = NULL;
|
||||||
char *urlcopy =(char*)malloc(strlen(url)+1);
|
char *urlcopy =(char*)malloc(strlen(url)+1);
|
||||||
|
|
||||||
strcpy(urlcopy, url);
|
strcpy(urlcopy, url);
|
||||||
@ -218,7 +233,7 @@ http_t *net_http_new(const char * url)
|
|||||||
|
|
||||||
free(urlcopy);
|
free(urlcopy);
|
||||||
|
|
||||||
state = (http_t*)malloc(sizeof(http_t));
|
state = (struct http_t*)malloc(sizeof(struct http_t));
|
||||||
state->fd = fd;
|
state->fd = fd;
|
||||||
state->status = -1;
|
state->status = -1;
|
||||||
state->data = NULL;
|
state->data = NULL;
|
||||||
@ -239,12 +254,12 @@ fail:
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
int net_http_fd(http_t *state)
|
int net_http_fd(struct http_t *state)
|
||||||
{
|
{
|
||||||
return state->fd;
|
return state->fd;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool net_http_update(http_t *state, size_t* progress, size_t* total)
|
bool net_http_update(struct http_t *state, size_t* progress, size_t* total)
|
||||||
{
|
{
|
||||||
ssize_t newlen = 0;
|
ssize_t newlen = 0;
|
||||||
|
|
||||||
@ -439,12 +454,12 @@ fail:
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
int net_http_status(http_t *state)
|
int net_http_status(struct http_t *state)
|
||||||
{
|
{
|
||||||
return state->status;
|
return state->status;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t* net_http_data(http_t *state, size_t* len, bool accept_error)
|
uint8_t* net_http_data(struct http_t *state, size_t* len, bool accept_error)
|
||||||
{
|
{
|
||||||
if (!accept_error &&
|
if (!accept_error &&
|
||||||
(state->error || state->status<200 || state->status>299))
|
(state->error || state->status<200 || state->status>299))
|
||||||
@ -460,7 +475,7 @@ uint8_t* net_http_data(http_t *state, size_t* len, bool accept_error)
|
|||||||
return (uint8_t*)state->data;
|
return (uint8_t*)state->data;
|
||||||
}
|
}
|
||||||
|
|
||||||
void net_http_delete(http_t *state)
|
void net_http_delete(struct http_t *state)
|
||||||
{
|
{
|
||||||
if (state->fd != -1)
|
if (state->fd != -1)
|
||||||
socket_close(state->fd);
|
socket_close(state->fd);
|
||||||
|
27
net_http.h
27
net_http.h
@ -25,42 +25,29 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct
|
struct http_t;
|
||||||
{
|
|
||||||
int fd;
|
|
||||||
int status;
|
|
||||||
|
|
||||||
char part;
|
|
||||||
char bodytype;
|
|
||||||
bool error;
|
|
||||||
|
|
||||||
size_t pos;
|
|
||||||
size_t len;
|
|
||||||
size_t buflen;
|
|
||||||
char * data;
|
|
||||||
} http_t;
|
|
||||||
|
|
||||||
http_t *net_http_new(const char * url);
|
struct http_t *net_http_new(const char * url);
|
||||||
|
|
||||||
/* You can use this to call net_http_update
|
/* You can use this to call net_http_update
|
||||||
* only when something will happen; select() it for reading. */
|
* only when something will happen; select() it for reading. */
|
||||||
int net_http_fd(http_t *state);
|
int net_http_fd(struct http_t *state);
|
||||||
|
|
||||||
/* Returns true if it's done, or if something broke.
|
/* Returns true if it's done, or if something broke.
|
||||||
* 'total' will be 0 if it's not known. */
|
* 'total' will be 0 if it's not known. */
|
||||||
bool net_http_update(http_t *state, size_t* progress, size_t* total);
|
bool net_http_update(struct http_t *state, size_t* progress, size_t* total);
|
||||||
|
|
||||||
/* 200, 404, or whatever. */
|
/* 200, 404, or whatever. */
|
||||||
int net_http_status(http_t *state);
|
int net_http_status(struct http_t *state);
|
||||||
|
|
||||||
/* Returns the downloaded data. The returned buffer is owned by the
|
/* Returns the downloaded data. The returned buffer is owned by the
|
||||||
* HTTP handler; it's freed by net_http_delete.
|
* HTTP handler; it's freed by net_http_delete.
|
||||||
*
|
*
|
||||||
* If the status is not 20x and accept_error is false, it returns NULL. */
|
* If the status is not 20x and accept_error is false, it returns NULL. */
|
||||||
uint8_t* net_http_data(http_t *state, size_t* len, bool accept_error);
|
uint8_t* net_http_data(struct http_t *state, size_t* len, bool accept_error);
|
||||||
|
|
||||||
/* Cleans up all memory. */
|
/* Cleans up all memory. */
|
||||||
void net_http_delete(http_t *state);
|
void net_http_delete(struct http_t *state);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user