Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 9951 → Rev 9952

/contrib/other/8086tiny/8086tiny.c
276,7 → 276,7
}
#endif
 
#include <sys/kos_LoadConsole.h>
#include <conio.h>
#define kbhit con_kbhit
#define getch con_getch
 
283,9 → 283,7
// Emulator entry point
int main(int argc, char **argv)
{
load_console();
con_set_title("8086tiny");
//freopen("OUT", "w" ,stdout);
#ifndef NO_GRAPHICS
// Initialise SDL
/contrib/other/uarm/main_pc.c
11,8 → 11,9
//#include <sys/select.h>
#include <signal.h>
//#include <termios.h>
#include <sys/kos_LoadConsole.h>
 
#include <conio.h>
 
#define getch2 con_getch
#define cprintf printf
 
95,8 → 96,6
if (ret==0xD) {ret=0xA;}
}
 
 
 
return ret;
}
 
165,8 → 164,8
SoC soc;
 
int main(int argc, char** argv){
load_console();
con_set_title("uARM");
 
//CONSOLE_INIT("CONSOLE");
 
/*
/contrib/other/udcli/udcli.c
6,7 → 6,6
* See (LICENSE)
* -----------------------------------------------------------------------------
*/
#include <sys/kos_LoadConsole.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
14,6 → 13,8
#include "udis86.h"
#include "config.h"
 
#include <conio.h>
 
#if defined(__amd64__) || defined(__x86_64__)
# define FMT "l"
#else
71,8 → 72,8
 
int main(int argc, char **argv)
{
load_console();
con_set_title("udi disassembler");
 
FILE *stream;
stream = fopen( "disasm.out", "w" );
 
/contrib/sdk/sources/newlib/libc/Makefile.ebox
File deleted
/contrib/sdk/sources/newlib/libc/libc.orig.def
File deleted
/contrib/sdk/sources/newlib/libc/libc.def
File deleted
/contrib/sdk/sources/newlib/libc/dirent/readdir.c
File deleted
/contrib/sdk/sources/newlib/libc/dirent/alphasort.c
File deleted
/contrib/sdk/sources/newlib/libc/dirent/dir.c
File deleted
/contrib/sdk/sources/newlib/libc/dirent/telldir.c
File deleted
\ No newline at end of file
/contrib/sdk/sources/newlib/libc/dirent/opendir.c
File deleted
/contrib/sdk/sources/newlib/libc/dirent/scandir.c
File deleted
/contrib/sdk/sources/newlib/libc/dirent/closedir.c
File deleted
\ No newline at end of file
/contrib/sdk/sources/newlib/libc/dirent/seekdir.c
File deleted
\ No newline at end of file
/contrib/sdk/sources/newlib/libc/dirent/ksys_fs.h
File deleted
/contrib/sdk/sources/newlib/libc/dirent/rewinddir.c
File deleted
\ No newline at end of file
/contrib/sdk/sources/newlib/libc/Makefile
116,10 → 116,9
sys/clock_gettime.c \
sys/close.c \
sys/conio.c \
sys/create.c \
sys/chdir.c \
sys/getcwd.c \
sys/errno.c \
sys/finfo.c \
sys/fsize.c \
sys/fstat.c \
sys/gettod.c \
sys/io.c \
473,16 → 472,6
wscanf.c \
wsetup.c
 
DIRENT_SRCS= dir.c \
closedir.c \
opendir.c \
readdir.c \
rewinddir.c \
seekdir.c \
telldir.c \
scandir.c \
alphasort.c
 
MATH_SRCS = e_acos.c e_acosh.c e_asin.c e_atan2.c e_atanh.c e_cosh.c e_exp.c e_fmod.c \
e_hypot.c e_j0.c e_j1.c e_jn.c e_log.c e_log10.c e_pow.c e_rem_pio2.c \
e_remainder.c e_scalb.c e_sinh.c e_sqrt.c ef_acos.c ef_acosh.c ef_asin.c \
539,9 → 528,6
STDLIB_OBJS = $(patsubst %.S, stdlib/%.o, $(patsubst %.asm, stdlib/%.o,\
$(patsubst %.c, stdlib/%.o, $(STDLIB_SRCS))))
 
DIRENT_OBJS = $(patsubst %.S, dirent/%.o, $(patsubst %.asm, dirent/%.o,\
$(patsubst %.c, dirent/%.o, $(DIRENT_SRCS))))
 
MATH_OBJS = $(patsubst %.S, math/%.o, $(patsubst %.asm, math/%.o,\
$(patsubst %.c, math/%.o, $(MATH_SRCS))))
 
/contrib/sdk/sources/newlib/libc/Tupfile.lua
99,10 → 99,9
"sys/clock_gettime.c",
"sys/close.c",
"sys/conio.c",
"sys/create.c",
"sys/chdir.c",
"sys/getcwd.c",
"sys/errno.c",
"sys/finfo.c",
"sys/fsize.c",
"sys/fstat.c",
"sys/gettod.c",
"sys/io.c",
455,18 → 454,6
"wsetup.c"
}
 
DIRENT_SRCS = {
"dir.c",
"closedir.c",
"opendir.c",
"readdir.c",
"rewinddir.c",
"seekdir.c",
"telldir.c",
"scandir.c",
"alphasort.c",
}
 
MATH_SRCS = {
"e_acos.c", "e_acosh.c", "e_asin.c", "e_atan2.c", "e_atanh.c", "e_cosh.c", "e_exp.c", "e_fmod.c",
"e_hypot.c", "e_j0.c", "e_j1.c", "e_jn.c", "e_log.c", "e_log10.c", "e_pow.c", "e_rem_pio2.c",
518,7 → 505,6
LIB_SRCS += prepend("stdio/", STDIO_SRCS)
LIB_SRCS += prepend("string/", STRING_SRCS)
LIB_SRCS += prepend("stdlib/", STDLIB_SRCS)
LIB_SRCS += prepend("dirent/", DIRENT_SRCS)
LIB_SRCS += prepend("math/", MATH_SRCS)
 
ALL_OBJS = {}
/contrib/sdk/sources/newlib/libc/crt/console.asm
200,6 → 200,7
public_jmp con_cls, 0
public_jmp con_getch2, 0
public_jmp con_getch, 0
public_jmp con_kbhit, 0
public_jmp con_set_cursor_pos, 8
public_jmp con_get_cursor_pos, 8
public_jmp con_write_string, 8
257,6 → 258,7
con_cls, 'con_cls', \
con_getch2, 'con_getch2', \
con_getch, 'con_getch', \
con_kbhit, 'con_kbhit', \
con_set_cursor_pos, 'con_set_cursor_pos',\
con_get_cursor_pos, 'con_get_cursor_pos', \
con_write_string, 'con_write_string',\
/contrib/sdk/sources/newlib/libc/crt/crtdll.c
17,7 → 17,6
#include <stdio.h>
#include <unistd.h>
#include <setjmp.h>
#include <sys/kos_io.h>
 
struct app_hdr
{
/contrib/sdk/sources/newlib/libc/include/dirent.h
File deleted
/contrib/sdk/sources/newlib/libc/include/kos32sys.h
File deleted
/contrib/sdk/sources/newlib/libc/include/sys/kos_LoadConsole.h
File deleted
Property changes:
Deleted: svn:executable
-*
\ No newline at end of property
/contrib/sdk/sources/newlib/libc/include/sys/kos.h
File deleted
Property changes:
Deleted: svn:executable
-*
\ No newline at end of property
/contrib/sdk/sources/newlib/libc/include/sys/socket.h
File deleted
/contrib/sdk/sources/newlib/libc/include/sys/dirent.h
File deleted
/contrib/sdk/sources/newlib/libc/include/sys/kos_io.h
File deleted
/contrib/sdk/sources/newlib/libc/include/sys/dir.h
File deleted
/contrib/sdk/sources/newlib/libc/include/sys/ksys.h
21,6 → 21,7
 
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>
 
#ifdef __cplusplus
extern "C" {
82,43 → 83,48
} ksys_ufile_t;
 
typedef struct {
uint32_t p00;
uint32_t func_num;
union {
uint64_t p04;
uint64_t offset64;
struct {
uint32_t p04dw;
uint32_t p08dw;
union {
uint32_t debug;
uint32_t offset;
};
union {
uint32_t flags;
char* args;
};
uint32_t p12;
};
};
uint32_t data_size;
void* data;
union {
uint32_t p16;
const char* new_name;
void* bdfe;
void* buf16;
const void* cbuf16;
struct {
uint8_t zero;
char* path_ptr;
};
char p20;
const char* p21;
} ksys70_t;
char path[0];
};
} ksys_file_t;
 
typedef struct {
uint32_t status;
uint32_t rw_bytes;
} ksys70_status_t;
} ksys_file_status_t;
 
typedef struct {
uint32_t attributes;
uint32_t name_cp;
ksys_time_t creation_time;
ksys_date_t creation_date;
ksys_time_t last_access_time;
ksys_date_t last_access_date;
ksys_time_t last_modification_time;
ksys_date_t last_modification_date;
uint32_t attr;
uint32_t name_enc;
ksys_time_t ctime;
ksys_date_t cdate;
ksys_time_t atime;
ksys_date_t adate;
ksys_time_t mtime;
ksys_date_t mdate;
uint64_t size;
char name[0];
} ksys_bdfe_t;
} ksys_file_info_t;
 
