(* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 3.0.11
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- *)

unit example;


{$define example_FUNCTION_WRAPPER}


{$define example_CLASS_WRAPPER}

interface

uses 
     Classes,
     SysUtils;


//type PDouble = ^double;


	type  
		Pdouble=^double;
		doubleArray = array[0..(MaxInt div sizeof(double))-1] of double;
		PdoubleArray = ^doubleArray;



	type  
		Pcardinal=^cardinal;
		cardinalArray = array[0..(MaxInt div sizeof(cardinal))-1] of cardinal;
		PcardinalArray = ^cardinalArray;



	type  
		CFILE=type Pointer;
		CFILEArray = array[0..(MaxInt div sizeof(CFILE))-1] of CFILE;
		PCFILEArray = ^CFILEArray;


type

Point = type pointer;
PPointArray = ^PointArray_;
PointArray_=array[0..(MaxInt div sizeof(Point))-1] of Point;

type
	Psize_t = ^Cardinal;


function New_Point (): Point; stdcall;

procedure Delete_Point ( self: Point); stdcall;

procedure Ivar_set (ivar: Integer); stdcall;

function Ivar_get (): Integer; stdcall;

procedure Svar_set (svar: Smallint); stdcall;

function Svar_get (): Smallint; stdcall;

procedure Lvar_set (lvar: Longword); stdcall;

function Lvar_get (): Longword; stdcall;

procedure Uivar_set (uivar: Cardinal); stdcall;

function Uivar_get (): Cardinal; stdcall;

procedure Usvar_set (usvar: Word); stdcall;

function Usvar_get (): Word; stdcall;

procedure Ulvar_set (ulvar: Longint); stdcall;

function Ulvar_get (): Longint; stdcall;

procedure Scvar_set (scvar: ShortInt); stdcall;

function Scvar_get (): ShortInt; stdcall;

procedure Ucvar_set (ucvar: Byte); stdcall;

function Ucvar_get (): Byte; stdcall;

procedure Cvar_set (cvar: Char); stdcall;

function Cvar_get (): Char; stdcall;

procedure Fvar_set (fvar: single); stdcall;

function Fvar_get (): single; stdcall;

procedure Dvar_set (dvar: Double); stdcall;

function Dvar_get (): Double; stdcall;

procedure Strvar_set ( strvar: PChar); stdcall;

function Strvar_get (): PChar; stdcall;

function Cstrvar_get (): PChar; stdcall;

procedure Iptrvar_set ( iptrvar: PInteger); stdcall;

function Iptrvar_get (): PInteger; stdcall;

procedure Name_set ( name: PChar); stdcall;

function Name_get (): PChar; stdcall;

procedure Ptptr_set ( ptptr: Point); stdcall;

function Ptptr_get (): Point; stdcall;

procedure Pt_set ( pt: Point); stdcall;

function Pt_get (): Point; stdcall;

function Status_get (): Integer; stdcall;

function Path_get (): PChar; stdcall;

procedure Print_vars (); stdcall;

function New_int (value: Integer): PInteger; stdcall;

function Make_Point (x, y: Integer): Point; stdcall;

function Point_print ( p: Point): PChar; stdcall;

procedure Pt_print (); stdcall;

{$ifdef example_CLASS_WRAPPER}

{$endif} //example_CLASS_WRAPPER

{$ifdef example_FUNCTION_WRAPPER}

// Functions Wrapper 


procedure Point_x_set ( self: Point;
x: Integer); stdcall;

function Point_x_get ( self: Point): Integer; stdcall;

procedure Point_y_set ( self: Point;
y: Integer); stdcall;

function Point_y_get ( self: Point): Integer; stdcall;

{$endif} //example_FUNCTION_WRAPPER

implementation


const __DLLNAME= 'example.dll';


const __WRAPDLLNAME= 'example.dll';


function New_Point (): Point; stdcall; external __DLLNAME name 'Delphi_new_Point';

procedure Delete_Point ( self: Point); stdcall; external __DLLNAME name 'Delphi_delete_Point';

procedure Ivar_set (ivar: Integer); stdcall; external __DLLNAME name 'Delphi_ivar_set';

function Ivar_get (): Integer; stdcall; external __DLLNAME name 'Delphi_ivar_get';

procedure Svar_set (svar: Smallint); stdcall; external __DLLNAME name 'Delphi_svar_set';

function Svar_get (): Smallint; stdcall; external __DLLNAME name 'Delphi_svar_get';

procedure Lvar_set (lvar: Longword); stdcall; external __DLLNAME name 'Delphi_lvar_set';

