components/proftpd/dtrace/ftp_provider.d
author Craig Mohrman <craig.mohrman@oracle.com>
Mon, 18 Apr 2016 13:01:02 -0700
changeset 5797 432ac76de3b0
parent 3932 1b7dd68f6aa9
permissions -rw-r--r--
23078956 adjust the remainder of the userland components to use perl 5.22 22909079 resume testing in several perl modules 22909338 xml-parsers pkg manifests should be cleaned up once 5.12 threaded is gone 23051223 dbd-sqlite's clobber doesn't remove generated DBD-SQLite.license file 23057814 graphviz perl package depends on other obsolete perl packages 22991554 DBD-SQLite has an unlisted build dependency on library/perl-5/database et al

/*
 * Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
 */

/*
 * We seem currently unable to depend properly on existing D libraries (like
 * ftp.d). But the definitions for conninfo_t and ftpinfo_t are stored there
 * (and have to be, since that's where the real translators live). So we're
 * forced to define something here to satisfy dtrace(1M), but none of the
 * definitions or translators here are actually used.
 */
typedef struct ftpinfo {
	int dummy;
} ftpinfo_t;

typedef struct ftpproto {
	int dummy;
} ftpproto_t;

typedef struct conninfo {
	int dummy;
} conninfo_t;

translator conninfo_t <ftpproto_t *dp> {
	dummy = 0;
};

translator ftpinfo_t <ftpproto_t *dp> {
	dummy = 0;
};

provider ftp {
	probe transfer__start(ftpproto_t *p) :
	    (conninfo_t *p, ftpinfo_t *p);
	probe transfer__done(ftpproto_t *p) :
	    (conninfo_t *p, ftpinfo_t *p);
};

#pragma D attributes Evolving/Evolving/ISA provider ftp provider
#pragma D attributes Private/Private/Unknown provider ftp module
#pragma D attributes Private/Private/Unknown provider ftp function
#pragma D attributes Private/Private/ISA provider ftp name
#pragma D attributes Evolving/Evolving/ISA provider ftp args