OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [net/] [ftpclient/] [v2_0/] [include/] [ftpclient.h] - Blame information for rev 174

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
#ifndef CYGONCE_NET_FTPCLIENT_FTPCLIENT_H
2
#define CYGONCE_NET_FTPCLIENT_FTPCLIENT_H
3
 
4
//==========================================================================
5
//
6
//      ftpclient.h
7
//
8
//      A simple FTP client
9
//
10
//==========================================================================
11
//####ECOSGPLCOPYRIGHTBEGIN####
12
// -------------------------------------------
13
// This file is part of eCos, the Embedded Configurable Operating System.
14
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
15
//
16
// eCos is free software; you can redistribute it and/or modify it under
17
// the terms of the GNU General Public License as published by the Free
18
// Software Foundation; either version 2 or (at your option) any later version.
19
//
20
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
21
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
22
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
23
// for more details.
24
//
25
// You should have received a copy of the GNU General Public License along
26
// with eCos; if not, write to the Free Software Foundation, Inc.,
27
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
28
//
29
// As a special exception, if other files instantiate templates or use macros
30
// or inline functions from this file, or you compile this file and link it
31
// with other works to produce a work based on this file, this file does not
32
// by itself cause the resulting work to be covered by the GNU General Public
33
// License. However the source code for this file must still be made available
34
// in accordance with section (3) of the GNU General Public License.
35
//
36
// This exception does not invalidate any other reasons why a work based on
37
// this file might be covered by the GNU General Public License.
38
//
39
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
40
// at http://sources.redhat.com/ecos/ecos-license/
41
// -------------------------------------------
42
//####ECOSGPLCOPYRIGHTEND####
43
//==========================================================================
44
//#####DESCRIPTIONBEGIN####
45
//
46
// Author(s):    andrew.lunn@ascom.ch
47
// Contributors: andrew.lunn@ascom.ch
48
// Date:         2001-11-4
49
// Purpose:      
50
// Description:  
51
//              
52
//####DESCRIPTIONEND####
53
//
54
//==========================================================================
55
 
56
typedef void (*ftp_printf_t)(unsigned error, const char *, ...);
57
 
58
/* Use the FTP protocol to retrieve a file from a server. Only binary
59
   mode is supported. The filename can include a directory name. Only
60
   use unix style / not M$'s \. The file is placed into buf. buf has
61
   maximum size buf_size. If the file is bigger than this, the
62
   transfer fails and FTP_TOOBIG is returned. Other error codes as
63
   listed below can also be returned. If the transfer is succseful the
64
   number of bytes received is returned. */
65
 
66
int ftp_get(char * hostname,
67
            char * username,
68
            char * passwd,
69
            char * filename,
70
            char * buf,
71
            unsigned buf_size,
72
            ftp_printf_t ftp_printf);
73
 
74
/*Use the FTP protocol to send a file from a server. Only binary mode
75
  is supported. The filename can include a directory name. Only use
76
  unix style / not M$'s \. The contents of buf is placed into the file
77
  on the server. If an error occurs one of the codes as listed below
78
  will be returned. If the transfer is succseful zero is returned.*/
79
 
80
int ftp_put(char * hostname,
81
            char * username,
82
            char * passwd,
83
            char * filename,
84
            char * buf,
85
            unsigned buf_size,
86
            ftp_printf_t ftp_printf);
87
 
88
/*ftp_get() and ftp_put take the name of a function to call to print
89
  out diagnostic and error messages. This is a sample implementation
90
  which can be used if you don't want to implement the function
91
  yourself. error will be true when the message to print is an error
92
  message. Otherwise the message is diagnostic, eg the commands sent
93
  and received from the server.*/
94
 
95
void ftpclient_printf(unsigned error, const char *fmt, ...);
96
 
97
/* Error codes */
98
 
99
#define FTP_BAD         -2 /* Catch all, socket errors etc. */
100
#define FTP_NOSUCHHOST  -3 /* The server does not exist. */
101
#define FTP_BADUSER     -4 /* Username/Password failed */
102
#define FTP_TOOBIG      -5 /* Out of buffer space or disk space */ 
103
#define FTP_BADFILENAME -6 /* The file does not exist */
104
 
105
#endif CYGONCE_NET_FTPCLIENT_FTPCLIENT
106
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.