Annotation of embedaddon/lighttpd/src/plugin.h, revision 1.1.1.2

1.1       misho       1: #ifndef _PLUGIN_H_
                      2: #define _PLUGIN_H_
1.1.1.2 ! misho       3: #include "first.h"
1.1       misho       4: 
                      5: #include "base.h"
                      6: #include "buffer.h"
                      7: 
                      8: #define SERVER_FUNC(x) \
                      9:                static handler_t x(server *srv, void *p_d)
                     10: 
                     11: #define CONNECTION_FUNC(x) \
                     12:                static handler_t x(server *srv, connection *con, void *p_d)
                     13: 
                     14: #define INIT_FUNC(x) \
                     15:                static void *x(void)
                     16: 
                     17: #define FREE_FUNC          SERVER_FUNC
                     18: #define TRIGGER_FUNC       SERVER_FUNC
                     19: #define SETDEFAULTS_FUNC   SERVER_FUNC
                     20: #define SIGHUP_FUNC        SERVER_FUNC
                     21: 
                     22: #define SUBREQUEST_FUNC    CONNECTION_FUNC
                     23: #define PHYSICALPATH_FUNC  CONNECTION_FUNC
                     24: #define REQUESTDONE_FUNC   CONNECTION_FUNC
                     25: #define URIHANDLER_FUNC    CONNECTION_FUNC
                     26: 
                     27: #define PLUGIN_DATA        size_t id
                     28: 
                     29: typedef struct {
                     30:        size_t version;
                     31: 
                     32:        buffer *name; /* name of the plugin */
                     33: 
                     34:        void *(* init)                       ();
                     35:        handler_t (* set_defaults)           (server *srv, void *p_d);
                     36:        handler_t (* cleanup)                (server *srv, void *p_d);
                     37:                                                                                           /* is called ... */
                     38:        handler_t (* handle_trigger)         (server *srv, void *p_d);                     /* once a second */
                     39:        handler_t (* handle_sighup)          (server *srv, void *p_d);                     /* at a signup */
                     40: 
                     41:        handler_t (* handle_uri_raw)         (server *srv, connection *con, void *p_d);    /* after uri_raw is set */
                     42:        handler_t (* handle_uri_clean)       (server *srv, connection *con, void *p_d);    /* after uri is set */
                     43:        handler_t (* handle_docroot)         (server *srv, connection *con, void *p_d);    /* getting the document-root */
                     44:        handler_t (* handle_physical)        (server *srv, connection *con, void *p_d);    /* mapping url to physical path */
                     45:        handler_t (* handle_request_done)    (server *srv, connection *con, void *p_d);    /* at the end of a request */
                     46:        handler_t (* handle_connection_close)(server *srv, connection *con, void *p_d);    /* at the end of a connection */
                     47: 
                     48: 
                     49: 
                     50:        handler_t (* handle_subrequest_start)(server *srv, connection *con, void *p_d);
                     51: 
                     52:                                                                                           /* when a handler for the request
                     53:                                                                                            * has to be found
                     54:                                                                                            */
                     55:        handler_t (* handle_subrequest)      (server *srv, connection *con, void *p_d);    /* */
                     56:        handler_t (* connection_reset)       (server *srv, connection *con, void *p_d);    /* */
                     57:        void *data;
                     58: 
                     59:        /* dlopen handle */
                     60:        void *lib;
                     61: } plugin;
                     62: 
                     63: int plugins_load(server *srv);
                     64: void plugins_free(server *srv);
                     65: 
                     66: handler_t plugins_call_handle_uri_raw(server *srv, connection *con);
                     67: handler_t plugins_call_handle_uri_clean(server *srv, connection *con);
                     68: handler_t plugins_call_handle_subrequest_start(server *srv, connection *con);
                     69: handler_t plugins_call_handle_subrequest(server *srv, connection *con);
                     70: handler_t plugins_call_handle_request_done(server *srv, connection *con);
                     71: handler_t plugins_call_handle_docroot(server *srv, connection *con);
                     72: handler_t plugins_call_handle_physical(server *srv, connection *con);
                     73: handler_t plugins_call_handle_connection_close(server *srv, connection *con);
                     74: handler_t plugins_call_connection_reset(server *srv, connection *con);
                     75: 
                     76: handler_t plugins_call_handle_trigger(server *srv);
                     77: handler_t plugins_call_handle_sighup(server *srv);
                     78: 
                     79: handler_t plugins_call_init(server *srv);
                     80: handler_t plugins_call_set_defaults(server *srv);
                     81: handler_t plugins_call_cleanup(server *srv);
                     82: 
1.1.1.2 ! misho      83: int config_insert_values_global(server *srv, array *ca, const config_values_t *cv, config_scope_type_t scope);
        !            84: int config_insert_values_internal(server *srv, array *ca, const config_values_t *cv, config_scope_type_t scope);
1.1       misho      85: int config_check_cond(server *srv, connection *con, data_config *dc);
                     86: int config_append_cond_match_buffer(connection *con, data_config *dc, buffer *buf, int n);
                     87: 
                     88: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>