20461144 LIBSTDCXX should have some master test results to compare against
20021138 stdcxx fails to build with studio 12.4 fcs
20460634 NEON should have some master test results to compare against
20460896 OCAML has no tests and no master test results files
19931870 "gmake test" failures for libneon
/*
* Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
*/
#ifndef _FTP_PROVIDER_IMPL_H
#define _FTP_PROVIDER_IMPL_H
/*
* This structure must match the definition of same in ftp.d.
*/
typedef struct ftpproto {
uint32_t ftp_user; /* user name */
uint32_t ftp_cmd; /* FTP command */
uint32_t ftp_pathname; /* path of file being operated upon */
uint32_t ftp_raddr; /* remote address, as IPv6 address */
uint32_t ftp_fd; /* fd for transfer, if any */
uint32_t ftp_pad; /* padding for copyin() */
uint64_t ftp_nbytes; /* bytes transferred, if any */
} ftpproto_t;
#define FTP_TRANSFER_PROTO(proto, fh, len) \
do { \
bzero((proto), sizeof (struct ftpproto)); \
(proto)->ftp_user = (uint32_t)session.user; \
(proto)->ftp_cmd = (uint32_t)session.curr_cmd; \
(proto)->ftp_pathname = (uint32_t)((fh)->fh_path); \
(proto)->ftp_raddr = \
(int32_t)pr_netaddr_get_ipstr(session.c->remote_addr); \
(proto)->ftp_fd = (uint32_t)((fh)->fh_fd); \
(proto)->ftp_nbytes = (len); \
} while (0)
extern int ftp_transfer_start_enabled(void);
extern int ftp_transfer_done_enabled(void);
extern void ftp_transfer_start(struct ftpproto *);
extern void ftp_transfer_done(struct ftpproto *);
#endif /* _FTP_PROVIDER_IMPL_H */