You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Rainer Jung <ra...@kippdata.de> on 2009/01/01 15:28:56 UTC

Missing tcnative function implementations

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