~ chicken-core (chicken-5) 9bf8a135368309f453c6fcfaf8ecd2af9c0a07c2
commit 9bf8a135368309f453c6fcfaf8ecd2af9c0a07c2 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Thu Sep 8 14:20:48 2011 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Thu Sep 8 14:20:48 2011 +0200 actually move C-definitions to posix-common as well diff --git a/posix-common.scm b/posix-common.scm index 3a8d5cae..4b4e2170 100644 --- a/posix-common.scm +++ b/posix-common.scm @@ -53,6 +53,15 @@ static C_TLS struct stat C_statbuf; #define C_strftime(v, f) \ (strftime(C_time_string, sizeof(C_time_string), C_c_string(f), C_tm_set(v)) ? C_time_string : NULL) +#define C_C_fileno(p) C_fix(fileno(C_port_file(p))) + +#define C_fdopen(a, n, fd, m) C_mpointer(a, fdopen(C_unfix(fd), C_c_string(m))) +#define C_C_fileno(p) C_fix(fileno(C_port_file(p))) +#define C_dup(x) C_fix(dup(C_unfix(x))) +#define C_dup2(x, y) C_fix(dup2(C_unfix(x), C_unfix(y))) + +#define C_set_file_ptr(port, ptr) (C_set_block_item(port, 0, (C_block_item(ptr, 0))), C_SCHEME_UNDEFINED) + EOF )) diff --git a/posixunix.scm b/posixunix.scm index 91f6101a..a9e45654 100644 --- a/posixunix.scm +++ b/posixunix.scm @@ -157,8 +157,6 @@ static C_TLS struct stat C_statbuf; #define open_text_output_pipe(a, n, name) open_binary_output_pipe(a, n, name) #define close_pipe(p) C_fix(pclose(C_port_file(p))) -#define C_set_file_ptr(port, ptr) (C_set_block_item(port, 0, (C_block_item(ptr, 0))), C_SCHEME_UNDEFINED) - #define C_fork fork #define C_waitpid(id, o) C_fix(waitpid(C_unfix(id), &C_wait_status, C_unfix(o))) #define C_getppid getppid @@ -191,10 +189,6 @@ static C_TLS struct stat C_statbuf; #define C_truncate(f, n) C_fix(truncate((char *)C_data_pointer(f), C_num_to_int(n))) #define C_ftruncate(f, n) C_fix(ftruncate(C_unfix(f), C_num_to_int(n))) #define C_uname C_fix(uname(&C_utsname)) -#define C_fdopen(a, n, fd, m) C_mpointer(a, fdopen(C_unfix(fd), C_c_string(m))) -#define C_C_fileno(p) C_fix(fileno(C_port_file(p))) -#define C_dup(x) C_fix(dup(C_unfix(x))) -#define C_dup2(x, y) C_fix(dup2(C_unfix(x), C_unfix(y))) #define C_alarm alarm #define C_setvbuf(p, m, s) C_fix(setvbuf(C_port_file(p), NULL, C_unfix(m), C_unfix(s))) #define C_test_access(fn, m) C_fix(access((char *)C_data_pointer(fn), C_unfix(m))) diff --git a/posixwin.scm b/posixwin.scm index 1cd6b340..0430876a 100644 --- a/posixwin.scm +++ b/posixwin.scm @@ -223,14 +223,8 @@ readdir(DIR * dir) #define open_text_output_pipe(a, n, name) open_binary_output_pipe(a, n, name) #define close_pipe(p) C_fix(_pclose(C_port_file(p))) -#define C_set_file_ptr(port, ptr) (C_set_block_item(port, 0, (C_block_item(ptr, 0))), C_SCHEME_UNDEFINED) - #define C_getpid getpid #define C_chmod(fn, m) C_fix(chmod(C_data_pointer(fn), C_unfix(m))) -#define C_fdopen(a, n, fd, m) C_mpointer(a, fdopen(C_unfix(fd), C_c_string(m))) -#define C_C_fileno(p) C_fix(fileno(C_port_file(p))) -#define C_dup(x) C_fix(dup(C_unfix(x))) -#define C_dup2(x, y) C_fix(dup2(C_unfix(x), C_unfix(y))) #define C_setvbuf(p, m, s) C_fix(setvbuf(C_port_file(p), NULL, C_unfix(m), C_unfix(s))) #define C_test_access(fn, m) C_fix(access((char *)C_data_pointer(fn), C_unfix(m))) #define C_pipe(d, m) C_fix(_pipe(C_pipefds, PIPE_BUF, C_unfix(m)))Trap