1/* 2 * Copyright (c) 2006 Apple Computer, Inc. All rights reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23#ifndef _KEXTFIND_REPORT_H_ 24#define _KEXTFIND_REPORT_H_ 25 26#include "QEQuery.h" 27#include "kextfind_tables.h" 28#include "kextfind_query.h" 29 30/* These arenn't processed by getopt or QEQuery, we just look for them. 31 */ 32#define kKeywordReport "-report" 33#define kNoReportHeader "-no-header" 34 35#define kPredNameSymbol "-symbol" 36#define kPredCharSymbol "-sym" 37 38/******************************************************************************* 39* Query Engine Callbacks 40* 41* The Query Engine invokes these as it finds keywords from the above list 42* in the command line or the query being reportEvaluated. 43*******************************************************************************/ 44Boolean reportParseProperty( 45 CFMutableDictionaryRef element, 46 int argc, 47 char * const argv[], 48 uint32_t * num_used, 49 void * user_data, 50 QEQueryError * error); 51 52Boolean reportParseShorthand( 53 CFMutableDictionaryRef element, 54 int argc, 55 char * const argv[], 56 uint32_t * num_used, 57 void * user_data, 58 QEQueryError * error); 59 60Boolean reportEvalProperty( 61 CFDictionaryRef element, 62 void * object, 63 void * user_data, 64 QEQueryError * error); 65 66Boolean reportEvalMatchProperty( 67 CFDictionaryRef element, 68 void * object, 69 void * user_data, 70 QEQueryError * error); 71 72Boolean reportParseFlag( 73 CFMutableDictionaryRef element, 74 int argc, 75 char * const argv[], 76 uint32_t * num_used, 77 void * user_data, 78 QEQueryError * error); 79 80Boolean reportEvalFlag( 81 CFDictionaryRef element, 82 void * object, 83 void * user_data, 84 QEQueryError * error); 85 86Boolean reportParseArch( 87 CFMutableDictionaryRef element, 88 int argc, 89 char * const argv[], 90 uint32_t * num_used, 91 void * user_data, 92 QEQueryError * error); 93 94Boolean reportEvalArch( 95 CFDictionaryRef element, 96 void * object, 97 void * user_data, 98 QEQueryError * error); 99 100Boolean reportEvalArchExact( 101 CFDictionaryRef element, 102 void * object, 103 void * user_data, 104 QEQueryError * error); 105 106Boolean reportParseCommand( 107 CFMutableDictionaryRef element, 108 int argc, 109 char * const argv[], 110 uint32_t * num_used, 111 void * user_data, 112 QEQueryError * error); 113 114Boolean reportParseDefinesOrReferencesSymbol( 115 CFMutableDictionaryRef element, 116 int argc, 117 char * const argv[], 118 uint32_t * num_used, 119 void * user_data, 120 QEQueryError * error); 121 122Boolean reportEvalDefinesOrReferencesSymbol( 123 CFDictionaryRef element, 124 void * object, 125 void * user_data, 126 QEQueryError * error); 127 128Boolean reportEvalCommand( 129 CFDictionaryRef element, 130 void * object, 131 void * user_data, 132 QEQueryError * error); 133 134#endif /* _KEXTFIND_REPORT_H_ */ 135