#define KSYS_THREAD_INFO_SIZE 1024
 
1483,103 → 1489,139
 
/*==== Function 70 - work with file system with long names support. ====*/
 
KOSAPI ksys70_status_t _ksys70(const ksys70_t* k)
enum KSYS_FILE_FUNC {
KSYS_FILE_READ = 0,
KSYS_FILE_READ_DIR,
KSYS_FILE_CREATE,
KSYS_FILE_WRITE,
KSYS_FILE_SET_SIZE,
KSYS_FILE_GET_INFO,
KSYS_FILE_SET_ATTR,
KSYS_FILE_EXEC,
KSYS_FILE_REMOVE,
KSYS_FILE_CREATE_DIR,
KSYS_FILE_RENAME,
};
 
KOSAPI ksys_file_status_t _ksys_file(const ksys_file_t* info)
{
ksys70_status_t status;
ksys_file_status_t st;
asm_inline(
"int $0x40"
: "=a"(status.status), "=b"(status.rw_bytes)
: "a"(70), "b"(k)
: "=a"(st.status), "=b"(st.rw_bytes)
: "a"(70), "b"(info)
: "memory");
return status;
return st;
}
 
/*====== Function 70, subfunction 0 - read file with long names support. ======*/
 
KOSAPI ksys70_status_t _ksys_file_read(const char* name, uint64_t offset, uint32_t size, void* buf)
KOSAPI ksys_file_status_t _ksys_file_read(const char* name, uint64_t offset, uint32_t size, void* buf)
{
ksys70_t k;
k.p00 = 0;
k.p04 = offset;
k.p12 = size;
k.buf16 = buf;
k.p20 = 0;
k.p21 = name;
return _ksys70(&k);
ksys_file_t f;
f.func_num = KSYS_FILE_READ;
f.offset64 = offset;
f.data_size = size;
f.data = buf;
f.zero = 0;
f.path_ptr = (char*)name;
return _ksys_file(&f);
}
 
