NAME | SYNOPSIS | DESCRIPTION | NOTE | ATTRIBUTES
#include <arpa/ftpd/ftpd.h>void ftpdOob(FtpConn *conn);
The ftpdOob function checks for the occurrence of exceptional conditions on the control connection. An exceptional condition is either an ABORT request sent by the client, or the closing of the control connection by the client. File transfer or directory listing operations can only be aborted due to an exceptional condition by calling ftpdOob. Application routines that perform lengthy operations should call ftpdOob from time to time. Typically, a file transfer routine should call it between each block read from or written to a file. Calling ftpdOob is not mandatory. The consequence of not calling it is that ABORT commands are processed only when the ongoing transfer is finished. However, only certain routines may call ftpdOob. These are the following: systemSendAscii, systemSendBin, systemReceiveBin, systemReceiveAscii and systemListFiles.
As a result of calling this function, the flow of control may longjmp(3STDC) out of the routine being executed. To perform a cleanup of the global state, which may have been affected by the interrupted routine, the following function call will be performed automatically PRIOR to effecting the longjmp:
*(conn->cleanup)(conn)The routine that calls ftpdOob must ensure that conn->cleanup points to the correct cleanup routine PRIOR to calling ftpdOob. If no cleanup routine is needed, conn->cleanup should be set to NULL. If the supplied cleanup routine needs any information to perform its task, this information should be stored in the connection structure. The ftpConn structure can be extended by the application into a bigger, compatible one in which to store the information. As ftpdOob is called explicitly by the application, the application need not keep the connection ready for cleanup all the time. It should be ready for cleanup only when ftpdOob is called.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
NAME | SYNOPSIS | DESCRIPTION | NOTE | ATTRIBUTES