------------------------------------------------------------------------------
--                           curl_callbacks.ads                             --
--                    Copyright (C) 2003 Andreas Almroth                    --
--                                                                          --
-- AdacURL is free  software; you  can  redistribute it  and/or modify it   --
-- under terms of the  GNU General Public License as published by the Free  --
-- Software Foundation; either version 2,  or (at your option) any later    --
-- version.  AdacURL is distributed in the  hope that it will be useful,    --
-- but  WITH  OUT  ANY  WARRANTY;  without  even the  implied  warranty  of --
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General --
-- Public License for more details.  You should have received a copy of the --
-- GNU General Public License distributed with AdacURL;  see file COPYING. --
-- If not,  write  to  the Free  Software  Foundation, 59 Temple Place -    --
-- Suite 330, Boston, MA 02111-1307, USA.                                   --
--                                                                          --
-- As a special exception,  if other files  instantiate  generics from this --
-- unit, or you link  this unit with other files  to produce an executable, --
-- this  unit  does not  by itself cause  the resulting  executable  to  be --
-- covered  by the  GNU  General  Public  License.  This exception does not --
-- however invalidate  any other reasons why  the executable file  might be --
-- covered by the  GNU Public License.                                      --
--                                                                          --
------------------------------------------------------------------------------
-- $Author: Andreas Almroth $
-- $Date: 03-07-29 17:15 $
-- $Workfile: curl_callbacks.ads $
-- $Revision: 1 $
-- $State: Unstable $
--
-- HISTORY:
--
-- Revision 1: Initial release

with Interfaces.C;         use Interfaces.C;
with Interfaces.C.Strings; use Interfaces.C.Strings;
with Adacurl; use Adacurl;

package Curl_Callbacks is
   type Ftpfile is record
      Filename : Chars_Ptr;
      Stream   : File_P;
   end record;
   pragma Convention(C,Ftpfile);
   type Ftpfile_P is access all Ftpfile;

   ---------------------------------------------------------------------------
   function Write_Data(Buf : Chars_Ptr;
   Size : Size_T;
   Nmemb : Size_T;
                       Stream : FILE_P) return Size_T;
   ---------------------------------------------------------------------------
   function My_fwrite(Buf : Chars_Ptr;
                      Size : Size_T;
                      Nmemb : Size_T;
                      Outp : File_P) return Size_T;
end Curl_Callbacks;