/*===================== Function 70, subfunction 2 =====================*/
/*============ Create/rewrite file with long names support. ============*/
 
KOSAPI int _ksys_file_create(const char* name)
KOSAPI ksys_file_status_t _ksys_file_create(const char* name)
{
ksys70_t k;
k.p00 = 2;
k.p04dw = 0;
k.p08dw = 0;
k.p12 = 0;
k.p21 = name;
return _ksys70(&k).status;
ksys_file_t f;
f.func_num = KSYS_FILE_CREATE;
f.offset64 = 0;
f.data_size = 0;
f.data = NULL;
f.zero = 0;
f.path_ptr = (char*)name;
return _ksys_file(&f);
}
 
/*===================== Function 70, subfunction 3 =====================*/
/*=========== Write to existing file with long names support. ==========*/
 
KOSAPI ksys70_status_t _ksys_file_write(const char* name, uint64_t offset, uint32_t size, const void* buf)
KOSAPI ksys_file_status_t _ksys_file_write(const char* name, uint64_t offset, uint32_t size, const void* buf)
{
ksys70_t k;
k.p00 = 3;
k.p04 = offset;
k.p12 = size;
k.cbuf16 = buf;
k.p20 = 0;
k.p21 = name;
return _ksys70(&k);
ksys_file_t f;
f.func_num = KSYS_FILE_WRITE;
f.offset64 = offset;
f.data_size = size;
f.data = (void*)buf;
f.zero = 0;
f.path_ptr = (char*)name;
return _ksys_file(&f);
}
 
/*========== Function 70, subfunction 4 - set file size. =====*/
 
KOSAPI int _ksys_file_set_size(const char* name, uint64_t size)
{
ksys_file_t f;
f.func_num = KSYS_FILE_SET_SIZE;
f.offset64 = size;
f.data_size = 0;
f.data = NULL;
f.zero = 0;
f.path_ptr = (char*)name;
return _ksys_file(&f).status;
}
 
/*========== Function 70, subfunction 5 - get information on file/folder. =====*/
 
