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

1.1     ! misho       1: #ifndef _PLUGIN_H_
        !             2: #define _PLUGIN_H_
        !             3: 
        !             4: #include "base.h"
        !             5: #include "buffer.h"
        !             6: 
        !             7: #define SERVER_FUNC(x) \
        !             8:                static handler_t x(server *srv, void *p_d)
        !             9: 
        !            10: #define CONNECTION_FUNC(x) \
        !            11:                static handler_t x(server *srv, connection *con, void *p_d)
        !            12: 
        !            13: #define INIT_FUNC(x) \
        !            14:                static void *x(void)
        !            15: 
        !            16: #define FREE_FUNC          SERVER_FUNC
        !            17: #define TRIGGER_FUNC       SERVER_FUNC
        !            18: #define SETDEFAULTS_FUNC   SERVER_FUNC
        !            19: #define SIGHUP_FUNC        SERVER_FUNC
        !            20: 
        !            21: #define SUBREQUEST_FUNC    CONNECTION_FUNC
        !            22: #define JOBLIST_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:        handler_t (* handle_joblist)         (server *srv, connection *con, void *p_d);    /* after all events are handled */
        !            48: 
        !            49: 
        !            50: 
        !            51:        handler_t (* handle_subrequest_start)(server *srv, connection *con, void *p_d);
        !            52: 
        !            53:                                                                                           /* when a handler for the request
        !            54:                                                                                            * has to be found
        !            55:                                                                                            */
        !            56:        handler_t (* handle_subrequest)      (server *srv, connection *con, void *p_d);    /* */
        !            57:        handler_t (* connection_reset)       (server *srv, connection *con, void *p_d);    /* */
        !            58:        void *data;
        !            59: 
        !            60:        /* dlopen handle */
        !            61:        void *lib;
        !            62: } plugin;
        !            63: 
        !            64: int plugins_load(server *srv);
        !            65: void plugins_free(server *srv);
        !            66: 
        !            67: handler_t plugins_call_handle_uri_raw(server *srv, connection *con);
        !            68: handler_t plugins_call_handle_uri_clean(server *srv, connection *con);
        !            69: handler_t plugins_call_handle_subrequest_start(server *srv, connection *con);
        !            70: handler_t plugins_call_handle_subrequest(server *srv, connection *con);
        !            71: handler_t plugins_call_handle_request_done(server *srv, connection *con);
        !            72: handler_t plugins_call_handle_docroot(server *srv, connection *con);
        !            73: handler_t plugins_call_handle_physical(server *srv, connection *con);
        !            74: handler_t plugins_call_handle_connection_close(server *srv, connection *con);
        !            75: handler_t plugins_call_handle_joblist(server *srv, connection *con);
        !            76: handler_t plugins_call_connection_reset(server *srv, connection *con);
        !            77: 
        !            78: handler_t plugins_call_handle_trigger(server *srv);
        !            79: handler_t plugins_call_handle_sighup(server *srv);
        !            80: 
        !            81: handler_t plugins_call_init(server *srv);
        !            82: handler_t plugins_call_set_defaults(server *srv);
        !            83: handler_t plugins_call_cleanup(server *srv);
        !            84: 
        !            85: int config_insert_values_global(server *srv, array *ca, const config_values_t *cv);
        !            86: int config_insert_values_internal(server *srv, array *ca, const config_values_t *cv);
        !            87: int config_setup_connection(server *srv, connection *con);
        !            88: int config_patch_connection(server *srv, connection *con, comp_key_t comp);
        !            89: int config_check_cond(server *srv, connection *con, data_config *dc);
        !            90: int config_append_cond_match_buffer(connection *con, data_config *dc, buffer *buf, int n);
        !            91: 
        !            92: #endif

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