1*101e15b5SRichard Lowe /* 2*101e15b5SRichard Lowe * CDDL HEADER START 3*101e15b5SRichard Lowe * 4*101e15b5SRichard Lowe * The contents of this file are subject to the terms of the 5*101e15b5SRichard Lowe * Common Development and Distribution License, Version 1.0 only 6*101e15b5SRichard Lowe * (the "License"). You may not use this file except in compliance 7*101e15b5SRichard Lowe * with the License. 8*101e15b5SRichard Lowe * 9*101e15b5SRichard Lowe * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10*101e15b5SRichard Lowe * or http://www.opensolaris.org/os/licensing. 11*101e15b5SRichard Lowe * See the License for the specific language governing permissions 12*101e15b5SRichard Lowe * and limitations under the License. 13*101e15b5SRichard Lowe * 14*101e15b5SRichard Lowe * When distributing Covered Code, include this CDDL HEADER in each 15*101e15b5SRichard Lowe * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16*101e15b5SRichard Lowe * If applicable, add the following below this CDDL HEADER, with the 17*101e15b5SRichard Lowe * fields enclosed by brackets "[]" replaced with your own identifying 18*101e15b5SRichard Lowe * information: Portions Copyright [yyyy] [name of copyright owner] 19*101e15b5SRichard Lowe * 20*101e15b5SRichard Lowe * CDDL HEADER END 21*101e15b5SRichard Lowe */ 22*101e15b5SRichard Lowe /* 23*101e15b5SRichard Lowe * Copyright 1998-2002 Sun Microsystems, Inc. All rights reserved. 24*101e15b5SRichard Lowe * Use is subject to license terms. 25*101e15b5SRichard Lowe */ 26*101e15b5SRichard Lowe 27*101e15b5SRichard Lowe #ifndef _SORT_FIELDS_H 28*101e15b5SRichard Lowe #define _SORT_FIELDS_H 29*101e15b5SRichard Lowe 30*101e15b5SRichard Lowe #ifdef __cplusplus 31*101e15b5SRichard Lowe extern "C" { 32*101e15b5SRichard Lowe #endif 33*101e15b5SRichard Lowe 34*101e15b5SRichard Lowe #include <alloca.h> 35*101e15b5SRichard Lowe #include <ctype.h> 36*101e15b5SRichard Lowe #include <limits.h> 37*101e15b5SRichard Lowe #include <locale.h> 38*101e15b5SRichard Lowe #include <stdio.h> 39*101e15b5SRichard Lowe #include <string.h> 40*101e15b5SRichard Lowe #include <time.h> 41*101e15b5SRichard Lowe #include <wchar.h> 42*101e15b5SRichard Lowe #include <widec.h> 43*101e15b5SRichard Lowe 44*101e15b5SRichard Lowe #include "statistics.h" 45*101e15b5SRichard Lowe #include "types.h" 46*101e15b5SRichard Lowe #include "utility.h" 47*101e15b5SRichard Lowe 48*101e15b5SRichard Lowe #define FCV_REALLOC 0x1 49*101e15b5SRichard Lowe #define FCV_FAIL 0x2 50*101e15b5SRichard Lowe 51*101e15b5SRichard Lowe #define INITIAL_COLLATION_SIZE 1024 52*101e15b5SRichard Lowe 53*101e15b5SRichard Lowe #define COLL_NONUNIQUE 0x0 54*101e15b5SRichard Lowe #define COLL_UNIQUE 0x1 55*101e15b5SRichard Lowe #define COLL_DATA_ONLY 0x2 56*101e15b5SRichard Lowe #define COLL_REVERSE 0x4 57*101e15b5SRichard Lowe 58*101e15b5SRichard Lowe extern void field_initialize(sort_t *); 59*101e15b5SRichard Lowe 60*101e15b5SRichard Lowe extern field_t *field_new(sort_t *); 61*101e15b5SRichard Lowe extern void field_delete(field_t *); 62*101e15b5SRichard Lowe extern void field_add_to_chain(field_t **, field_t *); 63*101e15b5SRichard Lowe extern void field_print(field_t *); 64*101e15b5SRichard Lowe 65*101e15b5SRichard Lowe extern ssize_t field_convert_alpha(field_t *, line_rec_t *, vchar_t, 66*101e15b5SRichard Lowe ssize_t, ssize_t, ssize_t); 67*101e15b5SRichard Lowe extern ssize_t field_convert_alpha_simple(field_t *, line_rec_t *, vchar_t, 68*101e15b5SRichard Lowe ssize_t, ssize_t, ssize_t); 69*101e15b5SRichard Lowe extern ssize_t field_convert_month(field_t *, line_rec_t *, vchar_t, 70*101e15b5SRichard Lowe ssize_t, ssize_t, ssize_t); 71*101e15b5SRichard Lowe extern ssize_t field_convert_numeric(field_t *, line_rec_t *, vchar_t, 72*101e15b5SRichard Lowe ssize_t, ssize_t, ssize_t); 73*101e15b5SRichard Lowe 74*101e15b5SRichard Lowe extern int collated(line_rec_t *, line_rec_t *, ssize_t, flag_t); 75*101e15b5SRichard Lowe extern ssize_t field_convert(field_t *, line_rec_t *, flag_t, vchar_t); 76*101e15b5SRichard Lowe 77*101e15b5SRichard Lowe extern ssize_t field_convert_alpha_wide(field_t *, line_rec_t *, vchar_t, 78*101e15b5SRichard Lowe ssize_t, ssize_t, ssize_t); 79*101e15b5SRichard Lowe extern ssize_t field_convert_month_wide(field_t *, line_rec_t *, vchar_t, 80*101e15b5SRichard Lowe ssize_t, ssize_t, ssize_t); 81*101e15b5SRichard Lowe extern ssize_t field_convert_numeric_wide(field_t *, line_rec_t *, vchar_t, 82*101e15b5SRichard Lowe ssize_t, ssize_t, ssize_t); 83*101e15b5SRichard Lowe 84*101e15b5SRichard Lowe extern int collated_wide(line_rec_t *, line_rec_t *, ssize_t, flag_t); 85*101e15b5SRichard Lowe extern ssize_t field_convert_wide(field_t *, line_rec_t *, flag_t, vchar_t); 86*101e15b5SRichard Lowe 87*101e15b5SRichard Lowe #ifdef __cplusplus 88*101e15b5SRichard Lowe } 89*101e15b5SRichard Lowe #endif 90*101e15b5SRichard Lowe 91*101e15b5SRichard Lowe #endif /* _SORT_FIELDS_H */ 92