KOSAPI int _ksys_file_info(const char* name, ksys_bdfe_t* bdfe)
KOSAPI int _ksys_file_info(const char* name, ksys_file_info_t* info)
{
ksys70_t k;
k.p00 = 5;
k.p04dw = 0;
k.p08dw = 0;
k.p12 = 0;
k.bdfe = bdfe;
k.p20 = 0;
k.p21 = name;
return _ksys70(&k).status;
ksys_file_t f;
f.func_num = KSYS_FILE_GET_INFO;
f.offset64 = 0;
f.data_size = 0;
f.data = (void*)info;
f.zero = 0;
f.path_ptr = (char*)name;
return _ksys_file(&f).status;
}
 
#define _ksys_dir_info _ksys_file_info
 
KOSAPI uint64_t _ksys_file_get_size(const char* name, int* err)
{
ksys_file_info_t info;
*err = _ksys_file_info(name, &info);
return info.size;
}
 
#define _ksys_dir_info _ksys_file_info
 
/*=========== Function 70, subfunction 7 - start application. ===========*/
 
KOSAPI int _ksys_exec(const char* app_name, char* args)
KOSAPI int _ksys_exec(const char* path, char* args, bool debug)
{
ksys70_t file_opt;
file_opt.p00 = 7;
file_opt.p04dw = 0;
file_opt.p08dw = (uint32_t)args;
 
file_opt.p12 = 0;
file_opt.p16 = 0;
file_opt.p20 = 0;
 
file_opt.p21 = app_name;
return _ksys70(&file_opt).status;
ksys_file_t f;
f.func_num = KSYS_FILE_EXEC;
f.debug = debug;
f.args = args;
f.zero = 0;
f.path_ptr = (char*)path;
return _ksys_file(&f).status;
}
 
/*========== Function 70, subfunction 8 - delete file/folder. ==========*/
 
KOSAPI int _ksys_file_delete(const char* name)
KOSAPI int _ksys_file_delete(const char* path)
{
ksys70_t k;
k.p00 = 8;
k.p20 = 0;
k.p21 = name;
return _ksys70(&k).status;
ksys_file_t f;
f.func_num = KSYS_FILE_REMOVE;
f.offset64 = 0;
f.data_size = 0;
f.data = NULL;
f.zero = 0;
f.path_ptr = (char*)path;
return _ksys_file(&f).status;
}
 
/*============= Function 70, subfunction 9 - create folder. =============*/
1586,10 → 1628,14
 
KOSAPI int _ksys_mkdir(const char* path)
{
ksys70_t dir_opt;
dir_opt.p00 = 9;
dir_opt.p21 = path;
return _ksys70(&dir_opt).status;
ksys_file_t f;
f.func_num = KSYS_FILE_CREATE_DIR;
f.offset64 = 0;
f.data_size = 0;
f.data = NULL;
f.zero = 0;
f.path_ptr = (char*)path;
return _ksys_file(&f).status;
}
 
/*============= Function 70, subfunction 10 - rename/move. =============*/
1596,12 → 1642,13
 
KOSAPI int _ksys_file_rename(const char* name, const char* new_name)
{
ksys70_t k;
k.p00 = 10;
k.new_name = new_name;
k.p20 = 0;
k.p21 = name;
return _ksys70(&k).status;
ksys_file_t f;
f.func_num = KSYS_FILE_REMOVE;
f.data = (void*)new_name;
f.data_size = 0;
f.zero = 0;
f.path_ptr = (char*)name;
return _ksys_file(&f).status;
}
 
#define _ksys_dir_rename _ksys_file_rename
1707,25 → 1754,6
return err;
}
 
/* ######### Old names of functions and structures. Do not use again! ##########*/
 
#define _ksys_get_event _ksys_wait_event
#define _ksys_file_get_info _ksys_file_info
 
static inline int _ksys_file_read_file(const char* name, unsigned long long offset, unsigned size, void* buff, unsigned* bytes_read)
{
ksys70_status_t res = _ksys_file_read(name, offset, size, buff);
*bytes_read = res.rw_bytes;
return res.status;
}
 
static inline int _ksys_file_write_file(const char* name, unsigned long long offset, unsigned size, const void* buff, unsigned* bytes_write)
{
ksys70_status_t res = _ksys_file_write(name, offset, size, buff);
*bytes_write = res.rw_bytes;
return res.status;
}
 
#ifdef __cplusplus
}
#endif
/contrib/sdk/sources/newlib/libc/include/sys/stat.h
10,6 → 10,7
#include <sys/cdefs.h>
#include <sys/types.h>
#include <sys/_timespec.h>
#include <sys/ksys.h>
 
