Repository URL to install this package:
Version:
3.0.0 ▾
|
(*
* Summary: minimal FTP implementation
* Description: minimal FTP implementation allowing to fetch resources
* like external subset.
*
* Copy: See Copyright for the status of this software.
*
* Author: Daniel Veillard
*)
{$IFDEF LIBXML_FTP_ENABLED}
{$IFDEF TYPE}
(**
* ftpListCallback:
* @userData: user provided data for the callback
* @filename: the file name (including "->" when links are shown)
* @attrib: the attribute string
* @owner: the owner string
* @group: the group string
* @size: the file size
* @links: the link count
* @year: the year
* @month: the month
* @day: the day
* @hour: the hour
* @minute: the minute
*
* A callback for the xmlNanoFTPList command.
* Note that only one of year and day:minute are specified.
*)
ftpListCallback = procedure(userData: pointer; filename, attrib, owner, group: pchar; size: culong; links, year: cint; month: pchar; day, hour, minute: cint); EXTDECL;
(**
* ftpDataCallback:
* @userData: the user provided context
* @data: the data received
* @len: its size in bytes
*
* A callback for the xmlNanoFTPGet command.
*)
ftpDataCallback = procedure(userData: pointer; data: pchar; len: cint); EXTDECL;
{$ENDIF}
{$IFDEF FUNCTION}
(*
* Init
*)
procedure xmlNanoFTPInit; EXTDECL; external xml2lib;
procedure xmlNanoFTPCleanup; EXTDECL; external xml2lib;
(*
* Creating/freeing contexts.
*)
function xmlNanoFTPNewCtxt(URL: pchar): pointer; EXTDECL; external xml2lib;
procedure xmlNanoFTPFreeCtxt(ctx: pointer); EXTDECL; external xml2lib;
function xmlNanoFTPConnectTo(server: pchar; port: cint): pointer; EXTDECL; external xml2lib;
(*
* Opening/closing session connections.
*)
function xmlNanoFTPOpen(URL: pchar): pointer; EXTDECL; external xml2lib;
function xmlNanoFTPConnect(ctx: pointer): cint; EXTDECL; external xml2lib;
function xmlNanoFTPClose(ctx: pointer): cint; EXTDECL; external xml2lib;
function xmlNanoFTPQuit(ctx: pointer): cint; EXTDECL; external xml2lib;
procedure xmlNanoFTPScanProxy(URL: pchar); EXTDECL; external xml2lib;
procedure xmlNanoFTPProxy(host: pchar; port: cint; user, passwd: pchar; _type: cint); EXTDECL; external xml2lib;
function xmlNanoFTPUpdateURL(ctx: pointer; URL: pchar): cint; EXTDECL; external xml2lib;
(*
* Rather internal commands.
*)
function xmlNanoFTPGetResponse(ctx: pointer): cint; EXTDECL; external xml2lib;
function xmlNanoFTPCheckResponse(ctx: pointer): cint; EXTDECL; external xml2lib;
(*
* CD/DIR/GET handlers.
*)
function xmlNanoFTPCwd(ctx: pointer; directory: pchar): cint; EXTDECL; external xml2lib;
function xmlNanoFTPGetResponse(ctx: pointer; _file: pchar): cint; EXTDECL; external xml2lib;
function xmlNanoFTPGetConnection(ctx: pointer): cint; EXTDECL; external xml2lib;
function xmlNanoFTPCloseConnection(ctx: pointer): cint; EXTDECL; external xml2lib;
function xmlNanoFTPList(ctx: pointer; callback: ftpListCallback; userData: pointer; filename: pchar): cint; EXTDECL; external xml2lib;
function xmlNanoFTPGetSocket(ctx: pointer; filename: pchar): cint; EXTDECL; external xml2lib;
function xmlNanoFTPGet(ctx: pointer; callback: ftpDataCallback; userData: pointer; filename: pchar): cint; EXTDECL; external xml2lib;
function xmlNanoFTPRead(ctx: pointer; dest: pointer; len: cint): cint; EXTDECL; external xml2lib;
{$ENDIF}
{$ENDIF} (* LIBXML_FTP_ENABLED *)