version 1.20, 2005/03/03 06:21:22 |
version 1.24, 2016/06/30 01:14:00 |
|
|
/* -*- mode: C; coding: euc-japan -*- */ |
/* -*- mode: C; coding: euc-japan -*- */ |
/* $OpenXM: OpenXM/src/ox_toolkit/oxf.c,v 1.19 2005/03/03 04:40:51 ohara Exp $ */ |
/* $OpenXM: OpenXM/src/ox_toolkit/oxf.c,v 1.23 2015/08/27 03:03:33 ohara Exp $ */ |
|
|
/* |
/* |
This module includes functions for sending/receiveng CMO's. |
This module includes functions for sending/receiveng CMO's. |
Some commnets are written in Japanese by the EUC-JP coded |
|
character set. |
|
*/ |
*/ |
|
|
|
#if defined(_MSC_VER) |
|
#define _CRT_RAND_S |
|
#endif |
|
|
#include <stdio.h> |
#include <stdio.h> |
#include <stdlib.h> |
#include <stdlib.h> |
#include <string.h> |
#include <string.h> |
#include <unistd.h> |
|
#include <fcntl.h> |
#include <fcntl.h> |
#include <sys/file.h> |
|
#include <sys/param.h> |
|
#include <time.h> |
#include <time.h> |
#include <limits.h> |
#include <limits.h> |
|
|
|
|
#include <inttypes.h> |
#include <inttypes.h> |
#endif |
#endif |
|
|
|
#if defined(_MSC_VER) |
|
#include <io.h> |
|
#include <winsock2.h> |
|
#define X_OK 0x01 |
|
#define R_OK 0x04 |
|
#define MAXHOSTNAMELEN 256 |
|
#define srandom(s) (srand((s))) |
|
static int random() |
|
{ |
|
int r; |
|
rand_s(&r); |
|
return r; |
|
} |
|
#else |
|
#include <unistd.h> |
|
#include <sys/file.h> |
|
#include <sys/param.h> |
|
#endif |
|
|
#include "mysocket.h" |
#include "mysocket.h" |
#include "ox_toolkit.h" |
#include "ox_toolkit.h" |
|
|
Line 77 int oxf_read(void *buffer, size_t size, size_t num, OX |
|
Line 95 int oxf_read(void *buffer, size_t size, size_t num, OX |
|
{ |
{ |
int n = read(oxfp->fd, buffer, size*num); |
int n = read(oxfp->fd, buffer, size*num); |
if (n <= 0) { |
if (n <= 0) { |
|
#if 0 |
oxfp->error = 1; |
oxfp->error = 1; |
|
#else |
|
exit(0); |
|
#endif |
} |
} |
return n; |
return n; |
} |
} |
Line 113 static int send_int64_lbo(OXFILE *oxfp, double int64) |
|
Line 135 static int send_int64_lbo(OXFILE *oxfp, double int64) |
|
/* receiving an object of int64 type with Network Byte Order. */ |
/* receiving an object of int64 type with Network Byte Order. */ |
static double receive_int64_nbo_le(OXFILE *oxfp) |
static double receive_int64_nbo_le(OXFILE *oxfp) |
{ |
{ |
int tag; |
double tag; |
oxf_read(&tag, sizeof(double), 1, oxfp); |
oxf_read(&tag, sizeof(double), 1, oxfp); |
return htonll_le(tag); |
return htonll_le(tag); |
} |
} |
Line 121 static double receive_int64_nbo_le(OXFILE *oxfp) |
|
Line 143 static double receive_int64_nbo_le(OXFILE *oxfp) |
|
/* receiving an object of int64 type with Local Byte Order. */ |
/* receiving an object of int64 type with Local Byte Order. */ |
static double receive_int64_lbo(OXFILE *oxfp) |
static double receive_int64_lbo(OXFILE *oxfp) |
{ |
{ |
int tag; |
double tag; |
oxf_read(&tag, sizeof(double), 1, oxfp); |
oxf_read(&tag, sizeof(double), 1, oxfp); |
return tag; |
return tag; |
} |
} |
Line 353 char *which(char *exe, const char *env) |
|
Line 375 char *which(char *exe, const char *env) |
|
return NULL; |
return NULL; |
} |
} |
|
|
|
#if !defined(_MSC_VER) |
/* Remarks: ssh determines remote host by his name, i.e. by arg[0]. */ |
/* Remarks: ssh determines remote host by his name, i.e. by arg[0]. */ |
int oxc_start(char *remote_host, int port, char *passwd) |
int oxc_start(char *remote_host, int port, char *passwd) |
{ |
{ |
Line 396 int oxc_start_with_pipe(char *remote_host, int port, c |
|
Line 419 int oxc_start_with_pipe(char *remote_host, int port, c |
|
} |
} |
return pid; |
return pid; |
} |
} |
|
#endif |
|
|
static void pipe_send_string(int fd, char *s) |
static void pipe_send_string(int fd, char *s) |
{ |
{ |