/* dj's stat defines _STAT_H_ */
#ifndef _STAT_H_
147,11 → 148,12
int _EXFUN(chmod,( const char *__path, mode_t __mode ));
int _EXFUN(fchmod,(int __fd, mode_t __mode));
int _EXFUN(fstat,( int __fd, struct stat *__sbuf ));
int _EXFUN(mkdir,( const char *_path, mode_t __mode ));
int _EXFUN(mkfifo,( const char *__path, mode_t __mode ));
int _EXFUN(stat,( const char *__restrict __path, struct stat *__restrict __sbuf ));
mode_t _EXFUN(umask,( mode_t __mask ));
 
#define mkdir(path, mode) _ksys_mkdir(path)
 
#if defined (__SPU__) || defined(__rtems__) || defined(__CYGWIN__) && !defined(__INSIDE_CYGWIN__)
int _EXFUN(lstat,( const char *__restrict __path, struct stat *__restrict __buf ));
int _EXFUN(mknod,( const char *__path, mode_t __mode, dev_t __dev ));
/contrib/sdk/sources/newlib/libc/sdk/fasm/include/libc.inc
355,7 → 355,6
_cosf,'cosf',\
_cosh,'cosh',\
_coshf,'coshf',\
_create_file,'create_file',\
_create_image,'create_image',\
_create_thread,'create_thread',\
_ctime,'ctime',\
429,7 → 428,6
_gammaf,'gammaf',\
_gammaf_r,'gammaf_r',\
_get_entry_point,'get_entry_point',\
_get_fileinfo,'get_fileinfo',\
_get_proc_address,'get_proc_address',\
_getenv,'getenv',\
_gettimeofday,'gettimeofday',\
550,7 → 548,6
_rand,'rand',\
_rand_r,'rand_r',\
_read,'read',\
_read_file,'read_file',\
_realloc,'realloc',\
_remainder,'remainder',\
_remainderf,'remainderf',\
570,7 → 567,6
_scalbn,'scalbn',\
_scalbnf,'scalbnf',\
_seed48,'seed48',\
_set_file_size,'set_file_size',\
_setjmp,'setjmp',\
_setlocale,'setlocale',\
_setvbuf,'setvbuf',\
665,7 → 661,6
_wctrans,'wctrans',\
_wctype,'wctype',\
_write,'write',\
_write_file,'write_file',\
_y0,'y0',\
_y0f,'y0f',\
_y1,'y1',\
/contrib/sdk/sources/newlib/libc/sys/create.c
File deleted
/contrib/sdk/sources/newlib/libc/sys/fsize.c
File deleted
/contrib/sdk/sources/newlib/libc/sys/finfo.c
File deleted
/contrib/sdk/sources/newlib/libc/sys/chdir.c
0,0 → 1,11
/*
* Copyright (C) KolibriOS team 2004-2024. All rights reserved.
* Distributed under terms of the GNU General Public License
*/
 
#include <sys/ksys.h>
 
int chdir(char* dir){
_ksys_setcwd(dir);
return 0;
}
/contrib/sdk/sources/newlib/libc/sys/close.c
15,7 → 15,7
#include <errno.h>
#include <stdlib.h>
#include <sys/unistd.h>
#include <sys/kos_io.h>
#include <sys/ksys.h>
#include "glue.h"
#include "io.h"
 
/contrib/sdk/sources/newlib/libc/sys/conio.c
1,3 → 1,8
/*
* Copyright (C) KolibriOS team 2004-2024. All rights reserved.
* Distributed under terms of the GNU General Public License
*/
 
#include <_ansi.h>
#include <stdio.h>
#include <sys/unistd.h>
16,28 → 21,8
size_t offset, size_t count, size_t *done)
{
char *p = buff;
/*int cnt = 0;
short c;
char ch;*/
con_gets(p, count+1);
*done = strlen(p);
 
// __asm__ volatile("int3");
/*
do
{
c = con_getch2();
printf("%d\n",(char)c);
ch = (char)c;
if(ch != 0)
{
p[cnt] = ch != 0x0D ? ch : 0x0A;
con_write_string(p+cnt, 1);
cnt++;
}
}while(ch != 0x0D);
*done = cnt;
*/
return 0;
}
 
48,7 → 33,7
 
*writes = count;
return 0;
};
}
 
void __init_conio()
{
/contrib/sdk/sources/newlib/libc/sys/fstat.c
15,7 → 15,7
#include <errno.h>
#include <string.h>
#include <sys/unistd.h>
#include <sys/kos_io.h>
#include <sys/ksys.h>
#include <sys/stat.h>
#include "glue.h"
#include "io.h"
25,7 → 25,7
int fd _AND
struct stat *buf)
{
fileinfo_t info;
ksys_file_info_t info;
struct tm time;
 
__io_handle *ioh;
33,8 → 33,8
if( (fd < 0) || (fd >=64) )
{
errno = EBADF;
return (-1);
};
return -1;
}
 
