Return-Path: Delivered-To: apmail-tomcat-dev-archive@www.apache.org Received: (qmail 71026 invoked from network); 1 Jan 2009 14:30:11 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 1 Jan 2009 14:30:11 -0000 Received: (qmail 74797 invoked by uid 500); 1 Jan 2009 14:30:05 -0000 Delivered-To: apmail-tomcat-dev-archive@tomcat.apache.org Received: (qmail 74726 invoked by uid 500); 1 Jan 2009 14:30:05 -0000 Mailing-List: contact dev-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Developers List" Delivered-To: mailing list dev@tomcat.apache.org Received: (qmail 74715 invoked by uid 99); 1 Jan 2009 14:30:05 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Jan 2009 06:30:05 -0800 X-ASF-Spam-Status: No, hits=-4.0 required=10.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [195.227.30.149] (HELO mailserver.kippdata.de) (195.227.30.149) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Jan 2009 14:29:57 +0000 Received: from [192.168.2.102] ([192.168.2.102]) by mailserver.kippdata.de (8.13.5/8.13.5) with ESMTP id n01ETaNV027278 for ; Thu, 1 Jan 2009 15:29:36 +0100 (CET) Message-ID: <495CD328.8050505@kippdata.de> Date: Thu, 01 Jan 2009 15:28:56 +0100 From: Rainer Jung User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1b3pre) Gecko/20081204 Thunderbird/3.0b1 MIME-Version: 1.0 To: Tomcat Developers List Subject: Missing tcnative function implementations Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org When checking the consistency between the native and the Java code of tcnative I found the following differences, which are still open: General differences =================== Methods implemented in pool.c but not available in Pool.java ------------------------------------------------------------ (jlong, Pool, palloc)(TCN_STDARGS, jlong pool, jint size) (jlong, Pool, pcalloc)(TCN_STDARGS, jlong pool, jint size) I'm not sure, whether we want to make them available or drop them completely. All other allocation methods in pool.c use DirectByteBuffers, those two do not. Are they intended to be made part of the public API? Platform specific differences ============================= Missing implementation on netware --------------------------------- (all avaliable via OS.java) public static native String expand(String str); public static native void sysloginit(String domain); public static native void syslog(int level, String message); (all available via Local.java): public static native long create(String path, long cont) public static native int bind(long sock, long sa); public static native int listen(long sock, int backlog); public static native int connect(long sock, long sa); Missing on Unix and Netware --------------------------- (but also not published in the Java API) system.c: (jstring, OS, syserror)(TCN_STDARGS, jint err) Only existing for Windows ------------------------- (but all published via Registry.java) public static native long create(int root, String name, int sam, long pool) public static native long open(int root, String name, int sam, long pool) public static native int getType(long key, String name); public static native int getValueI(long key, String name) public static native long getValueJ(long key, String name) public static native int getSize(long key, String name); public static native String getValueS(long key, String name) public static native String[] getValueA(long key, String name) public static native byte[] getValueB(long key, String name) public static native int setValueI(long key, String name, int val); public static native int setValueJ(long key, String name, long val); public static native int setValueS(long key, String name, String val); public static native int setValueE(long key, String name, String val); public static native int setValueA(long key, String name, String[] val); public static native int setValueB(long key, String name, byte[] val); public static native int deleteValue(long key, String name); public static native int deleteKey(int root, String name, Regards, Rainer --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org For additional commands, e-mail: dev-help@tomcat.apache.org