[REBOL] Re: [books] Pre-release of Chapter 5 of Rebol - A programmer's guide
From: tim-johnsons::web::com at: 4-Jul-2008 16:53
On Friday 04 July 2008, Nick Antonaccio wrote:
> Hmmm, I thought I posted that link several messages back... Anyway,
> here's how to wrap functions from a library (from the other link in
> that earlier message):
>
> ; to open the library:
>
> lib: load/library %TheNameOfYour.library
>
> ; to wrap a function in the library:
>
> your-rebol-function-name: make routine! [
> return-value: [data-type!]
> first-parameter [data-type!]
> another-parameter [data-type!]
> more-parameters [and-their-data-types!]
> ...
> ] lib "TheFunctionNameInsideThelibrary"
>
> ; to run the wrapped function in Rebol with your parameters:
>
> your-rebol-function-name parameter1 parameter2 ...
>
> ; to free the library when done:
>
> free lib
>
> I'm not at all familiar with the MySQL api, but here's a quick example
> of the mysql_real_connect function wrapped for Rebol. You'll need to
> fix the datatypes (for example, I'm not sure what type mysql_init
> returns for use as the first parameter "conn"), but this outline
> should give you an idea of how to get started:
>
> lib: load/library %/usr/lib/libmysqlclient.so.15
>
> mysql-connect: make routine! [
> return: [integer!]
> parameter1 [int!] ; not sure of this type
> parameter2 [string!]
> parameter2 [string!]
> parameter2 [string!]
> parameter2 [string!]
> parameter2 [int!]
> parameter2 [string!]
> parameter2 [int!] ; not sure of this type
> ] lib "mysql_real_connect"
>
> ; the "conn" variable below is gotten by running mysql_init
>
> mysql-connect conn, "localhost" "root" "PASSWORD" "mysql" 0, "", 0
Thanks Nick!
Tim