ekg2  GIT master
Struktury danych | Definicje | Definicje typów | Wyliczenia | Funkcje | Zmienne
Dokumentacja pliku rss.c
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <netdb.h>
#include <string.h>
#include <expat.h>
#include "ekg2.h"
#include "ekg/net.h"
Wykres zależności załączania dla rss.c:

Struktury danych

struct  rss_private_t
 
struct  rss_item_list
 
struct  rss_channel_list
 
struct  rss_rss_list
 
struct  htmlent_t
 
struct  xmlnode_s
 
struct  rss_fetch_process_t
 
struct  rss_resolver_t
 

Definicje

#define feed_private(s)   ((s && s->priv) ? ((feed_private_t *) s->priv)->priv_data : NULL)
 
#define RSS_DEFAULT_TIMEOUT   60
 
#define RSS_ONLY   SESSION_MUSTBELONG | SESSION_MUSTHASPRIVATE
 
#define RSS_FLAGS_TARGET   RSS_ONLY | COMMAND_ENABLEREQPARAMS | COMMAND_PARAMASTARGET
 
#define rss_convert_string(text, encoding)   ekg_recode_to_core_dup(encoding ? encoding : "UTF-8", text)
 
#define EKG_WINACT_RSS   EKG_WINACT_IMPORTANT
 

Definicje typów

typedef struct rss_item_list rss_item_t
 
typedef struct rss_channel_list rss_channel_t
 
typedef struct rss_rss_list rss_rss_t
 
typedef struct xmlnode_s xmlnode_t
 

Wyliczenia

enum  rss_proto_t {
  RSS_PROTO_UNKNOWN = 0, RSS_PROTO_HTTP, RSS_PROTO_HTTPS, RSS_PROTO_FTP,
  RSS_PROTO_FILE, RSS_PROTO_EXEC
}
 

Funkcje

void update_timer (session_t *s, const char *name)
 
static int rss_theme_init ()
 
void rss_protocol_deinit (void *priv)
 
void * rss_protocol_init (session_t *session)
 
void rss_init ()
 
void rss_deinit ()
 
static int rss_plugin_destroy ()
 
static int rss_validate_uid (void *data, va_list ap)
 
static int rss_session_init (void *data, va_list ap)
 
static int rss_session_deinit (void *data, va_list ap)
 
static int rss_message (void *data, va_list ap)
 
 __attribute__ ((visibility("default")))
 
static void rss_item_free_item (rss_item_t *data)
 
static void rss_items_add (rss_item_t **lista, rss_item_t *new_)
 
static void rss_items_destroy (rss_item_t **lista)
 
static int rss_items_count (rss_item_t *lista)
 
static void rss_channel_free_item (rss_channel_t *data)
 
static void rss_channels_add (rss_channel_t **lista, rss_channel_t *new_)
 
static void rss_channels_destroy (rss_channel_t **lista)
 
static int rss_channels_count (rss_channel_t *lista)
 
static void rsss_free_item (rss_rss_t *data)
 
static void rsss_add (rss_rss_t *new_)
 
static void rsss_destroy (void)
 
static void rss_string_append (rss_rss_t *f, const char *str)
 
static void rss_set_status (const char *uid, int status)
 
static void rss_set_descr (const char *uid, char *descr)
 
static void rss_set_statusdescr (const char *uid, int status, char *descr)
 
static rss_item_trss_item_find (rss_channel_t *c, const char *url, const char *title, const char *descr)
 
static rss_channel_trss_channel_find (rss_rss_t *f, const char *url, const char *title, const char *descr, const char *lang)
 
static rss_rss_trss_rss_find (session_t *s, const char *url)
 
static void rss_fetch_error (rss_rss_t *f, const char *str)
 
static void rss_handle_start (void *data, const char *name, const char **atts)
 
static void rss_handle_end (void *data, const char *name)
 
static void rss_handle_cdata (void *data, const char *text, int len)
 
static int rss_handle_encoding (void *data, const char *name, XML_Encoding *info)
 
static void rss_parsexml_atom (rss_rss_t *f, xmlnode_t *node)
 
static void rss_parsexml_rdf (rss_rss_t *f, xmlnode_t *node)
 
static void rss_parsexml_rss (rss_rss_t *f, xmlnode_t *node)
 
static void xmlnode_free (xmlnode_t *n)
 
static void rss_fetch_process (rss_rss_t *f, const char *str)
 
static int rss_fetch_handler (int type, int fd, const char *watch, void *data)
 
static int rss_fetch_handler_connect (int type, int fd, watch_type_t watch, void *data)
 
static int rss_url_fetch (rss_rss_t *f, int quiet)
 