memset (buf, 0, sizeof (* buf));
 
47,7 → 47,7
{
 
ioh = &__io_tab[fd];
get_fileinfo(ioh->name, &info);
_ksys_file_info(ioh->name, &info);
 
if (info.attr & 0x10)
buf->st_mode = S_IFDIR;
/contrib/sdk/sources/newlib/libc/sys/getcwd.c
0,0 → 1,17
/*
* Copyright (C) KolibriOS team 2004-2024. All rights reserved.
* Distributed under terms of the GNU General Public License
*/
 
#include <stdlib.h>
#include <sys/ksys.h>
 
char *getcwd(char *buf, unsigned size){
if(!buf){
if((buf = malloc(size))==NULL){
return NULL;
}
}
_ksys_getcwd(buf, size);
return(buf);
}
/contrib/sdk/sources/newlib/libc/sys/ioread.c
1,31 → 1,15
/*
* Copyright (C) KolibriOS team 2004-2024. All rights reserved.
* Distributed under terms of the GNU General Public License
*/
 
#include <sys/types.h>
#include <sys/kos_io.h>
#include <sys/ksys.h>
 
int read_file(const char *path, void *buff,
size_t offset, size_t count, size_t *reads)
{
int retval;
int d0;
__asm__ __volatile__(
"pushl $0 \n\t"
"pushl $0 \n\t"
"movl %%eax, 1(%%esp) \n\t"
"pushl %%ebx \n\t"
"pushl %%edx \n\t"
"pushl $0 \n\t"
"pushl %%ecx \n\t"
"pushl $0 \n\t"
"movl %%esp, %%ebx \n\t"
"mov $70, %%eax \n\t"
"int $0x40 \n\t"
"testl %%esi, %%esi \n\t"
"jz 1f \n\t"
"movl %%ebx, (%%esi) \n\t"
"1:"
"addl $28, %%esp \n\t"
:"=a" (retval)
:"a"(path),"b"(buff),"c"(offset),"d"(count),"S"(reads));
return retval == 6 ? 0 : retval;
};
 
ksys_file_status_t st = _ksys_file_read(path, offset, count, buff);
*reads = st.rw_bytes;
return st.status == KSYS_FS_ERR_EOF ? 0 : st.status;
}
/contrib/sdk/sources/newlib/libc/sys/iowrite.c
1,33 → 1,20
/*
* Copyright (C) KolibriOS team 2004-2024. All rights reserved.
* Distributed under terms of the GNU General Public License
*/
 
#include <sys/types.h>
#include <errno.h>
#include <sys/kos_io.h>
#include <sys/ksys.h>
 
int write_file(const char *path,const void *buff,
size_t offset, size_t count, size_t *writes)
{
int retval;
__asm__ __volatile__(
"pushl $0 \n\t"
"pushl $0 \n\t"
"movl %%eax, 1(%%esp) \n\t"
"pushl %%ebx \n\t"
"pushl %%edx \n\t"
"pushl $0 \n\t"
"pushl %%ecx \n\t"
"pushl $3 \n\t"
"movl %%esp, %%ebx \n\t"
"mov $70, %%eax \n\t"
"int $0x40 \n\t"
"testl %%esi, %%esi \n\t"
"jz 1f \n\t"
"movl %%ebx, (%%esi) \n\t"
"1:"
"addl $28, %%esp \n\t"
:"=a" (retval)
:"a"(path),"b"(buff),"c"(offset),"d"(count),"S"(writes));
if(retval == 0)
ksys_file_status_t st = _ksys_file_write(path, offset, count, buff);
*writes = st.rw_bytes;
if(!st.status)
return 0;
else if (retval == 8)
else if (st.status == KSYS_FS_ERR_8)
return ENOSPC;
return -1;
};
}
/contrib/sdk/sources/newlib/libc/sys/lseek.c
1,20 → 1,22
/*
* Copyright (C) KolibriOS team 2004-2024. All rights reserved.
* Distributed under terms of the GNU General Public License
*/
 
#include <errno.h>
#include <stdlib.h>
#include <sys/unistd.h>
#include <sys/kos_io.h>
#include <sys/ksys.h>
#include "glue.h"
#include "io.h"
 
 
_off_t
_DEFUN (lseek, (fd, pos, whence),
int fd _AND
_off_t pos _AND
int whence)
 
