Steven Boger <[EMAIL PROTECTED]> said something to this effect on 09/24/2001:
> I have heard whispers of calling internal OAS functions
> directly in mod_perl instead of using OAS's hacked mod_include.
> 
> If anybody has info on this, i'd greatly appreciate it...

I've looked into using the OAS API (v.4.65 or so) through
mod_perl, and it's rough going.  The mod_oas.c that comes
with the tarball is probably the best place to start (though I
haven't yet).

The version I am looking at defines MOD_OAS_VERSION as
"mod_oas/4.65"; this may not be appropriate anymore.

The key to linking against liboas (or whatever it's called) is at
the beginning of mod_oas.c (lines 22 to 29 in my copy):

/*
 * oas Calls
 */
extern int OASInit (server_rec *s, const char *oaspath);
extern int OASDirector (request_rec *r);
extern int OAS_log_verbose (const char *fmt, ...);
extern void OAS_ap_unmap_shm (void *);

(There is also int OASSendFile(request_req r) which is missing
from the above declaration but called in the oas_send_file
function within mod_oas.c.)

You can figure out how to call them in your XS file from how they
are used in mod_oas.c.

Put the oas library (mod_oas.so?) somewhere it can be linked
against (and list it in your Makefile.PL).

I don't have too much concrete info (sorry about that) but that
should give you someplace to start.  I'd love to hear whether you
get anywhere...

(darren)

-- 
All truth passes through three stages: first, it is ridiculed; next it
is violently attacked; finally, it is held to be self-evident.
    -- Schopenhauer

Reply via email to