static int rss_url_fetch_resolver (int type, int fd, watch_type_t watch, void *data)
 
static int rss_command_check (const char *name, const char **params, session_t *session, const char *target, int quiet)
 
static int rss_command_get (const char *name, const char **params, session_t *session, const char *target, int quiet)
 
static int rss_command_show (const char *name, const char **params, session_t *session, const char *target, int quiet)
 
static int rss_command_subscribe (const char *name, const char **params, session_t *session, const char *target, int quiet)
 
static int rss_command_unsubscribe (const char *name, const char **params, session_t *session, const char *target, int quiet)
 
static int rss_userlist_info (void *data, va_list ap)
 
gboolean periodic_check (void *data)
 

Zmienne

plugin_t feed_plugin
 
static const struct htmlent_t html_entities []
 
plugin_t rss_plugin = { .name = "rss", .pclass = PLUGIN_PROTOCOL , .destroy = rss_plugin_destroy, .theme_init = rss_theme_init }
 
static plugins_params_t rss_plugin_vars []
 
static rss_rss_trsss
 

Dokumentacja definicji

◆ EKG_WINACT_RSS

#define EKG_WINACT_RSS   EKG_WINACT_IMPORTANT

◆ feed_private

#define feed_private (   s)    ((s && s->priv) ? ((feed_private_t *) s->priv)->priv_data : NULL)

◆ rss_convert_string

#define rss_convert_string (   text,
  encoding 
)    ekg_recode_to_core_dup(encoding ? encoding : "UTF-8", text)

◆ RSS_DEFAULT_TIMEOUT

#define RSS_DEFAULT_TIMEOUT   60

◆ RSS_FLAGS_TARGET

#define RSS_FLAGS_TARGET   RSS_ONLY | COMMAND_ENABLEREQPARAMS | COMMAND_PARAMASTARGET

◆ RSS_ONLY

#define RSS_ONLY   SESSION_MUSTBELONG | SESSION_MUSTHASPRIVATE

Dokumentacja definicji typów

◆ rss_channel_t

◆ rss_item_t

typedef struct rss_item_list rss_item_t

◆ rss_rss_t

typedef struct rss_rss_list rss_rss_t

◆ xmlnode_t

typedef struct xmlnode_s xmlnode_t

Dokumentacja typów wyliczanych

◆ rss_proto_t

Wartości wyliczeń
RSS_PROTO_UNKNOWN 
RSS_PROTO_HTTP 
RSS_PROTO_HTTPS 
RSS_PROTO_FTP 
RSS_PROTO_FILE 
RSS_PROTO_EXEC 

Dokumentacja funkcji

◆ __attribute__()

__attribute__ ( (visibility("default"))  )

◆ periodic_check()

gboolean periodic_check ( void *  data)

◆ rss_channel_find()

static rss_channel_t* rss_channel_find ( rss_rss_t f,
const char *  url,
const char *  title,
const char *  descr,
const char *  lang 
)
static

◆ rss_channel_free_item()

static void rss_channel_free_item ( rss_channel_t data)
static

◆ rss_channels_add()

static void rss_channels_add ( rss_channel_t **  lista,
rss_channel_t new_ 
)
static

◆ rss_channels_count()

static int rss_channels_count ( rss_channel_t lista)
static

◆ rss_channels_destroy()

static void rss_channels_destroy ( rss_channel_t **  lista)
static

◆ rss_command_check()

static int rss_command_check ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
)
static

◆ rss_command_get()

static int rss_command_get ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
)
static

◆ rss_command_show()

static int rss_command_show ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
)
static

◆ rss_command_subscribe()

static int rss_command_subscribe ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
)
static

◆ rss_command_unsubscribe()

static int rss_command_unsubscribe ( const char *  name,
const char **  params,
session_t session,
const char *  target,
int  quiet 
)
static

◆ rss_deinit()

void rss_deinit ( )

◆ rss_fetch_error()

static void rss_fetch_error ( rss_rss_t f,
const char *  str 
)
static

◆ rss_fetch_handler()

static int rss_fetch_handler ( int  type,
int  fd,
const char *  watch,
void *  data 
)
static

◆ rss_fetch_handler_connect()

static int rss_fetch_handler_connect ( int  type,
int  fd,
watch_type_t  watch,
void *  data 
)
static

◆ rss_fetch_process()

static void rss_fetch_process ( rss_rss_t f,
const char *  str 
)
static

◆ rss_handle_cdata()

static void rss_handle_cdata ( void *  data,
const char *  text,
int  len 
)
static

◆ rss_handle_encoding()

static int rss_handle_encoding ( void *  data,
const char *  name,
XML_Encoding *  info 
)
static

