X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=device-src%2Ftape-ops.h;h=7bc0ee39ff54e0eb2d712b3fab44519431c8427e;hb=fd48f3e498442f0cbff5f3606c7c403d0566150e;hp=bebe28abc3b32ca45c096f3002e49462d51a8f60;hpb=fb2bd066c2f8b34addafe48d62550e3033a59431;p=debian%2Famanda diff --git a/device-src/tape-ops.h b/device-src/tape-ops.h index bebe28a..7bc0ee3 100644 --- a/device-src/tape-ops.h +++ b/device-src/tape-ops.h @@ -1,20 +1,20 @@ /* - * Copyright (c) 2005 Zmanda, Inc. All Rights Reserved. - * - * This library is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License version 2.1 as - * published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, but + * Copyright (c) 2007, 2008, 2009, 2010 Zmanda, Inc. All Rights Reserved. + * + * This program is free software; 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. + * + * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public - * License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. - * - * Contact information: Zmanda Inc., 505 N Mathlida Ave, Suite 120 + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact information: Zmanda Inc., 465 S. Mathilda Ave., Suite 300 * Sunnyvale, CA 94085, USA, or: http://www.zmanda.com */ @@ -31,33 +31,35 @@ # include #endif -/* Return codes for tape_eod */ -#define TAPE_OP_ERROR -1 -#define TAPE_POSITION_UNKNOWN -2 +/* This file declares functions which are implemented in each of tape-*.c. The + * appropriate C file is selected at configure time. */ -/* Real Operations (always return FALSE if not implemented). These are - * implemented in one of tape-{uware,aix,xenix,posix}.c, depending on - * the platform. */ +/* Real Operations (always return FALSE if not implemented) */ gboolean tape_rewind(int fd); gboolean tape_fsf(int fd, guint count); gboolean tape_bsf(int fd, guint count); gboolean tape_fsr(int fd, guint count); gboolean tape_bsr(int fd, guint count); -/* Returns tape position file number, or one of the return codes above. */ +gint tape_fileno(int fd); + +/* tape_fileno returns tape position file number, or one of these: */ +#define TAPE_OP_ERROR -1 +#define TAPE_POSITION_UNKNOWN -2 + +/* Sets attributes of the device to indicate which of the above operations + * are available in this device. */ +void tape_device_detect_capabilities(TapeDevice * self); + +/* returns a fileno like tape_fileno */ gint tape_eod(int fd); + gboolean tape_weof(int fd, guint8 count); gboolean tape_setcompression(int fd, gboolean on); -typedef enum { - TAPE_CHECK_SUCCESS, - TAPE_CHECK_UNKNOWN, - TAPE_CHECK_FAILURE -} TapeCheckResult; -ReadLabelStatusFlags tape_is_tape_device(int fd); -TapeCheckResult tape_is_ready(int fd); +gboolean tape_offl(int fd); -/* Also implemented in above files. Sets properties on the device. */ -void tape_device_discover_capabilities(TapeDevice * self); +DeviceStatusFlags tape_is_tape_device(int fd); +DeviceStatusFlags tape_is_ready(int fd, TapeDevice *t_self); #endif