Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
don't use XBT_CIN, since I didn't manage to implement it correctly
[simgrid.git] / src / gras / Transport / transport_plugin_file.c
index 5386e8e..2e54bf1 100644 (file)
@@ -7,15 +7,13 @@
 /* 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. */
 
-#include <errno.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-
+#include "portable.h"
 #include "transport_private.h"
 
+#if 0
+#  include <sys/types.h>
+#endif 
+
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(trp_file,transport,
        "Pseudo-transport to write to/read from a file");
 
@@ -25,12 +23,12 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(trp_file,transport,
 void         gras_trp_file_close(gras_socket_t sd);
   
 xbt_error_t gras_trp_file_chunk_send(gras_socket_t sd,
-                                     const char *data,
-                                     long int size);
+                                    const char *data,
+                                    unsigned long int size);
 
 xbt_error_t gras_trp_file_chunk_recv(gras_socket_t sd,
-                                     char *data,
-                                     long int size);
+                                    char *data,
+                                    unsigned long int size);
 
 
 /***
@@ -87,7 +85,7 @@ gras_socket_client_from_file(const char*path,
   (*dst)->plugin=trp;
 
   if (strcmp("-", path)) {
-    (*dst)->sd = open(path, O_WRONLY|O_CREAT, S_IRUSR|S_IWUSR|S_IRGRP );
+    (*dst)->sd = open(path, O_WRONLY|O_CREAT | O_BINARY, S_IRUSR|S_IWUSR|S_IRGRP );
     
     if ( (*dst)->sd < 0) {
       RAISE2(system_error,
@@ -131,7 +129,7 @@ gras_socket_server_from_file(const char*path,
 
 
   if (strcmp("-", path)) {
-    (*dst)->sd = open(path, O_RDONLY );
+    (*dst)->sd = open(path, O_RDONLY | O_BINARY);
 
     if ( (*dst)->sd < 0) {
       RAISE2(system_error,
@@ -183,7 +181,7 @@ void gras_trp_file_close(gras_socket_t sock){
 xbt_error_t 
 gras_trp_file_chunk_send(gras_socket_t sock,
                         const char *data,
-                        long int size) {
+                        unsigned long int size) {
   
   xbt_assert0(sock->outgoing, "Cannot write on client file socket");
   xbt_assert0(size >= 0, "Cannot send a negative amount of data");
@@ -218,7 +216,7 @@ gras_trp_file_chunk_send(gras_socket_t sock,
 xbt_error_t 
 gras_trp_file_chunk_recv(gras_socket_t sock,
                        char *data,
-                       long int size) {
+                       unsigned long int size) {
 
   xbt_assert0(sock, "Cannot recv on an NULL socket");
   xbt_assert0(sock->incoming, "Cannot recv on client file socket");