annotate src/share/npt/utf.h @ 2940:5193b0c2baf0

6992545: FindBugs scan - Malicious code vulnerability Warnings in com.sun.net.httpserver.HttpsParameters.* Reviewed-by: alanb
author chegar
date Mon, 18 Oct 2010 16:51:26 +0100
parents 37a05a11f281
children
rev   line source
duke@0 1 /*
ohair@2362 2 * Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
duke@0 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
duke@0 4 *
duke@0 5 * This code is free software; you can redistribute it and/or modify it
duke@0 6 * under the terms of the GNU General Public License version 2 only, as
ohair@2362 7 * published by the Free Software Foundation. Oracle designates this
duke@0 8 * particular file as subject to the "Classpath" exception as provided
ohair@2362 9 * by Oracle in the LICENSE file that accompanied this code.
duke@0 10 *
duke@0 11 * This code is distributed in the hope that it will be useful, but WITHOUT
duke@0 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
duke@0 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
duke@0 14 * version 2 for more details (a copy is included in the LICENSE file that
duke@0 15 * accompanied this code).
duke@0 16 *
duke@0 17 * You should have received a copy of the GNU General Public License version
duke@0 18 * 2 along with this work; if not, write to the Free Software Foundation,
duke@0 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
duke@0 20 *
ohair@2362 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
ohair@2362 22 * or visit www.oracle.com if you need additional information or have any
ohair@2362 23 * questions.
duke@0 24 */
duke@0 25
duke@0 26 /* Routines for various UTF conversions */
duke@0 27
duke@0 28 #ifndef _UTF_H
duke@0 29 #define _UTF_H
duke@0 30
duke@0 31 #include <stdio.h>
duke@0 32
duke@0 33 #include "jni.h"
duke@0 34 #include "utf_md.h"
duke@0 35
duke@0 36 /* Error and assert macros */
duke@0 37 #define UTF_ERROR(m) utfError(__FILE__, __LINE__, m)
duke@0 38 #define UTF_ASSERT(x) ( (x)==0 ? UTF_ERROR("ASSERT ERROR " #x) : (void)0 )
duke@0 39
duke@0 40 void utfError(char *file, int line, char *message);
duke@0 41
duke@0 42 struct UtfInst* JNICALL utfInitialize
duke@0 43 (char *options);
duke@0 44 void JNICALL utfTerminate
duke@0 45 (struct UtfInst *ui, char *options);
duke@0 46 int JNICALL utf8ToPlatform
duke@0 47 (struct UtfInst *ui, jbyte *utf8,
duke@0 48 int len, char *output, int outputMaxLen);
duke@0 49 int JNICALL utf8FromPlatform
duke@0 50 (struct UtfInst *ui, char *str, int len,
duke@0 51 jbyte *output, int outputMaxLen);
duke@0 52 int JNICALL utf8ToUtf16
duke@0 53 (struct UtfInst *ui, jbyte *utf8, int len,
duke@0 54 jchar *output, int outputMaxLen);
duke@0 55 int JNICALL utf16ToUtf8m
duke@0 56 (struct UtfInst *ui, jchar *utf16, int len,
duke@0 57 jbyte *output, int outputMaxLen);
duke@0 58 int JNICALL utf16ToUtf8s
duke@0 59 (struct UtfInst *ui, jchar *utf16, int len,
duke@0 60 jbyte *output, int outputMaxLen);
duke@0 61 int JNICALL utf8sToUtf8mLength
duke@0 62 (struct UtfInst *ui, jbyte *string, int length);
duke@0 63 void JNICALL utf8sToUtf8m
duke@0 64 (struct UtfInst *ui, jbyte *string, int length,
duke@0 65 jbyte *new_string, int new_length);
duke@0 66 int JNICALL utf8mToUtf8sLength
duke@0 67 (struct UtfInst *ui, jbyte *string, int length);
duke@0 68 void JNICALL utf8mToUtf8s
duke@0 69 (struct UtfInst *ui, jbyte *string, int length,
duke@0 70 jbyte *new_string, int new_length);
duke@0 71
duke@0 72 #endif