01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: package org.apache.tomcat.jni;
19:
20: /** Stdlib
21: *
22: * @author Mladen Turk
23: * @version $Revision: 467222 $, $Date: 2006-10-24 05:17:11 +0200 (mar., 24 oct. 2006) $
24: */
25:
26: public class Stdlib {
27:
28: /**
29: * Read from plain memory
30: * @param dst Destination byte array
31: * @param src Source memory address
32: * @param sz Number of bytes to copy.
33: */
34: public static native boolean memread(byte[] dst, long src, int sz);
35:
36: /**
37: * Write to plain memory
38: * @param dst Destination memory address
39: * @param src Source byte array
40: * @param sz Number of bytes to copy.
41: */
42: public static native boolean memwrite(long dst, byte[] src, int sz);
43:
44: /**
45: * Sets buffers to a specified character
46: * @param dst Destination memory address
47: * @param c Character to set.
48: * @param sz Number of characters.
49: */
50: public static native boolean memset(long dst, int c, int sz);
51:
52: /**
53: * Allocates memory blocks.
54: * @param sz Bytes to allocate.
55: */
56: public static native long malloc(int sz);
57:
58: /**
59: * Reallocate memory blocks.
60: * @param mem Pointer to previously allocated memory block.
61: * @param sz New size in bytes.
62: */
63: public static native long realloc(long mem, int sz);
64:
65: /**
66: * Allocates an array in memory with elements initialized to 0.
67: * @param num Number of elements.
68: * @param sz Length in bytes of each element.
69: */
70: public static native long calloc(long num, int sz);
71:
72: /**
73: * Deallocates or frees a memory block.
74: * @param mem Previously allocated memory block to be freed.
75: */
76: public static native void free(long mem);
77:
78: /**
79: * Get current process pid.
80: * @return current pid or < 1 in case of error.
81: */
82: public static native int getpid();
83:
84: /**
85: * Get current process parent pid.
86: * @return parent pid or < 1 in case of error.
87: */
88: public static native int getppid();
89:
90: }
|