1/* 2 * Copyright (c) 2011-12 Apple Inc. All Rights Reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23/* 24 * Copyright (c) 1997 - 2001 Kungliga Tekniska Högskolan 25 * (Royal Institute of Technology, Stockholm, Sweden). 26 * All rights reserved. 27 * 28 * Redistribution and use in source and binary forms, with or without 29 * modification, are permitted provided that the following conditions 30 * are met: 31 * 32 * 1. Redistributions of source code must retain the above copyright 33 * notice, this list of conditions and the following disclaimer. 34 * 35 * 2. Redistributions in binary form must reproduce the above copyright 36 * notice, this list of conditions and the following disclaimer in the 37 * documentation and/or other materials provided with the distribution. 38 * 39 * 3. Neither the name of the Institute nor the names of its contributors 40 * may be used to endorse or promote products derived from this software 41 * without specific prior written permission. 42 * 43 * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND 44 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 45 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 46 * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE 47 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 48 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 49 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 50 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 51 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 52 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 53 * SUCH DAMAGE. 54 */ 55 56/* $Id$ */ 57 58#ifndef __RK_PARSE_UNITS_H__ 59#define __RK_PARSE_UNITS_H__ 60 61#include <stdio.h> 62#include <stddef.h> 63 64/* symbol rewrite */ 65#define parse_units ossl_parse_units 66#define print_units_table ossl_print_units_table 67#define parse_flags ossl_parse_flags 68#define unparse_units ossl_unparse_units 69#define unparse_units_approx ossl_unparse_units_approx 70#define unparse_flags ossl_unparse_flags 71#define print_flags_table ossl_print_flags_table 72 73#ifndef ROKEN_LIB_FUNCTION 74#ifdef _WIN32 75#define ROKEN_LIB_FUNCTION 76#define ROKEN_LIB_CALL __cdecl 77#else 78#define ROKEN_LIB_FUNCTION 79#define ROKEN_LIB_CALL 80#endif 81#endif 82 83struct units { 84 const char *name; 85 unsigned mult; 86}; 87 88ROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 89parse_units (const char *s, const struct units *units, 90 const char *def_unit); 91 92ROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 93print_units_table (const struct units *units, FILE *f); 94 95ROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 96parse_flags (const char *s, const struct units *units, 97 int orig); 98 99ROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 100unparse_units (int num, const struct units *units, char *s, size_t len); 101 102ROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 103unparse_units_approx (int num, const struct units *units, char *s, 104 size_t len); 105 106ROKEN_LIB_FUNCTION int ROKEN_LIB_CALL 107unparse_flags (int num, const struct units *units, char *s, size_t len); 108 109ROKEN_LIB_FUNCTION void ROKEN_LIB_CALL 110print_flags_table (const struct units *units, FILE *f); 111 112#endif /* __RK_PARSE_UNITS_H__ */ 113