author | Tomas Klacko <tomas.klacko@oracle.com> |
Mon, 18 May 2015 01:59:30 -0700 | |
branch | s11-update |
changeset 4303 | fe962209b82f |
permissions | -rw-r--r-- |
4303
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
1 |
/* |
fe962209b82f
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. |
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
3 |
*/ |
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
4 |
|
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
5 |
#ifndef _FTP_PROVIDER_IMPL_H |
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
6 |
#define _FTP_PROVIDER_IMPL_H |
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
7 |
|
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
8 |
/* |
fe962209b82f
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. |
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
10 |
*/ |
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
11 |
typedef struct ftpproto { |
fe962209b82f
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 */ |
fe962209b82f
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 */ |
fe962209b82f
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 */ |
fe962209b82f
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 */ |
fe962209b82f
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 */ |
fe962209b82f
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() */ |
fe962209b82f
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 */ |
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
19 |
} ftpproto_t; |
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
20 |
|
fe962209b82f
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) \ |
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
22 |
do { \ |
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
23 |
bzero((proto), sizeof (struct ftpproto)); \ |
fe962209b82f
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; \ |
fe962209b82f
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; \ |
fe962209b82f
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); \ |
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
27 |
(proto)->ftp_raddr = \ |
fe962209b82f
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); \ |
fe962209b82f
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); \ |
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
30 |
(proto)->ftp_nbytes = (len); \ |
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
31 |
} while (0) |
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
32 |
|
fe962209b82f
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); |
fe962209b82f
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); |
fe962209b82f
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 *); |
fe962209b82f
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 *); |
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
37 |
|
fe962209b82f
20553228 add proftpd dtrace provider from AK to Userland
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff
changeset
|
38 |
#endif /* _FTP_PROVIDER_IMPL_H */ |