aboutsummaryrefslogtreecommitdiff
path: root/src/main/extractor_plugins.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/extractor_plugins.h')
-rw-r--r--src/main/extractor_plugins.h51
1 files changed, 49 insertions, 2 deletions
diff --git a/src/main/extractor_plugins.h b/src/main/extractor_plugins.h
index bb9baec..fc53fd4 100644
--- a/src/main/extractor_plugins.h
+++ b/src/main/extractor_plugins.h
@@ -101,6 +101,10 @@ struct EXTRACTOR_PluginList
101#else 101#else
102 HANDLE cpipe_in; 102 HANDLE cpipe_in;
103#endif 103#endif
104
105 /**
106 * Pipe used by plugin to read from its parent.
107 */
104 int pipe_in; 108 int pipe_in;
105 109
106 /** 110 /**
@@ -110,36 +114,71 @@ struct EXTRACTOR_PluginList
110 int64_t seek_request; 114 int64_t seek_request;
111 115
112#if !WINDOWS 116#if !WINDOWS
117 /**
118 * ID of the shm object
119 */
113 int shm_id; 120 int shm_id;
114#else 121#else
122 /**
123 * Handle of the shm object
124 */
115 HANDLE map_handle; 125 HANDLE map_handle;
116#endif 126#endif
117 127
118 void *state; 128 /**
129 * Used to pass cfs pointer to in-process plugin in OPMODE_DECOMPRESS
130 */
131 void *pass_cfs;
119 132
133 /**
134 * Uncompressed stream size. Initially -1, until file is fully decompressed
135 * (for sources that are not compressed it is set from the start).
136 */
120 int64_t fsize; 137 int64_t fsize;
121 138
139 /**
140 * Absolute position within the stream
141 */
122 int64_t fpos; 142 int64_t fpos;
123 143
144 /**
145 * Pointer to the shared memory segment
146 */
124 unsigned char *shm_ptr; 147 unsigned char *shm_ptr;
125 148
149 /**
150 * Number of bytes in the segment
151 */
126 int64_t map_size; 152 int64_t map_size;
127 153
154 /**
155 * Position within the segment
156 */
128 int64_t shm_pos; 157 int64_t shm_pos;
129 158
159#if !WINDOWS
130 /** 160 /**
131 * Pipe used to read information about extracted meta data from 161 * Pipe used to read information about extracted meta data from
132 * the plugin child process. -1 if not initialized. 162 * the plugin child process. -1 if not initialized.
133 */ 163 */
134#if !WINDOWS
135 int cpipe_out; 164 int cpipe_out;
136#else 165#else
166 /**
167 * Pipe used to read information about extracted meta data from
168 * the plugin child process. -1 if not initialized.
169 */
137 HANDLE cpipe_out; 170 HANDLE cpipe_out;
138#endif 171#endif
139 172
140#if !WINDOWS 173#if !WINDOWS
174 /**
175 * Page size. Mmap offset is a multiple of this number.
176 */
141 long allocation_granularity; 177 long allocation_granularity;
142#else 178#else
179 /**
180 * Page size. Mmap offset is a multiple of this number.
181 */
143 DWORD allocation_granularity; 182 DWORD allocation_granularity;
144#endif 183#endif
145 184
@@ -160,7 +199,15 @@ struct EXTRACTOR_PluginList
160 unsigned char *ov_write_buffer; 199 unsigned char *ov_write_buffer;
161#endif 200#endif
162 201
202 /**
203 * Mode of operation. One of the OPMODE_* constants
204 */
163 uint8_t operation_mode; 205 uint8_t operation_mode;
206
207 /**
208 * 1 if plugin is currently in a recursive process_requests() call,
209 * 0 otherwise
210 */
164 int waiting_for_update; 211 int waiting_for_update;
165}; 212};
166 213