function Lvar_get (): Longword; stdcall; external __DLLNAME name 'Delphi_lvar_get';

procedure Uivar_set (uivar: Cardinal); stdcall; external __DLLNAME name 'Delphi_uivar_set';

function Uivar_get (): Cardinal; stdcall; external __DLLNAME name 'Delphi_uivar_get';

procedure Usvar_set (usvar: Word); stdcall; external __DLLNAME name 'Delphi_usvar_set';

function Usvar_get (): Word; stdcall; external __DLLNAME name 'Delphi_usvar_get';

procedure Ulvar_set (ulvar: Longint); stdcall; external __DLLNAME name 'Delphi_ulvar_set';

function Ulvar_get (): Longint; stdcall; external __DLLNAME name 'Delphi_ulvar_get';

procedure Scvar_set (scvar: ShortInt); stdcall; external __DLLNAME name 'Delphi_scvar_set';

function Scvar_get (): ShortInt; stdcall; external __DLLNAME name 'Delphi_scvar_get';

procedure Ucvar_set (ucvar: Byte); stdcall; external __DLLNAME name 'Delphi_ucvar_set';

function Ucvar_get (): Byte; stdcall; external __DLLNAME name 'Delphi_ucvar_get';

procedure Cvar_set (cvar: Char); stdcall; external __DLLNAME name 'Delphi_cvar_set';

function Cvar_get (): Char; stdcall; external __DLLNAME name 'Delphi_cvar_get';

procedure Fvar_set (fvar: single); stdcall; external __DLLNAME name 'Delphi_fvar_set';

function Fvar_get (): single; stdcall; external __DLLNAME name 'Delphi_fvar_get';

procedure Dvar_set (dvar: Double); stdcall; external __DLLNAME name 'Delphi_dvar_set';

function Dvar_get (): Double; stdcall; external __DLLNAME name 'Delphi_dvar_get';

procedure Strvar_set ( strvar: PChar); stdcall; external __DLLNAME name 'Delphi_strvar_set';

function Strvar_get (): PChar; stdcall; external __DLLNAME name 'Delphi_strvar_get';

function Cstrvar_get (): PChar; stdcall; external __DLLNAME name 'Delphi_cstrvar_get';

procedure Iptrvar_set ( iptrvar: PInteger); stdcall; external __DLLNAME name 'Delphi_iptrvar_set';

function Iptrvar_get (): PInteger; stdcall; external __DLLNAME name 'Delphi_iptrvar_get';

procedure Name_set ( name: PChar); stdcall; external __DLLNAME name 'Delphi_name_set';

function Name_get (): PChar; stdcall; external __DLLNAME name 'Delphi_name_get';

procedure Ptptr_set ( ptptr: Point); stdcall; external __DLLNAME name 'Delphi_ptptr_set';

function Ptptr_get (): Point; stdcall; external __DLLNAME name 'Delphi_ptptr_get';

procedure Pt_set ( pt: Point); stdcall; external __DLLNAME name 'Delphi_pt_set';

function Pt_get (): Point; stdcall; external __DLLNAME name 'Delphi_pt_get';

function Status_get (): Integer; stdcall; external __DLLNAME name 'Delphi_status_get';

function Path_get (): PChar; stdcall; external __DLLNAME name 'Delphi_path_get';

procedure Print_vars (); stdcall; external __DLLNAME name 'Delphi_print_vars';

function New_int (value: Integer): PInteger; stdcall; external __DLLNAME name 'Delphi_new_int';

function Make_Point (x, y: Integer): Point; stdcall; external __DLLNAME name 'Delphi_make_Point';

function Point_print ( p: Point): PChar; stdcall; external __DLLNAME name 'Delphi_Point_print';

procedure Pt_print (); stdcall; external __DLLNAME name 'Delphi_pt_print';

{$ifdef example_FUNCTION_WRAPPER}

// Functions Wrapper 


procedure Point_x_set ( self: Point;
x: Integer); stdcall; external __WRAPDLLNAME name 'Delphi_Point_x_set';

function Point_x_get ( self: Point): Integer; stdcall; external __WRAPDLLNAME name 'Delphi_Point_x_get';

procedure Point_y_set ( self: Point;
y: Integer); stdcall; external __WRAPDLLNAME name 'Delphi_Point_y_set';

function Point_y_get ( self: Point): Integer; stdcall; external __WRAPDLLNAME name 'Delphi_Point_y_get';

{$endif} //example_FUNCTION_WRAPPER

{$ifdef example_CLASS_WRAPPER}







































{$endif} //example_CLASS_WRAPPER

initialization



// constant initialization



//initialization


finalization


//finalization


end.
