components/proftpd/dtrace/ftp_provider_impl.h
author Stefan Teleman <stefan.teleman@oracle.com>
Mon, 16 Mar 2015 13:28:51 -0700
changeset 3955 4e310c8109a5
parent 3932 1b7dd68f6aa9
permissions -rw-r--r--
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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3932
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     1
/*
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     2
 * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     3
 */
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     4
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     5
#ifndef _FTP_PROVIDER_IMPL_H
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     6
#define	_FTP_PROVIDER_IMPL_H
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     7
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     8
/*
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     9
 * This structure must match the definition of same in ftp.d.
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    10
 */
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    11
typedef struct ftpproto {
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    12
	uint32_t ftp_user;	/* user name */
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    13
	uint32_t ftp_cmd;	/* FTP command */
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    14
	uint32_t ftp_pathname;  /* path of file being operated upon */
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    15
	uint32_t ftp_raddr;	/* remote address, as IPv6 address */
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    16
	uint32_t ftp_fd;	/* fd for transfer, if any */
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    17
	uint32_t ftp_pad;	/* padding for copyin() */
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    18
	uint64_t ftp_nbytes;	/* bytes transferred, if any */
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    19
} ftpproto_t;
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    20
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    21
#define	FTP_TRANSFER_PROTO(proto, fh, len) \
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    22
do { \
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    23
	bzero((proto), sizeof (struct ftpproto)); \
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    24
	(proto)->ftp_user = (uint32_t)session.user; \
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    25
	(proto)->ftp_cmd = (uint32_t)session.curr_cmd; \
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    26
	(proto)->ftp_pathname = (uint32_t)((fh)->fh_path); \
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    27
	(proto)->ftp_raddr = \
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    28
	    (int32_t)pr_netaddr_get_ipstr(session.c->remote_addr); \
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    29
	(proto)->ftp_fd = (uint32_t)((fh)->fh_fd); \
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    30
	(proto)->ftp_nbytes = (len); \
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    31
} while (0)
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    32
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    33
extern int ftp_transfer_start_enabled(void);
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    34
extern int ftp_transfer_done_enabled(void);
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    35
extern void ftp_transfer_start(struct ftpproto *);
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    36
extern void ftp_transfer_done(struct ftpproto *);
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    37
1b7dd68f6aa9 20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    38
#endif /* _FTP_PROVIDER_IMPL_H */