archive_virtual.c revision 267654
133965Sjdp/*-
2218822Sdim * Copyright (c) 2003-2007 Tim Kientzle
3130561Sobrien * All rights reserved.
433965Sjdp *
5218822Sdim * Redistribution and use in source and binary forms, with or without
633965Sjdp * modification, are permitted provided that the following conditions
7218822Sdim * are met:
8218822Sdim * 1. Redistributions of source code must retain the above copyright
9218822Sdim *    notice, this list of conditions and the following disclaimer.
10218822Sdim * 2. Redistributions in binary form must reproduce the above copyright
1133965Sjdp *    notice, this list of conditions and the following disclaimer in the
12218822Sdim *    documentation and/or other materials provided with the distribution.
13218822Sdim *
14218822Sdim * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
15218822Sdim * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
1633965Sjdp * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
17218822Sdim * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
18218822Sdim * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19218822Sdim * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2033965Sjdp * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21218822Sdim * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2233965Sjdp * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
2333965Sjdp * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2433965Sjdp */
2533965Sjdp
2660484Sobrien#include "archive_platform.h"
2760484Sobrien__FBSDID("$FreeBSD: releng/9.3/contrib/libarchive/libarchive/archive_virtual.c 229592 2012-01-05 12:06:54Z mm $");
2833965Sjdp
2960484Sobrien#include "archive.h"
3060484Sobrien#include "archive_entry.h"
3160484Sobrien#include "archive_private.h"
3260484Sobrien
3360484Sobrienint
34130561Sobrienarchive_write_close(struct archive *a)
3560484Sobrien{
3660484Sobrien	return ((a->vtable->archive_close)(a));
3760484Sobrien}
3860484Sobrien
39130561Sobrienint
4060484Sobrienarchive_read_close(struct archive *a)
4160484Sobrien{
42130561Sobrien	return ((a->vtable->archive_close)(a));
4360484Sobrien}
4460484Sobrien
45218822Sdimint
46218822Sdimarchive_write_free(struct archive *a)
47218822Sdim{
4860484Sobrien	return ((a->vtable->archive_free)(a));
4960484Sobrien}
5060484Sobrien
5160484Sobrien#if ARCHIVE_VERSION_NUMBER < 4000000
5260484Sobrien/* For backwards compatibility; will be removed with libarchive 4.0. */
53218822Sdimint
54218822Sdimarchive_write_finish(struct archive *a)
55218822Sdim{
5660484Sobrien	return ((a->vtable->archive_free)(a));
5760484Sobrien}
5860484Sobrien#endif
5960484Sobrien
60218822Sdimint
61218822Sdimarchive_read_free(struct archive *a)
62218822Sdim{
63218822Sdim	return ((a->vtable->archive_free)(a));
64218822Sdim}
65218822Sdim
66218822Sdim#if ARCHIVE_VERSION_NUMBER < 4000000
67218822Sdim/* For backwards compatibility; will be removed with libarchive 4.0. */
68218822Sdimint
69218822Sdimarchive_read_finish(struct archive *a)
70218822Sdim{
71218822Sdim	return ((a->vtable->archive_free)(a));
72218822Sdim}
73218822Sdim#endif
74218822Sdim
75218822Sdimint
76130561Sobrienarchive_write_header(struct archive *a, struct archive_entry *entry)
77218822Sdim{
7877298Sobrien	++a->file_count;
79218822Sdim	return ((a->vtable->archive_write_header)(a, entry));
8077298Sobrien}
8177298Sobrien
82218822Sdimint
8377298Sobrienarchive_write_finish_entry(struct archive *a)
84218822Sdim{
85218822Sdim	return ((a->vtable->archive_write_finish_entry)(a));
86130561Sobrien}
8777298Sobrien
8877298Sobrienssize_t
8933965Sjdparchive_write_data(struct archive *a, const void *buff, size_t s)
9033965Sjdp{
9133965Sjdp	return ((a->vtable->archive_write_data)(a, buff, s));
9233965Sjdp}
9333965Sjdp
9433965Sjdpssize_t
9560484Sobrienarchive_write_data_block(struct archive *a, const void *buff, size_t s, off_t o)
9633965Sjdp{
97218822Sdim	return ((a->vtable->archive_write_data_block)(a, buff, s, o));
9877298Sobrien}
9960484Sobrien