
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@933 8e941d3f-bd1b-0410-a28a-d453659cc2b4
179 lines
13 KiB
C++
179 lines
13 KiB
C++
|
|
(*
|
|
* LibVortex: C Header file to Free Pascal translation.
|
|
* Copyright (C) 2009, Wimpie Nortje <wimpienortje@gmail.com>
|
|
*)
|
|
|
|
(*
|
|
* LibVortex: A BEEP (RFC3080/RFC3081) implementation.
|
|
* Copyright (C) 2008 Advanced Software Production Line, S.L.
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public License
|
|
* as published by the Free Software Foundation; either version 2.1
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this program; if not, write to the Free
|
|
* Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
* 02111-1307 USA
|
|
*
|
|
* You may find a copy of the license under this software is released
|
|
* at COPYING file. This is LGPL software: you are welcome to develop
|
|
* proprietary applications using this library without any royalty or
|
|
* fee but returning back any change, improvement or addition in the
|
|
* form of source code, project image, documentation patches, etc.
|
|
*
|
|
* For commercial support on build BEEP enabled solutions contact us:
|
|
*
|
|
* Postal address:
|
|
* Advanced Software Production Line, S.L.
|
|
* C/ Antonio Suarez Nº 10,
|
|
* Edificio Alius A, Despacho 102
|
|
* Alcalá de Henares 28802 (Madrid)
|
|
* Spain
|
|
*
|
|
* Email address:
|
|
* info@aspl.es - http://www.aspl.es/vortex
|
|
*)
|
|
|
|
{* api to configure current I/O system *}
|
|
//axl_bool vortex_io_waiting_use (VortexCtx * ctx,
|
|
// VortexIoWaitingType type);
|
|
function vortex_io_waiting_use (ctx : PVortexCtx;
|
|
atype : TVortexIoWaitingType):Taxl_bool;
|
|
cdecl;external External_library name 'vortex_io_waiting_use';
|
|
|
|
//axl_bool vortex_io_waiting_is_available (VortexIoWaitingType type);
|
|
function vortex_io_waiting_is_available (atype : TVortexIoWaitingType):Taxl_bool;
|
|
cdecl;external External_library name 'vortex_io_waiting_is_available';
|
|
|
|
//VortexIoWaitingType vortex_io_waiting_get_current (VortexCtx * ctx);
|
|
function vortex_io_waiting_get_current (ctx : PVortexCtx):TVortexIoWaitingType;
|
|
cdecl;external External_library name 'vortex_io_waiting_get_current';
|
|
|
|
//void vortex_io_waiting_set_create_fd_group (VortexCtx * ctx,
|
|
// VortexIoCreateFdGroup create);
|
|
procedure vortex_io_waiting_set_create_fd_group (ctx : PVortexCtx;
|
|
create : TVortexIoCreateFdGroup);
|
|
cdecl;external External_library name 'vortex_io_waiting_set_create_fd_group';
|
|
|
|
//void vortex_io_waiting_set_destroy_fd_group (VortexCtx * ctx,
|
|
// VortexIoDestroyFdGroup destroy);
|
|
procedure vortex_io_waiting_set_destroy_fd_group (ctx : PVortexCtx;
|
|
destroy : TVortexIoDestroyFdGroup);
|
|
cdecl;external External_library name 'vortex_io_waiting_set_destroy_fd_group';
|
|
|
|
//void vortex_io_waiting_set_clear_fd_group (VortexCtx * ctx,
|
|
// VortexIoClearFdGroup clear);
|
|
procedure vortex_io_waiting_set_clear_fd_group (ctx : PVortexCtx;
|
|
clear : TVortexIoClearFdGroup);
|
|
cdecl;external External_library name 'vortex_io_waiting_set_clear_fd_group';
|
|
|
|
//void vortex_io_waiting_set_add_to_fd_group (VortexCtx * ctx,
|
|
// VortexIoAddToFdGroup add_to);
|
|
procedure vortex_io_waiting_set_add_to_fd_group (ctx : PVortexCtx;
|
|
add_to : TVortexIoAddToFdGroup);
|
|
cdecl;external External_library name 'vortex_io_waiting_set_add_to_fd_group';
|
|
|
|
//void vortex_io_waiting_set_is_set_fd_group (VortexCtx * ctx,
|
|
// VortexIoIsSetFdGroup is_set);
|
|
procedure vortex_io_waiting_set_is_set_fd_group (ctx : PVortexCtx;
|
|
is_set : TVortexIoIsSetFdGroup);
|
|
cdecl;external External_library name 'vortex_io_waiting_set_is_set_fd_group';
|
|
|
|
//void vortex_io_waiting_set_have_dispatch (VortexCtx * ctx,
|
|
// VortexIoHaveDispatch have_dispatch);
|
|
procedure vortex_io_waiting_set_have_dispatch (ctx : PVortexCtx;
|
|
have_dispatch : TVortexIoHaveDispatch);
|
|
cdecl;external External_library name 'vortex_io_waiting_set_have_dispatch';
|
|
|
|
//void vortex_io_waiting_set_dispatch (VortexCtx * ctx,
|
|
// VortexIoDispatch dispatch);
|
|
procedure vortex_io_waiting_set_dispatch (ctx : PVortexCtx;
|
|
dispatch : TVortexIoDispatch);
|
|
cdecl;external External_library name 'vortex_io_waiting_set_dispatch';
|
|
|
|
//void vortex_io_waiting_set_wait_on_fd_group (VortexCtx * ctx,
|
|
// VortexIoWaitOnFdGroup wait_on);
|
|
procedure vortex_io_waiting_set_wait_on_fd_group (ctx : PVortexCtx;
|
|
wait_on : TVortexIoWaitOnFdGroup);
|
|
cdecl;external External_library name 'vortex_io_waiting_set_wait_on_fd_group';
|
|
|
|
{* api to perform invocations to the current I/O system configured *}
|
|
//axlPointer vortex_io_waiting_invoke_create_fd_group (VortexCtx * ctx,
|
|
// VortexIoWaitingFor wait_to);
|
|
function vortex_io_waiting_invoke_create_fd_group (ctx : PVortexCtx;
|
|
wait_to : TVortexIoWaitingFor):TaxlPointer;
|
|
cdecl;external External_library name 'vortex_io_waiting_invoke_create_fd_group';
|
|
|
|
//void vortex_io_waiting_invoke_destroy_fd_group (VortexCtx * ctx,
|
|
// axlPointer fd_group);
|
|
procedure vortex_io_waiting_invoke_destroy_fd_group (ctx : PVortexCtx;
|
|
fd_group : TaxlPointer);
|
|
cdecl;external External_library name 'vortex_io_waiting_invoke_destroy_fd_group';
|
|
|
|
//void vortex_io_waiting_invoke_clear_fd_group (VortexCtx * ctx,
|
|
// axlPointer fd_group);
|
|
procedure vortex_io_waiting_invoke_clear_fd_group (ctx : PVortexCtx;
|
|
fd_group : TaxlPointer);
|
|
cdecl;external External_library name 'vortex_io_waiting_invoke_clear_fd_group';
|
|
|
|
//axl_bool vortex_io_waiting_invoke_add_to_fd_group (VortexCtx * ctx,
|
|
// VORTEX_SOCKET fds,
|
|
// VortexConnection * connection,
|
|
// axlPointer fd_group);
|
|
function vortex_io_waiting_invoke_add_to_fd_group (ctx : PVortexCtx;
|
|
fds : TVORTEX_SOCKET;
|
|
connection : PVortexConnection;
|
|
fd_group : TaxlPointer):Taxl_bool;
|
|
cdecl;external External_library name 'vortex_io_waiting_invoke_add_to_fd_group';
|
|
|
|
//axl_bool vortex_io_waiting_invoke_is_set_fd_group (VortexCtx * ctx,
|
|
// VORTEX_SOCKET fds,
|
|
// axlPointer fd_group,
|
|
// axlPointer user_data);
|
|
function vortex_io_waiting_invoke_is_set_fd_group (ctx : PVortexCtx;
|
|
fds : TVORTEX_SOCKET;
|
|
fd_group : TaxlPointer;
|
|
user_data : TaxlPointer):Taxl_bool;
|
|
cdecl;external External_library name 'vortex_io_waiting_invoke_is_set_fd_group';
|
|
|
|
//axl_bool vortex_io_waiting_invoke_have_dispatch (VortexCtx * ctx,
|
|
// axlPointer fd_group);
|
|
function vortex_io_waiting_invoke_have_dispatch (ctx : PVortexCtx;
|
|
fd_group : TaxlPointer):Taxl_bool;
|
|
cdecl;external External_library name 'vortex_io_waiting_invoke_have_dispatch';
|
|
|
|
//void vortex_io_waiting_invoke_dispatch (VortexCtx * ctx,
|
|
// axlPointer fd_group,
|
|
// VortexIoDispatchFunc func,
|
|
// int changed,
|
|
// axlPointer user_data);
|
|
procedure vortex_io_waiting_invoke_dispatch (ctx : PVortexCtx;
|
|
fd_group : TaxlPointer;
|
|
func : TVortexIoDispatchFunc;
|
|
changed : longint;
|
|
user_data : TaxlPointer);
|
|
cdecl;external External_library name 'vortex_io_waiting_invoke_dispatch';
|
|
|
|
//int vortex_io_waiting_invoke_wait (VortexCtx * ctx,
|
|
// axlPointer fd_group,
|
|
// int max_fds,
|
|
// VortexIoWaitingFor wait_to);
|
|
function vortex_io_waiting_invoke_wait (ctx : PVortexCtx;
|
|
fd_group : TaxlPointer;
|
|
max_fds : longint;
|
|
wait_to : TVortexIoWaitingFor):longint;
|
|
cdecl;external External_library name 'vortex_io_waiting_invoke_wait';
|
|
|
|
//void vortex_io_init (VortexCtx * ctx);
|
|
procedure vortex_io_init (ctx:PVortexCtx);
|
|
cdecl;external External_library name 'vortex_io_init';
|
|
|