| Создание |
| О компании | Программ | Устройств | Linux |
| Контакты | Обучение |
| Инвестиционные проекты |
LsoL |
Обслуживание | ||||||
| Продукция | Советы | |||||||
Contents:
Overview
Возможности:
Заголовочный файл (хидер) UsageThis is FTP server. For it just call SetFTPServer. The callback function may call for any actions that income from client. The host program may just return zero by this callback, and in this case the server will work by default. The host program may return the code , and in this case the code will be translated to client. The host program may reply to the client itself withelp SRVSend ot SRVprintf functions. The actions ACTION_DOWNLOAD, ACTION_UPLOAD, ACTION_DIR requist data connection and the host program would like to work the request it must use SRVCreateData, then SRVDSend, SRVDprintf to send or SRVDRecv to receive the data. After transfer the host program call SRVEndData Functiostype of stream ServerStream; typedef int (* FTPReqCallback)(ServerStream * stream, char * reqname, int action, ...); Parameters: The stream may be used by host program for next request. The reqname it is name of requested flie. The action defined there: ACTION_LOGIN ACTION_DOWNLOAD ACTION_UPLOAD ACTION_DIR ACTION_MKDIR ACTION_RENAME ACTION_REMOVE ACTION_LOGOUT Return value: If this callback return zero, the server will still work the request. If this callback return subzero the server understan that host program If this callback return value above zero, the server return it to client as error code and return error page. ALL_ACTIONS int SetFTPServer(FTPReqCallback callback=NULL, int port=0, int mask=ALL_ACTIONS); Parameters: The callback -- callback function that will call for each request, after request received, before server do anything other by default NULL -- int this case the server will just work with request. The port -- TCP/IP port. If used default value zero, the server use value from config, by default 21. mask -- the mask for action for that the server call callback Return value: Zero if sucess. Subzero if fail int SRVCreateData(ServerStream * stream); Parameters: The stream -- pointer to stream that was transfer to callback function. Return value: Zero if sucess. Subzero if fail int SRVEndData(ServerStream * stream); Parameters: The stream -- pointer to stream that was transfer to callback function. Return value: Zero if sucess. Subzero if fail int SRVSend(ServerStream * stream, void * bufer, int size); Parameters: The stream -- pointer to stream that was transfer to callback function. The bufer -- bufer to send The size -- size of bufer Return value: Number of bytes that has been send. Zero if error int SRVprintf(ServerStream * stream, char * format, ...); Parameters: The stream -- pointer to stream that was transfer to callback function. The format -- format like in stdio printf ... params by format Return value: Number of bytes that has been send. Zero if error int SRVDSend(ServerStream * stream, void * bufer, int size); Parameters: The stream -- pointer to stream that was transfer to callback function. The bufer -- bufer to send The size -- size of bufer Return value: Number of bytes that has been send. Zero if error int SRVDprintf(ServerStream * stream, char * format, ...); Parameters: The stream -- pointer to stream that was transfer to callback function. The format -- format like in stdio printf ... params by format Return value: Number of bytes that has been send. Zero if error int SRVDRecv(ServerStream * stream, void * bufer, int l); Parameters: The stream -- pointer to stream that was transfer to callback function. The bufer -- bufer to receive The size -- size of bufer Return value: Number of bytes that has been receive. Zero if error char * GetAUTHName(ServerStream * stream); Parameters: The stream -- pointer to stream that was transfer to callback function. Return value: pointer to user name. char * GetAUTHPassw(ServerStream * stream); Parameters: The stream -- pointer to stream that was transfer to callback function. Return value: pointer to password. The NULL pointer if no control present. ulong GetRemoteIP(ServerStream * stream); Parameters: The stream -- pointer to stream that was transfer to callback function. Return value: IP address of remote. int GetRemoteAddr(void * addr, int buflen); Parameters: The stream -- pointer to stream that was transfer to callback function. Return value: address of remote.in sockaddr struct int GetSocket(ServerStream * stream); Parameters: The stream -- pointer to stream that was transfer to callback function. Return value: socket The host program may load all params for module from separate file, int LoadConfig(char * filename="ftp.cfg"); Parameters: The filename -- name of configuration file. Return value: Zero if sucess. Subzero if fail void SetConfigParam(char * param, int val); Parameters: The param -- name of param val -- value. void SetConfigParam(char * param, char * val); Parameters: The param -- name of param val -- value. To get current values of configuration params you may use next functions: int GetConfigParamInt(char * param); Parameters: The param -- name of param char *SetConfigParamStr(char * param); Parameters: The param -- name of param |