From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: rm@fabula.de Newsgroups: gmane.lisp.guile.devel Subject: Re: What replaces scm_register_module_xxx (Doc update?) Date: Fri, 9 Aug 2002 17:36:45 +0200 Sender: guile-devel-admin@gnu.org Message-ID: <20020809153645.GA25688@www> References: <20020808134824.GB23831@www> <20020808102103.021cdc0c.dsmith@altustech.com> <874re5mnfs.fsf@raven.i.defaultvalue.org> <20020808161958.GA24162@www> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1028906661 21573 127.0.0.1 (9 Aug 2002 15:24:21 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Fri, 9 Aug 2002 15:24:21 +0000 (UTC) Cc: rm@fabula.de, Rob Browning , "Dale P. Smith" , guile-devel@gnu.org Return-path: Original-Received: from fencepost.gnu.org ([199.232.76.164]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17dBch-0005bk-00 for ; Fri, 09 Aug 2002 17:24:19 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17dBdQ-0007QK-00; Fri, 09 Aug 2002 11:25:04 -0400 Original-Received: from www.elogos.de ([212.18.192.92]) by fencepost.gnu.org with smtp (Exim 3.35 #1 (Debian)) id 17dBd9-0007P1-00 for ; Fri, 09 Aug 2002 11:24:47 -0400 Original-Received: by www.elogos.de (Postfix, from userid 5001) id CF5671049A6; Fri, 9 Aug 2002 17:36:45 +0200 (CEST) Original-To: Neil Jerram Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.3.24i Errors-To: guile-devel-admin@gnu.org X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Developers list for Guile, the GNU extensibility library List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.lisp.guile.devel:1050 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:1050 On Thu, Aug 08, 2002 at 10:28:08PM +0100, Neil Jerram wrote: > > Right now I'm afraid I don't follow the structure of your > extension(s), but it certainly sounds to me like you ought to be able > to achieve what you are trying to. Well, my extension isn't -- it's an application (Apache in this special case, but i think the problem is a general one). > Could you describe the structure in more detail, in terms of code > modules (C and Scheme), libraries, how things get loaded and > configured, etc.? Apache (the application) loads mod_guile (an apache module). mod_guile registers some callback functions with apache. Apache then calls theses functions whenever it thinks that a certain part of a request (authrntication, authorization, URL-rewrite, content delivery etc.) should be handled by guile (as can be customized in apaches configuration file). mod_guile then calls the function that is supposed to handle this part of a request (again, the module and name of the function can be specified in the server configuration files). To ba able to do something usefull, these functions need to be able to access the data structures of the server/request. Each hander function is passed a request-record structure (a SMOB arround apaches 'real' datastructure) as a parameter - this structure has fields that point to the server and connection record structures as well. Since all of these structures have quite a lot of fields we end up with a lot of functions (getters/setters). All of these functions are defined in mod_guile but of course should go into separate guile modules. Right now (as you can see, i got it working ;-) the following modules are defined: (apache request), (apache server), (apache connection), (apache tables), (mod-guile utils). Ralf Mattes _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel