]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/dev/dtrace/scripts/socket.d
xnu-2422.1.72.tar.gz
[apple/xnu.git] / bsd / dev / dtrace / scripts / socket.d
diff --git a/bsd/dev/dtrace/scripts/socket.d b/bsd/dev/dtrace/scripts/socket.d
new file mode 100644 (file)
index 0000000..d122d9f
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2013 Apple Computer, Inc.  All Rights Reserved.
+ *
+ * @APPLE_LICENSE_HEADER_START@
+ *
+ * This file contains Original Code and/or Modifications of Original Code
+ * as defined in and that are subject to the Apple Public Source License
+ * Version 2.0 (the 'License'). You may not use this file except in
+ * compliance with the License. Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this
+ * file.
+ *
+ * The Original Code and all software distributed under the License are
+ * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ * Please see the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * @APPLE_LICENSE_HEADER_END@
+ */
+
+#pragma D depends_on library darwin.d
+#pragma D depends_on module mach_kernel
+
+typedef struct socketbuf {
+       uint32_t        cc;
+       uint32_t        hiwat;
+       uint32_t        lowat;
+       uint32_t        mbcnt;
+       uint32_t        mbmax;
+       uint32_t        flags;
+       struct sockbuf  *sockbuf;
+} socketbuf_t;
+
+translator socketbuf_t < struct sockbuf *T > {
+       cc      = T->sb_cc;
+       hiwat   = T->sb_hiwat;
+       lowat   = T->sb_lowat;
+       mbcnt   = T->sb_mbcnt;
+       mbmax   = T->sb_mbmax;
+       flags   = T->sb_flags;
+       sockbuf = T;
+};
+
+typedef struct socketinfo {
+       int             zone;
+       short           type;
+       uint32_t        options;
+       short           linger;
+       short           state;
+       short           qlen;
+       short           incqlen;
+       short           qlimit;
+       short           error;
+       uint32_t        flags;
+       int             traffic_class;
+       struct socket   *socket;
+} socketinfo_t;
+
+translator socketinfo_t < struct socket *T > {
+       zone            = T->so_zone;
+       type            = T->so_type;
+       options         = T->so_options;
+       linger          = T->so_linger;
+       state           = T->so_state;
+       qlen            = T->so_qlen;
+       incqlen         = T->so_incqlen;
+       qlimit          = T->so_qlimit;
+       error           = T->so_error;
+       flags           = T->so_flags;
+       traffic_class   = T->so_traffic_class;
+       socket          = T;
+};
+
+