diff options
Diffstat (limited to 'src/main/extractor_plugins.h')
-rw-r--r-- | src/main/extractor_plugins.h | 62 |
1 files changed, 55 insertions, 7 deletions
diff --git a/src/main/extractor_plugins.h b/src/main/extractor_plugins.h index ea0eabb..bea5c2b 100644 --- a/src/main/extractor_plugins.h +++ b/src/main/extractor_plugins.h | |||
@@ -64,7 +64,9 @@ struct EXTRACTOR_PluginList | |||
64 | /** | 64 | /** |
65 | * Pointer to the function used for meta data extraction. | 65 | * Pointer to the function used for meta data extraction. |
66 | */ | 66 | */ |
67 | EXTRACTOR_ExtractMethod extractMethod; | 67 | EXTRACTOR_extract_method extract_method; |
68 | EXTRACTOR_init_state_method init_state_method; | ||
69 | EXTRACTOR_discard_state_method discard_state_method; | ||
68 | 70 | ||
69 | /** | 71 | /** |
70 | * Options for the plugin. | 72 | * Options for the plugin. |
@@ -84,26 +86,72 @@ struct EXTRACTOR_PluginList | |||
84 | enum EXTRACTOR_Options flags; | 86 | enum EXTRACTOR_Options flags; |
85 | 87 | ||
86 | /** | 88 | /** |
87 | * Process ID of the child process for this plugin. 0 for | 89 | * Process ID of the child process for this plugin. 0 for none. |
88 | * none. | ||
89 | */ | 90 | */ |
90 | #ifndef WINDOWS | 91 | #if !WINDOWS |
91 | int cpid; | 92 | int cpid; |
92 | #else | 93 | #else |
93 | HANDLE hProcess; | 94 | HANDLE hProcess; |
94 | #endif | 95 | #endif |
95 | 96 | ||
96 | /** | 97 | /** |
97 | * Pipe used to send information about shared memory segments to | 98 | * Pipe used to communicate information to the plugin child process. |
98 | * the child process. NULL if not initialized. | 99 | * NULL if not initialized. |
99 | */ | 100 | */ |
101 | #if !WINDOWS | ||
100 | FILE *cpipe_in; | 102 | FILE *cpipe_in; |
103 | #else | ||
104 | HANDLE cpipe_in; | ||
105 | #endif | ||
106 | |||
107 | /** | ||
108 | * A position this plugin wants us to seek to. -1 if it's finished. | ||
109 | * Starts at 0; | ||
110 | */ | ||
111 | int64_t seek_request; | ||
112 | |||
113 | #if !WINDOWS | ||
114 | int shm_id; | ||
115 | #else | ||
116 | HANDLE map_handle; | ||
117 | #endif | ||
118 | |||
119 | void *state; | ||
120 | |||
121 | int64_t fsize; | ||
122 | |||
123 | int64_t position; | ||
124 | |||
125 | unsigned char *shm_ptr; | ||
126 | |||
127 | size_t map_size; | ||
101 | 128 | ||
102 | /** | 129 | /** |
103 | * Pipe used to read information about extracted meta data from | 130 | * Pipe used to read information about extracted meta data from |
104 | * the child process. -1 if not initialized. | 131 | * the plugin child process. -1 if not initialized. |
105 | */ | 132 | */ |
133 | #if !WINDOWS | ||
106 | int cpipe_out; | 134 | int cpipe_out; |
135 | #else | ||
136 | HANDLE cpipe_out; | ||
137 | #endif | ||
138 | |||
139 | #if WINDOWS | ||
140 | /** | ||
141 | * A structure for overlapped reads on W32. | ||
142 | */ | ||
143 | OVERLAPPED ov_read; | ||
144 | |||
145 | /** | ||
146 | * A structure for overlapped writes on W32. | ||
147 | */ | ||
148 | OVERLAPPED ov_write; | ||
149 | |||
150 | /** | ||
151 | * A write buffer for overlapped writes on W32 | ||
152 | */ | ||
153 | unsigned char *ov_write_buffer; | ||
154 | #endif | ||
107 | }; | 155 | }; |
108 | 156 | ||
109 | /** | 157 | /** |