{
fileinfo_t info;
ksys_file_info_t info;
__io_handle *ioh;
_off_t ret;
 
22,7 → 24,7
{
errno = EBADF;
return (-1);
};
}
 
ioh = &__io_tab[fd];
 
36,16 → 38,16
break;
case SEEK_END:
{
get_fileinfo(ioh->name, &info);
_ksys_file_info(ioh->name, &info);
ret = pos + info.size;
break;
}
default:
errno = EINVAL;
return (-1);
};
return -1;
}
 
ioh->offset = ret;
 
return( ret );
};
return ret;
}
/contrib/sdk/sources/newlib/libc/sys/open.c
15,13 → 15,20
#include <fcntl.h>
#include <errno.h>
#include <string.h>
#include <sys/kos_io.h>
#include <sys/ksys.h>
 
#include "glue.h"
#include "io.h"
 
#undef erro
#undef errno
extern int errno;
 
extern int write_file(const char *path,const void *buff,
size_t offset, size_t count, size_t *writes);
 
extern int read_file(const char *path, void *buff,
size_t offset, size_t count, size_t *reads);
 
static inline int is_slash(char c)
{
return c=='/' || c=='\\';
49,7 → 56,7
}
}
*out='\0';
};
}
 
 
void buildpath(char *buf, const char* file)
89,26 → 96,14
*ptr++ = *file++;
}
*ptr = 0;
};
}
 
static char *getccwd(char *buf, size_t size)
{
int bsize;
__asm__ __volatile__(
"int $0x40"
:"=a"(bsize)
:"a"(30),"b"(2),"c"(buf), "d"(size)
:"memory");
 
return buf;
};
 
int open (const char * filename, int flags, ...)
{
char buf[1024];
 
__io_handle *ioh;
fileinfo_t info;
ksys_file_info_t info;
int iomode, rwmode, offset;
int hid;
int err;
127,11 → 122,11
}
else
{
getccwd(buf, 1024);
_ksys_getcwd(buf, 1024);
buildpath(buf, filename);
}
 
err = get_fileinfo(buf, &info);
err = _ksys_file_info(buf, &info);
 
if( flags & O_EXCL &&
flags & O_CREAT )
141,13 → 136,13
errno = EEXIST;
__io_free(hid);
return (-1);
};
}
}
 
if( err )
{
if(flags & O_CREAT)
err=create_file(buf);
err = _ksys_file_create(buf).status;
if( err )
{
errno = EACCES;
157,7 → 152,7
};
 
if( flags & O_TRUNC )
set_file_size(buf, 0);
_ksys_file_set_size(buf, 0);
 
ioh = &__io_tab[hid];
 
177,14 → 172,17
{
iomode |= _APPEND;
offset = info.size;
};
}
 
if( flags & (O_BINARY|O_TEXT) )
{
if( flags & O_BINARY )
iomode |= _BINARY;
} else
}
else
{
iomode |= _BINARY;
}
 
ioh->name = strdup(buf);
ioh->offset = offset;
193,6 → 191,4
ioh->write = write_file;
 
return hid;
};
 
 
}
/contrib/sdk/sources/newlib/libc/sys/read.c
29,7 → 29,7
char *buffer = buf;
int rc;
int h;
unsigned amount_read;
size_t amount_read;
int err;
 
__io_handle *ioh;
/contrib/sdk/sources/newlib/libc/sys/stat.c
13,7 → 13,7
* they apply.
*/
#include <sys/stat.h>
#include <sys/kos_io.h>
#include <sys/ksys.h>
#include <errno.h>
#include <time.h>
#include <string.h>
28,14 → 28,14
struct stat *buf)
{
 
fileinfo_t info;
ksys_file_info_t info;
struct tm time;
 
if( get_fileinfo(path, &info))
if (_ksys_file_info(path, &info))
{
errno = ENOENT;
return (-1);
};
}
 
memset (buf, 0, sizeof (* buf));
 
91,4 → 91,3
{
return stat(path, buf);
}
 
/contrib/sdk/sources/newlib/libc/sys/write.c
15,7 → 15,6
#include <errno.h>
#include <unistd.h>
#include <alloca.h>
#include <sys/kos_io.h>
#include "io.h"
 
#undef erro
/contrib/sdk/sources/sqlite3/Makefile
7,7 → 7,7
 
INSTALLDIR ?= /home/autobuild/tools/win32/lib
 
