int __declspec()

in src/generic/web.c [27:134]


int __declspec(dllexport) Websh_Init(Tcl_Interp * interp)
{

    UrlData *urlData;
    RequestData *requestData;
    LogData *logData;

    if (interp == NULL)
	return TCL_ERROR;

    /* --------------------------------------------------------------------------
     * stubs
     * ----------------------------------------------------------------------- */
    Tcl_InitStubs(interp, "8.2", 0);

    /* --------------------------------------------------------------------------
     * the encoding module (htmlify,uricode)
     * ----------------------------------------------------------------------- */
    if (conv_Init(interp) == TCL_ERROR)
	return TCL_ERROR;

    /* --------------------------------------------------------------------------
     * output handler
     * ----------------------------------------------------------------------- */
    if (webout_Init(interp) == TCL_ERROR)
	return TCL_ERROR;

    /* --------------------------------------------------------------------------
     * messages on streams
     * ----------------------------------------------------------------------- */
    if (messages_Init(interp) == TCL_ERROR)
	return TCL_ERROR;

    /* --------------------------------------------------------------------------
     * cryptography
     * ----------------------------------------------------------------------- */
    if (nca_d_Init(interp) == TCL_ERROR)
	return TCL_ERROR;

    if (crypt_Init(interp) == TCL_ERROR)
	return TCL_ERROR;

    /* --------------------------------------------------------------------------
     * url generation
     * ----------------------------------------------------------------------- */
    if (url_Init(interp) == TCL_ERROR)
	return TCL_ERROR;

    /* --------------------------------------------------------------------------
     * request data management
     * ----------------------------------------------------------------------- */
    if (request_Init(interp) == TCL_ERROR)
	return TCL_ERROR;

    /* --------------------------------------------------------------------------
     * logging (needs to be after request_Init, because it needs requestData)
     * ----------------------------------------------------------------------- */
    if (log_Init(interp) == TCL_ERROR)
	return TCL_ERROR;

    /* --------------------------------------------------------------------------
     * filecounter (needs to be after request_Init, because it needs requestData)
     * ----------------------------------------------------------------------- */
    if (filecounter_Init(interp) == TCL_ERROR)
	return TCL_ERROR;

    /* --------------------------------------------------------------------------
     * interlink some data
     * ----------------------------------------------------------------------- */
    requestData =
	(RequestData *) Tcl_GetAssocData(interp, WEB_REQ_ASSOC_DATA, NULL);
    urlData = (UrlData *) Tcl_GetAssocData(interp, WEB_URL_ASSOC_DATA, NULL);
    logData =  (LogData *) Tcl_GetAssocData(interp, WEB_LOG_ASSOC_DATA, NULL);

    urlData->requestData = requestData;
    logData->requestData = requestData;

    /* --------------------------------------------------------------------------
     * utilities
     * ----------------------------------------------------------------------- */
    if (webutlcmd_Init(interp) == TCL_ERROR)
	return TCL_ERROR;

    /* --------------------------------------------------------------------------
     * config
     * ----------------------------------------------------------------------- */
    if (cfg_Init(interp) == TCL_ERROR)
	return TCL_ERROR;

    /* --------------------------------------------------------------------------
     * tcl-code
     * ----------------------------------------------------------------------- */
    if (Script_Init(interp) == TCL_ERROR)
	return TCL_ERROR;

    /* --------------------------------------------------------------------------
     * mod_websh look-alike
     * ----------------------------------------------------------------------- */
    if (modwebsh_createcmd(interp) == TCL_ERROR)
	return TCL_ERROR;

    /* ------------------------------------------------------------------------
     * we provide the websh package
     * --------------------------------------------------------------------- */

    return Tcl_PkgProvide(interp, WEBSH, VERSION);

}