TABLE OF CONTENTS


libram/libram_close [ Functions ]

[ Top ] [ libram ] [ Functions ]

NAME

libram_close - inform backend about a closed connection

SYNOPSIS

struct reply *libram_close(ram_fh fh, int flags, long id, conn_payload* d)

DESCRIPTION

libram_close informs the backend about the end of a connection. The connection is specified by the parameter id, that is chosen with libram_open(3).

If there is any data that is not yes analyzed by backend module, it is passed in d.

The result of the libram_close(3) call is a reply structure, that can either be collected directly with libram_close(3) in synchronous mode, or by libram_process(3), libram_wait(3) or libram_poll(3) in asynchronous mode.

If the client is not interested in the reply structure at all, it can set flags to LIBRAM_DISCARD_RESULT. libram_close(3) will then always return NULL.

ARGUMENTS

RETURN

SEE ALSO

libram_load(3), libram_init(3), libram_open(3), libram_data(3), libram_flags(3), ram_fh(3), conn_payload(3), libram_module(3), libram(3)


libram/libram_data [ Functions ]

[ Top ] [ libram ] [ Functions ]

NAME

libram_data - pass connection data to the background analysis module

SYNOPSIS

struct reply *libram_data(ram_fh fh, int flags, long id, conn_payload* d)

DESCRIPTION

libram_data(3) passes connection data to the backend module. The connection is specified by the parameter id, that is first choosen in libram_open(3).

The result of the libram_data(3) call is a reply structure, that can either be collected directly with libram_data(3) in synchronous mode, or by libram_process(3), libram_wait(3) or libram_poll(3) in asynchronous mode.

If the client is not interested in the reply structure at all, it can set flags to LIBRAM_DISCARD_RESULT. libram_data(3) will then always return NULL.

ARGUMENTS

RETURN

SEE ALSO

libram(3), ram_fh(3), conn_hdr(3), conn_payload(3), libram_open(3), libram_close(3), libram_flags(3), libram_load(3), libram_init(3), libram_exit(3)


libram/libram_open [ Functions ]

[ Top ] [ libram ] [ Functions ]

NAME

libram_open - pass a new connection to the background analysis module

SYNOPSIS

struct reply *libram_open(ram_fh fh, int flags, long id,
                                conn_hdr *hdr, conn_payload *d)

DESCRIPTION

libram_open(3) informs the analysis backend about a new tcp or udp session. Transport parameter details about the connection are passed in the hdr argument. If there is already data available to the new connection this data is passed in d.

Further data is passed to the backend with libram_data(3). The session is closed again using libram_close(3).

To allow the backend to assemble a session from several libram_data(3) or libram_close(3) calls, the client chooses a unique identifier id in libram_open(3). This identifier is passed to all libram_data(3) or libram_close(3) calls that belong to the same session.

In synchronous mode the result of libram_open(3) is reply structure. In asynchronous mode the result is NULL if the analysis result in not yes available. If a result is available libram_open(3) returns a non NULL reply structure, that may be processed by the client immediate. If the client cannot process the reply structure immediate, the reply can later be collected using libram_process(3), libram_wait(3), or libram_poll(3).

If the client is not interested in the reply structure at all, it can set flags to LIBRAM_DISCARD_RESULT. libram_open(3) will then always return NULL.

ARGUMENTS

RETURN

SEE ALSO

libram(3), ram_fh(3), conn_hdr(3), conn_payload(3), libram_data(3), libram_close(3), libram_flags(3), libram_load(3), libram_init(3), libram_exit(3)