CFLAGS = -U__MINGW32__ -UWIN32 -UWindows -U_WINDOWS -U_WIN32 -U__WIN32__ -U_WIN32 -DPACKAGE_NAME=\"sqlite\" -DPACKAGE_TARNAME=\"sqlite\" -DPACKAGE_VERSION=\"3.36.0\" -DPACKAGE_STRING=\"sqlite\ 3.36.0\" -DPACKAGE_BUGREPORT=\"http://www.sqlite.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"sqlite\" -DVERSION=\"3.36.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=0 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_FDATASYNC=0 -DHAVE_USLEEP=0 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_DECL_STRERROR_R=1 -DHAVE_STRERROR_R=1 -DHAVE_EDITLINE_READLINE_H=1 -DHAVE_EDITLINE=1 -DHAVE_ZLIB_H=1 -I. -D_REENTRANT=1 -DSQLITE_THREADSAFE=0 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_OS_OTHER=1 -USQLITE_OS_WIN_H -DSQLITE_TEMP_STORE=3 -D_NO_STDERR -c -O2 -fomit-frame-pointer -D_KOLIBRI
CFLAGS = -U__MINGW32__ -UWIN32 -UWindows -U_WINDOWS -U_WIN32 -U__WIN32__ -U_WIN32 -DPACKAGE_NAME=\"sqlite\" -DPACKAGE_TARNAME=\"sqlite\" -DPACKAGE_VERSION=\"3.36.0\" -DPACKAGE_STRING=\"sqlite\ 3.36.0\" -DPACKAGE_BUGREPORT=\"http://www.sqlite.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"sqlite\" -DVERSION=\"3.36.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=0 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_FDATASYNC=0 -DHAVE_USLEEP=0 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_DECL_STRERROR_R=1 -DHAVE_STRERROR_R=1 -DHAVE_EDITLINE_READLINE_H=1 -DHAVE_EDITLINE=1 -DHAVE_ZLIB_H=1 -I. -D_REENTRANT=1 -DSQLITE_THREADSAFE=0 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_HAVE_ZLIB=1 -DSQLITE_OS_OTHER=1 -USQLITE_OS_WIN_H -DSQLITE_TEMP_STORE=3 -D_NO_STDERR -DSQLITE_OMIT_VIRTUALTABLE -c -O2 -fomit-frame-pointer -D_KOLIBRI
 
LDFLAGS=$(LDFLAGS_CMD)
LDFLAGS+= -shared -s -T dll.lds --entry _DllStartup --image-base=0
/contrib/sdk/sources/sqlite3/shell/Tupfile.lua
8,7 → 8,7
 
INCLUDES= INCLUDES .. " -I .. "
 
CFLAGS = CFLAGS .. " -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -DSQLITE_OS_OTHER=1 -DHAVE_UNISTD_H=0 -D_NO_STDERR -DSQLITE_OMIT_POPEN -DSQLITE_THREADSAFE=0 -D_KOLIBRI -U__linux__ -DPACKAGE_NAME=\"sqlite\" -DPACKAGE_TARNAME=\"sqlite\" -DPACKAGE_VERSION=\"3.36.0\" -DPACKAGE_STRING=\"sqlite-3.36.0\" -DPACKAGE=\"sqlite\" -DVERSION=\"3.36.0\""
CFLAGS = CFLAGS .. " -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -DSQLITE_OS_OTHER=1 -DHAVE_UNISTD_H=0 -D_NO_STDERR -DSQLITE_OMIT_POPEN -DSQLITE_THREADSAFE=0 -D_KOLIBRI -DSQLITE_OMIT_VIRTUALTABLE -U__linux__ -DPACKAGE_NAME=\"sqlite\" -DPACKAGE_TARNAME=\"sqlite\" -DPACKAGE_VERSION=\"3.36.0\" -DPACKAGE_STRING=\"sqlite-3.36.0\" -DPACKAGE=\"sqlite\" -DVERSION=\"3.36.0\""
 
LDFLAGS = LDFLAGS .. " --subsystem console "
 
/contrib/sdk/sources/sqlite3/shell/shell.c
102,7 → 102,7
# include <pwd.h>
# endif
#endif
#if (!defined(_WIN32) && !defined(WIN32)) || defined(__MINGW32__)
#if (!defined(_WIN32) && !defined(WIN32) && !defined (_KOLIBRI)) || defined(__MINGW32__)
# include <unistd.h>
# include <dirent.h>
# define GETPID getpid
2209,7 → 2209,9
#include <fcntl.h>
#if !defined(_WIN32) && !defined(WIN32)
# include <unistd.h>
#ifndef _KOLIBRI
# include <dirent.h>
#endif
# include <utime.h>
# include <sys/time.h>
#else