105c91076SPawel Jakub Dawidek /*- 205c91076SPawel Jakub Dawidek * Copyright (c) 2004 Pawel Jakub Dawidek <pjd@FreeBSD.org> 305c91076SPawel Jakub Dawidek * All rights reserved. 405c91076SPawel Jakub Dawidek * 505c91076SPawel Jakub Dawidek * Redistribution and use in source and binary forms, with or without 605c91076SPawel Jakub Dawidek * modification, are permitted provided that the following conditions 705c91076SPawel Jakub Dawidek * are met: 805c91076SPawel Jakub Dawidek * 1. Redistributions of source code must retain the above copyright 905c91076SPawel Jakub Dawidek * notice, this list of conditions and the following disclaimer. 1005c91076SPawel Jakub Dawidek * 2. Redistributions in binary form must reproduce the above copyright 1105c91076SPawel Jakub Dawidek * notice, this list of conditions and the following disclaimer in the 1205c91076SPawel Jakub Dawidek * documentation and/or other materials provided with the distribution. 1305c91076SPawel Jakub Dawidek * 1405c91076SPawel Jakub Dawidek * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND 1505c91076SPawel Jakub Dawidek * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1605c91076SPawel Jakub Dawidek * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1705c91076SPawel Jakub Dawidek * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE 1805c91076SPawel Jakub Dawidek * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1905c91076SPawel Jakub Dawidek * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2005c91076SPawel Jakub Dawidek * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2105c91076SPawel Jakub Dawidek * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2205c91076SPawel Jakub Dawidek * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2305c91076SPawel Jakub Dawidek * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2405c91076SPawel Jakub Dawidek * SUCH DAMAGE. 2505c91076SPawel Jakub Dawidek * 2605c91076SPawel Jakub Dawidek * $FreeBSD$ 2705c91076SPawel Jakub Dawidek */ 2805c91076SPawel Jakub Dawidek 2905c91076SPawel Jakub Dawidek #ifndef _SUBR_H_ 3005c91076SPawel Jakub Dawidek #define _SUBR_H_ 3109cc9ab6SPawel Jakub Dawidek unsigned g_lcm(unsigned a, unsigned b); 3209cc9ab6SPawel Jakub Dawidek 3309cc9ab6SPawel Jakub Dawidek off_t g_get_mediasize(const char *name); 3409cc9ab6SPawel Jakub Dawidek unsigned g_get_sectorsize(const char *name); 3509cc9ab6SPawel Jakub Dawidek 3605c91076SPawel Jakub Dawidek int g_metadata_store(const char *name, u_char *md, size_t size); 3705c91076SPawel Jakub Dawidek int g_metadata_clear(const char *name, const char *magic); 3805c91076SPawel Jakub Dawidek 3905c91076SPawel Jakub Dawidek void gctl_error(struct gctl_req *req, const char *error, ...); 4005c91076SPawel Jakub Dawidek void *gctl_get_param(struct gctl_req *req, const char *param, int *len); 4105c91076SPawel Jakub Dawidek char const *gctl_get_asciiparam(struct gctl_req *req, const char *param); 4205c91076SPawel Jakub Dawidek void *gctl_get_paraml(struct gctl_req *req, const char *param, int len); 4305c91076SPawel Jakub Dawidek #endif /* !_SUBR_H_ */ 44