Marked libisofs SVN copy as outdated (use bzr on lp)
This commit is contained in:
62
libisofs_outdated/branches/thomas/libisofs/filter.h
Normal file
62
libisofs_outdated/branches/thomas/libisofs/filter.h
Normal file
@@ -0,0 +1,62 @@
|
||||
/*
|
||||
* Copyright (c) 2008 Vreixo Formoso
|
||||
*
|
||||
* This file is part of the libisofs project; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation. See COPYING file for details.
|
||||
*/
|
||||
#ifndef LIBISO_FILTER_H_
|
||||
#define LIBISO_FILTER_H_
|
||||
|
||||
/*
|
||||
* Definitions of filters.
|
||||
*/
|
||||
|
||||
/* dev_id for stream identification */
|
||||
#define XOR_ENCRYPT_DEV_ID 1
|
||||
|
||||
typedef struct filter_context FilterContext;
|
||||
|
||||
struct filter_context {
|
||||
int version; /* reserved for future usage, set to 0 */
|
||||
int refcount;
|
||||
|
||||
/** filter specific shared data */
|
||||
void *data;
|
||||
|
||||
/**
|
||||
* Factory method to create a filtered stream from another stream.
|
||||
*
|
||||
* @param original
|
||||
* The original stream to be filtered. If the filter needs a ref to
|
||||
* it (most cases), it should take a ref to it with iso_stream_ref().
|
||||
* @param filtered
|
||||
* Will be filled with the filtered IsoStream (reference belongs to
|
||||
* caller).
|
||||
* @return
|
||||
* 1 on success, < 0 on error
|
||||
*/
|
||||
int (*get_filter)(FilterContext *filter, IsoStream *original,
|
||||
IsoStream **filtered);
|
||||
|
||||
/**
|
||||
* Free implementation specific data. Should never be called by user.
|
||||
* Use iso_filter_unref() instead.
|
||||
*/
|
||||
void (*free)(FilterContext *filter);
|
||||
};
|
||||
|
||||
/**
|
||||
*
|
||||
* @param flag
|
||||
* Reserved for future usage, pass always 0 for now.
|
||||
* TODO in a future a different value can mean filter caching, where
|
||||
* the filter is applied once and the filtered file is stored in a temp
|
||||
* dir. This prevent filter to be applied several times.
|
||||
*/
|
||||
int iso_file_add_filter(IsoFile *file, FilterContext *filter, int flag);
|
||||
|
||||
void iso_filter_ref(FilterContext *filter);
|
||||
void iso_filter_unref(FilterContext *filter);
|
||||
|
||||
#endif /*LIBISO_FILTER_H_*/
|
Reference in New Issue
Block a user