Loading...
iokit/IOKit/IOStatistics.h xnu-12377.121.6 /dev/null
--- xnu/xnu-12377.121.6/iokit/IOKit/IOStatistics.h
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * Copyright (c) 2010 Apple Computer, Inc. All rights reserved.
- *
- * @APPLE_OSREFERENCE_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. The rights granted to you under the License
- * may not be used to create, or enable the creation or redistribution of,
- * unlawful or unlicensed copies of an Apple operating system, or to
- * circumvent, violate, or enable the circumvention or violation of, any
- * terms of an Apple operating system software license agreement.
- *
- * 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_OSREFERENCE_LICENSE_HEADER_END@
- */
-
-#ifndef _IOKIT_STATISTICS_H
-#define _IOKIT_STATISTICS_H
-
-#define IOSTATISTICS_SIG            'IOST'
-#define IOSTATISTICS_SIG_USERCLIENT 'IOSU'
-#define IOSTATISTICS_SIG_WORKLOOP   'IOSW'
-
-/* Update when the binary format changes */
-#define IOSTATISTICS_VER                        0x2
-
-enum {
-	kIOStatisticsDriverNameLength  = 64,
-	kIOStatisticsClassNameLength   = 64,
-	kIOStatisticsProcessNameLength = 20
-};
-
-enum {
-	kIOStatisticsDerivedEventSourceCounter = 0,
-	kIOStatisticsTimerEventSourceCounter,
-	kIOStatisticsCommandGateCounter,
-	kIOStatisticsCommandQueueCounter,
-	kIOStatisticsInterruptEventSourceCounter,
-	kIOStatisticsFilterInterruptEventSourceCounter
-};
-
-typedef uint32_t IOStatisticsCounterType;
-
-enum {
-	kIOStatisticsGeneral = 0,
-	kIOStatisticsWorkLoop,
-	kIOStatisticsUserClient
-};
-
-/* Keep our alignments as intended */
-
-#pragma pack(4)
-
-/* Event Counters */
-
-typedef struct IOStatisticsInterruptEventSources {
-	uint32_t created;
-	uint32_t produced;
-	uint32_t checksForWork;
-} IOStatisticsInterruptEventSources;
-
-typedef struct IOStatisticsTimerEventSources {
-	uint32_t created;
-	uint32_t openGateCalls;
-	uint32_t closeGateCalls;
-	uint64_t timeOnGate;
-	uint32_t timeouts;
-	uint32_t checksForWork;
-} IOStatisticsTimerEventSources;
-
-typedef struct IOStatisticsDerivedEventSources {
-	uint32_t created;
-	uint32_t openGateCalls;
-	uint32_t closeGateCalls;
-	uint64_t timeOnGate;
-} IOStatisticsDerivedEventSources;
-
-typedef struct IOStatisticsCommandGates {
-	uint32_t created;
-	uint32_t openGateCalls;
-	uint32_t closeGateCalls;
-	uint64_t timeOnGate;
-	uint32_t actionCalls;
-} IOStatisticsCommandGates;
-
-typedef struct IOStatisticsCommandQueues {
-	uint32_t created;
-	uint32_t actionCalls;
-} IOStatisticsCommandQueues;
-
-typedef struct IOStatisticsUserClients {
-	uint32_t created;
-	uint32_t clientCalls;
-} IOStatisticsUserClients;
-
-/* General mode */
-
-typedef struct IOStatisticsHeader {
-	uint32_t sig; /* 'IOST' */
-	uint32_t ver; /* incremented with every data revision */
-
-	uint32_t seq; /* sequence ID */
-
-	uint32_t globalStatsOffset;
-	uint32_t kextStatsOffset;
-	uint32_t memoryStatsOffset;
-	uint32_t classStatsOffset;
-	uint32_t counterStatsOffset;
-	uint32_t kextIdentifiersOffset;
-	uint32_t classNamesOffset;
-
-	/* struct IOStatisticsGlobal */
-	/* struct IOStatisticsKext */
-	/* struct IOStatisticsMemory */
-	/* struct IOStatisticsClass */
-	/* struct IOStatisticsCounter */
-	/* struct IOStatisticsKextIdentifier */
-	/* struct IOStatisticsClassName */
-} IOStatisticsHeader;
-
-typedef struct IOStatisticsGlobal {
-	uint32_t kextCount;
-	uint32_t classCount;
-	uint32_t workloops;
-} IOStatisticsGlobal;
-
-typedef struct IOStatisticsKext {
-	uint32_t loadTag;
-	uint32_t loadSize;
-	uint32_t wiredSize;
-	uint32_t classes; /* Number of classes owned */
-	uint32_t classIndexes[]; /* Variable length array of owned class indexes */
-} IOStatisticsKext;
-
-typedef struct IOStatisticsMemory {
-	uint32_t allocatedSize;
-	uint32_t freedSize;
-	uint32_t allocatedAlignedSize;
-	uint32_t freedAlignedSize;
-	uint32_t allocatedContiguousSize;
-	uint32_t freedContiguousSize;
-	uint32_t allocatedPageableSize;
-	uint32_t freedPageableSize;
-} IOStatisticsMemory;
-
-typedef struct IOStatisticsClass {
-	uint32_t classID;
-	uint32_t superClassID;
-	uint32_t classSize;
-} IOStatisticsClass;
-
-typedef struct IOStatisticsCounter {
-	uint32_t classID;
-	uint32_t classInstanceCount;
-	struct IOStatisticsUserClients userClientStatistics;
-	struct IOStatisticsInterruptEventSources interruptEventSourceStatistics;
-	struct IOStatisticsInterruptEventSources filterInterruptEventSourceStatistics;
-	struct IOStatisticsTimerEventSources timerEventSourceStatistics;
-	struct IOStatisticsCommandGates commandGateStatistics;
-	struct IOStatisticsCommandQueues commandQueueStatistics;
-	struct IOStatisticsDerivedEventSources derivedEventSourceStatistics;
-} IOStatisticsCounter;
-
-typedef struct IOStatisticsKextIdentifier {
-	char identifier[kIOStatisticsDriverNameLength];
-} IOStatisticsKextIdentifier;
-
-typedef struct IOStatisticsClassName {
-	char name[kIOStatisticsClassNameLength];
-} IOStatisticsClassName;
-
-/* WorkLoop mode */
-
-typedef struct IOStatisticsWorkLoop {
-	uint32_t attachedEventSources;
-	uint64_t timeOnGate;
-	uint32_t kextLoadTag;
-	uint32_t dependentKexts;
-	uint32_t dependentKextLoadTags[];
-} IOStatisticsWorkLoop;
-
-typedef struct IOStatisticsWorkLoopHeader {
-	uint32_t sig; /* 'IOSW */
-	uint32_t ver; /* incremented with every data revision */
-	uint32_t seq; /* sequence ID */
-	uint32_t workloopCount;
-	struct IOStatisticsWorkLoop workLoopStats;
-} IOStatisticsWorkLoopHeader;
-
-/* UserClient mode */
-
-typedef struct IOStatisticsUserClientCall {
-	char processName[kIOStatisticsProcessNameLength];
-	int32_t pid;
-	uint32_t calls;
-} IOStatisticsUserClientCall;
-
-typedef struct IOStatisticsUserClientHeader {
-	uint32_t sig; /* 'IOSU */
-	uint32_t ver; /* incremented with every data revision */
-	uint32_t seq; /* sequence ID */
-	uint32_t processes;
-	struct IOStatisticsUserClientCall userClientCalls[];
-} IOStatisticsUserClientHeader;
-
-#pragma pack()
-
-#endif /* _IOKIT_STATISTICS_H */