◆ rss_handle_end()

static void rss_handle_end ( void *  data,
const char *  name 
)
static

◆ rss_handle_start()

static void rss_handle_start ( void *  data,
const char *  name,
const char **  atts 
)
static

◆ rss_init()

void rss_init ( )

◆ rss_item_find()

static rss_item_t* rss_item_find ( rss_channel_t c,
const char *  url,
const char *  title,
const char *  descr 
)
static

◆ rss_item_free_item()

static void rss_item_free_item ( rss_item_t data)
static

◆ rss_items_add()

static void rss_items_add ( rss_item_t **  lista,
rss_item_t new_ 
)
static

◆ rss_items_count()

static int rss_items_count ( rss_item_t lista)
static

◆ rss_items_destroy()

static void rss_items_destroy ( rss_item_t **  lista)
static

◆ rss_message()

static int rss_message ( void *  data,
va_list  ap 
)
static

◆ rss_parsexml_atom()

static void rss_parsexml_atom ( rss_rss_t f,
xmlnode_t node 
)
static

◆ rss_parsexml_rdf()

static void rss_parsexml_rdf ( rss_rss_t f,
xmlnode_t node 
)
static

◆ rss_parsexml_rss()

static void rss_parsexml_rss ( rss_rss_t f,
xmlnode_t node 
)
static

◆ rss_plugin_destroy()

static int rss_plugin_destroy ( )
static

◆ rss_protocol_deinit()

void rss_protocol_deinit ( void *  priv)

◆ rss_protocol_init()

void * rss_protocol_init ( session_t session)

◆ rss_rss_find()

static rss_rss_t* rss_rss_find ( session_t s,
const char *  url 
)
static

◆ rss_session_deinit()

static int rss_session_deinit ( void *  data,
va_list  ap 
)
static

◆ rss_session_init()

static int rss_session_init ( void *  data,
va_list  ap 
)
static

◆ rss_set_descr()

static void rss_set_descr ( const char *  uid,
char *  descr 
)
static

◆ rss_set_status()

static void rss_set_status ( const char *  uid,
int  status 
)
static

◆ rss_set_statusdescr()

static void rss_set_statusdescr ( const char *  uid,
int  status,
char *  descr 
)
static

◆ rss_string_append()

static void rss_string_append ( rss_rss_t f,
const char *  str 
)
static

◆ rss_theme_init()

static int rss_theme_init ( )
static

◆ rss_url_fetch()

static int rss_url_fetch ( rss_rss_t f,
int  quiet 
)
static

◆ rss_url_fetch_resolver()

static int rss_url_fetch_resolver ( int  type,
int  fd,
watch_type_t  watch,
void *  data 
)
static

◆ rss_userlist_info()

static int rss_userlist_info ( void *  data,
va_list  ap 
)
static

◆ rss_validate_uid()

static int rss_validate_uid ( void *  data,
va_list  ap 
)
static

◆ rsss_add()

static void rsss_add ( rss_rss_t new_)
static

◆ rsss_destroy()

static void rsss_destroy ( void  )
static

◆ rsss_free_item()

static void rsss_free_item ( rss_rss_t data)
static

◆ update_timer()

void update_timer ( session_t s,
const char *  name 
)

◆ xmlnode_free()

static void xmlnode_free ( xmlnode_t n)
static

Dokumentacja zmiennych

◆ feed_plugin

plugin_t feed_plugin

◆ html_entities

const struct htmlent_t html_entities[]
static

◆ rss_plugin

plugin_t rss_plugin = { .name = "rss", .pclass = PLUGIN_PROTOCOL , .destroy = rss_plugin_destroy, .theme_init = rss_theme_init }

◆ rss_plugin_vars

plugins_params_t rss_plugin_vars[]
static
Wartość początkowa:
= {
{ "alias" , NULL , 0 , VAR_STR , NULL , NULL },
{ "display_mode" , "3" , 0 , VAR_INT , NULL , NULL },
{ "display_headers" , "pubDate: author: dc:creator: dc:date:" , 0 , VAR_STR , NULL , NULL },
{ "display_server_headers" , "HTTP/1.1 " "Server: " "Date: " , 0 , VAR_STR , NULL , NULL },
{ "make_window" , "2" , 0 , VAR_INT , NULL , NULL },
{ "check_interval" , "30" , 0 , VAR_INT , update_timer , NULL },
{ NULL, NULL, 0, -1, NULL }
}
Definition: vars.h:33
#define NULL
Definition: oralog.c:49
void update_timer(session_t *s, const char *name)
Definition: rss.c:1663
Definition: vars.h:34

◆ rsss

rss_rss_t* rsss
static