#include <assert.h>
#include <ctype.h>
#include <errno.h>
#include <limits.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <zlib.h>
#include "rdd.h"
#include "rdd_internals.h"
#include "error.h"
#include "writer.h"
#include "filter.h"
#include "filterset.h"
#include "outfile.h"
Go to the source code of this file.
Data Structures | |
struct | _RDD_CHECKSUM_BLOCKFILTER |
Typedefs | |
typedef struct _RDD_CHECKSUM_BLOCKFILTER | RDD_CHECKSUM_BLOCKFILTER |
Functions | |
static int | checksum_block (RDD_FILTER *f, unsigned nbyte) |
static int | checksum_close (RDD_FILTER *f) |
static int | checksum_free (RDD_FILTER *f) |
static int | checksum_input (RDD_FILTER *f, const unsigned char *buf, unsigned nbyte) |
static void | init_header (RDD_CHECKSUM_FILE_HEADER *rec, int type, size_t blocksize, off_t offset, off_t imgsize) |
static int | new_checksum_blockfilter (RDD_FILTER **self, rdd_checksum_algorithm_t alg, unsigned blocksize, const char *outpath, int overwrite) |
int | rdd_new_adler32_blockfilter (RDD_FILTER **f, unsigned blocksize, const char *outpath, int overwrite) |
int | rdd_new_crc32_blockfilter (RDD_FILTER **f, unsigned blocksize, const char *outpath, int overwrite) |
static void | reset_checksum (RDD_CHECKSUM_BLOCKFILTER *state) |
Variables | |
static RDD_FILTER_OPS | checksum_ops |
static char | copyright [] |
typedef struct _RDD_CHECKSUM_BLOCKFILTER RDD_CHECKSUM_BLOCKFILTER |
static int checksum_block | ( | RDD_FILTER * | f, | |
unsigned | nbyte | |||
) | [static] |
Definition at line 139 of file checksumblockfilter.c.
References _RDD_CHECKSUM_BLOCKFILTER::checksum, _RDD_CHECKSUM_BLOCKFILTER::fp, RDD_EWRITE, RDD_OK, reset_checksum(), and _RDD_FILTER::state.
static int checksum_close | ( | RDD_FILTER * | f | ) | [static] |
Definition at line 153 of file checksumblockfilter.c.
References _RDD_CHECKSUM_BLOCKFILTER::fp, outfile_fclose(), _RDD_CHECKSUM_BLOCKFILTER::path, RDD_OK, and _RDD_FILTER::state.
static int checksum_free | ( | RDD_FILTER * | f | ) | [static] |
Definition at line 164 of file checksumblockfilter.c.
References _RDD_CHECKSUM_BLOCKFILTER::path, RDD_OK, and _RDD_FILTER::state.
static int checksum_input | ( | RDD_FILTER * | f, | |
const unsigned char * | buf, | |||
unsigned | nbyte | |||
) | [static] |
Definition at line 122 of file checksumblockfilter.c.
References _RDD_CHECKSUM_BLOCKFILTER::algorithm, _RDD_CHECKSUM_BLOCKFILTER::checksum, RDD_ADLER32, RDD_CRC32, RDD_OK, and _RDD_FILTER::state.
static void init_header | ( | RDD_CHECKSUM_FILE_HEADER * | rec, | |
int | type, | |||
size_t | blocksize, | |||
off_t | offset, | |||
off_t | imgsize | |||
) | [static] |
Definition at line 107 of file checksumblockfilter.c.
References _RDD_CHECKSUM_FILE_HEADER::blocksize, _RDD_CHECKSUM_FILE_HEADER::flags, _RDD_CHECKSUM_FILE_HEADER::imagesize, _RDD_CHECKSUM_FILE_HEADER::magic, _RDD_CHECKSUM_FILE_HEADER::offset, RDD_CHECKSUM_MAGIC, RDD_CHECKSUM_VERSION, _RDD_CHECKSUM_FILE_HEADER::reserved, and _RDD_CHECKSUM_FILE_HEADER::version.
static int new_checksum_blockfilter | ( | RDD_FILTER ** | self, | |
rdd_checksum_algorithm_t | alg, | |||
unsigned | blocksize, | |||
const char * | outpath, | |||
int | overwrite | |||
) | [static] |
Definition at line 175 of file checksumblockfilter.c.
References _RDD_CHECKSUM_BLOCKFILTER::algorithm, error(), _RDD_CHECKSUM_BLOCKFILTER::fp, init_header(), outfile_fopen(), _RDD_CHECKSUM_BLOCKFILTER::path, RDD_ADLER32, RDD_BADARG, RDD_CRC32, RDD_EWRITE, rdd_new_filter(), RDD_NOMEM, RDD_OK, reset_checksum(), and _RDD_FILTER::state.
int rdd_new_adler32_blockfilter | ( | RDD_FILTER ** | f, | |
unsigned | blocksize, | |||
const char * | outpath, | |||
int | overwrite | |||
) |
Definition at line 238 of file checksumblockfilter.c.
References new_checksum_blockfilter(), and RDD_ADLER32.
int rdd_new_crc32_blockfilter | ( | RDD_FILTER ** | f, | |
unsigned | blocksize, | |||
const char * | outpath, | |||
int | overwrite | |||
) |
Definition at line 246 of file checksumblockfilter.c.
References new_checksum_blockfilter(), and RDD_CRC32.
static void reset_checksum | ( | RDD_CHECKSUM_BLOCKFILTER * | state | ) | [static] |
Definition at line 94 of file checksumblockfilter.c.
References _RDD_CHECKSUM_BLOCKFILTER::algorithm, _RDD_CHECKSUM_BLOCKFILTER::checksum, RDD_ADLER32, and RDD_CRC32.
RDD_FILTER_OPS checksum_ops [static] |
Initial value:
Definition at line 85 of file checksumblockfilter.c.
char copyright[] [static] |
Initial value:
"@(#) Copyright (c) 2002\n\ Netherlands Forensic Institute. All rights reserved.\n"
Definition at line 39 of file checksumblockfilter.c.