ftp_server.c File Reference

FTP server (File Transfer Protocol) More...

#include "ftp/ftp_server.h"
#include "ftp/ftp_server_events.h"
#include "ftp/ftp_server_commands.h"
#include "ftp/ftp_server_misc.h"
#include "str.h"
#include "path.h"
#include "error.h"
#include "debug.h"

Go to the source code of this file.

Macros

#define TRACE_LEVEL   FTP_TRACE_LEVEL
 

Functions

void ftpServerGetDefaultSettings (FtpServerSettings *settings)
 Initialize settings with default values. More...
 
error_t ftpServerInit (FtpServerContext *context, const FtpServerSettings *settings)
 FTP server initialization. More...
 
error_t ftpServerStart (FtpServerContext *context)
 Start FTP server. More...
 
error_t ftpServerSetHomeDir (FtpClientConnection *connection, const char_t *homeDir)
 Set home directory. More...
 
void ftpServerTask (FtpServerContext *context)
 FTP server task. More...
 

Detailed Description

FTP server (File Transfer Protocol)

License

Copyright (C) 2010-2018 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneTCP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Description

File Transfer Protocol (FTP) is a standard network protocol used to transfer files from one host to another host over a TCP-based network. Refer to the following RFCs for complete details:

  • RFC 959: File Transfer Protocol (FTP)
  • RFC 3659: Extensions to FTP
  • RFC 2428: FTP Extensions for IPv6 and NATs
Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
1.9.0

Definition in file ftp_server.c.

Macro Definition Documentation

◆ TRACE_LEVEL

#define TRACE_LEVEL   FTP_TRACE_LEVEL

Definition at line 39 of file ftp_server.c.

Function Documentation

◆ ftpServerGetDefaultSettings()

void ftpServerGetDefaultSettings ( FtpServerSettings settings)

Initialize settings with default values.

Parameters
[out]settingsStructure that contains FTP server settings

Definition at line 60 of file ftp_server.c.

◆ ftpServerInit()

error_t ftpServerInit ( FtpServerContext context,
const FtpServerSettings settings 
)

FTP server initialization.

Parameters
[in]contextPointer to the FTP server context
[in]settingsFTP server specific settings
Returns
Error code

Definition at line 94 of file ftp_server.c.

◆ ftpServerSetHomeDir()

error_t ftpServerSetHomeDir ( FtpClientConnection connection,
const char_t homeDir 
)

Set home directory.

Parameters
[in]connectionPointer to the client connection
[in]homeDirNULL-terminated string specifying the home directory
Returns
Error code

Definition at line 232 of file ftp_server.c.

◆ ftpServerStart()

error_t ftpServerStart ( FtpServerContext context)

Start FTP server.

Parameters
[in]contextPointer to the FTP server context
Returns
Error code

Definition at line 201 of file ftp_server.c.

◆ ftpServerTask()

void ftpServerTask ( FtpServerContext context)

FTP server task.

Parameters
[in]contextPointer to the FTP server context

Definition at line 257 of file ftp_server.c.