+/* Copyright (c) 2012-2014. The SimGrid Team.
+ * All rights reserved. */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
package org.simgrid.msg;
-/**
-* Copyright (c) 2012-2013. The SimGrid Team.
-* All rights reserved.
-*
-* This program is free software; you can redistribute
-* it and/or modify it under the terms of the license
-* (GNU LGPL) which comes with this package.
-*
-*/
public class File {
- protected String storage;
+ public static final int SEEK_SET = 0;
+ public static final int SEEK_CUR = 1;
+ public static final int SEEK_END = 2;
/**
* Represents the bind between the java comm and the
* native C comm. You must never access it, since it is
private long bind = 0;
/**
* Constructor, opens the file.
- * @param storage is the name where you can find the file descriptor
* @param path is the file location on the storage
*/
- public File(String storage, String path) {
- this.storage = storage;
- open(storage, path);
+ public File(String path) {
+ open(path);
}
- protected void finalize() {
- }
/**
- * Opens the file whose name is the string pointed to by path.
- * @param storage is the name where you can find the file descriptor
+ * Opens the file whose name is the string pointed to by path.
* @param path is the file location on the storage
*/
- protected native void open(String storage, String path);
+ protected native void open(String path);
/**
* Read elements of a file.
* @param size of each element
- * @param nMemb is the number of elements of data to write
+ * @param nMemb is the number of elements of data to write
+ * @return the actually read size
*/
public native long read(long size, long nMemb);
+
/**
* Write elements into a file.
* @param size of each element
* @param nMemb is the number of elements of data to write
+ * @return the actually written size
*/
public native long write(long size, long nMemb);
/**
- * Close the file.
- */
+ * Write elements into a file.
+ * @param offset : number of bytes to offset from origin
+ * @param origin : Position used as reference for the offset. It is specified by one of the following constants
+ * defined in <stdio.h> exclusively to be used as arguments for this function (SEEK_SET =
+ * beginning of file, SEEK_CUR = current position of the file pointer, SEEK_END = end of file)
+ */
+ public native void seek(long offset, long origin);
+
+ /** Close the file. */
public native void close();
-
- /**
- * Class initializer, to initialize various JNI stuff
- */
+
+ /** Class initializer, to initialize various JNI stuff */
public static native void nativeInit();
static {
- Msg.nativeInit();
+ org.simgrid.NativeLib.nativeInit();
nativeInit();
}
}
\ No newline at end of file