/posts.json implemented
This commit is contained in:
117
include/e621.h
Normal file
117
include/e621.h
Normal file
@@ -0,0 +1,117 @@
|
||||
#ifndef E621_HPP
|
||||
#define E621_HPP
|
||||
|
||||
// Includes
|
||||
#include <stdbool.h>
|
||||
|
||||
// Defines
|
||||
|
||||
#ifndef E621_HOST
|
||||
#define E621_HOST "https://e621.net"
|
||||
#endif
|
||||
|
||||
#ifndef E621_URL_BUF_SIZE
|
||||
#define E621_URL_BUF_SIZE 2048
|
||||
#endif
|
||||
|
||||
// Structs
|
||||
typedef struct {
|
||||
unsigned int width;
|
||||
unsigned int height;
|
||||
char *ext;
|
||||
unsigned int size;
|
||||
char *md5;
|
||||
char *url;
|
||||
} e6_file_t;
|
||||
|
||||
typedef struct {
|
||||
unsigned int width;
|
||||
unsigned int height;
|
||||
char *url;
|
||||
} e6_preview_t;
|
||||
|
||||
typedef struct {
|
||||
bool has;
|
||||
unsigned int width;
|
||||
unsigned int height;
|
||||
char *url;
|
||||
} e6_sample_t;
|
||||
|
||||
typedef struct {
|
||||
unsigned int up;
|
||||
unsigned int down;
|
||||
int total;
|
||||
} e6_score_t;
|
||||
|
||||
typedef struct {
|
||||
char **general;
|
||||
int general_count;
|
||||
char **artist;
|
||||
int artist_count;
|
||||
char **contributor;
|
||||
int contributor_count;
|
||||
char **copyright;
|
||||
int copyright_count;
|
||||
char **character;
|
||||
int character_count;
|
||||
char **species;
|
||||
int species_count;
|
||||
char **invalid;
|
||||
int invalid_count;
|
||||
char **meta;
|
||||
int meta_count;
|
||||
char **lore;
|
||||
int lore_count;
|
||||
} e6_tags_t;
|
||||
|
||||
typedef struct flags_t {
|
||||
bool pending;
|
||||
bool flagged;
|
||||
bool note_locked;
|
||||
bool status_locked;
|
||||
bool rating_locked;
|
||||
bool deleted;
|
||||
} e6_flags_t;
|
||||
|
||||
typedef struct {
|
||||
unsigned int parent_id;
|
||||
bool has_children;
|
||||
bool has_active_children;
|
||||
int *children;
|
||||
} e6_relationships_t;
|
||||
|
||||
typedef struct {
|
||||
unsigned int id;
|
||||
char *created_at;
|
||||
char *updated_at;
|
||||
e6_file_t file;
|
||||
e6_preview_t preview;
|
||||
e6_sample_t sample;
|
||||
e6_score_t score;
|
||||
e6_tags_t tags;
|
||||
char **locked_tags;
|
||||
int locked_tags_count;
|
||||
unsigned int change_seq;
|
||||
e6_flags_t flags;
|
||||
char *rating;
|
||||
unsigned int fav_count;
|
||||
int *pools;
|
||||
e6_relationships_t relationships;
|
||||
unsigned int approver_id;
|
||||
unsigned int uploader_id;
|
||||
char *description;
|
||||
unsigned int comment_count;
|
||||
bool is_favorited;
|
||||
} e6_post_t;
|
||||
|
||||
typedef struct {
|
||||
char *username;
|
||||
char *api_key;
|
||||
char *project_name;
|
||||
float project_ver;
|
||||
} e6_auth_t;
|
||||
|
||||
// Functions
|
||||
e6_post_t *E6List(e6_auth_t auth, char **tags, int tags_count, unsigned int page, unsigned int limit);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user