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