forked from KolibriOS/kolibrios
kolibri-libc:
- Removed SHELL APIs as they are not standard libc functions. - Will be transferred to a separate library. git-svn-id: svn://kolibrios.org@8643 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
5ec58ab828
commit
075b25b5ff
2
contrib/kolibri-libc/compile_flags.txt
Normal file
2
contrib/kolibri-libc/compile_flags.txt
Normal file
@ -0,0 +1,2 @@
|
||||
-I
|
||||
source/include/
|
@ -76,15 +76,6 @@ rename
|
||||
rewind
|
||||
rewinddir
|
||||
seekdir
|
||||
shell_printf
|
||||
shell_puts
|
||||
shell_putc
|
||||
shell_getc
|
||||
shell_gets
|
||||
shell_cls
|
||||
shell_exit
|
||||
shell_get_pid
|
||||
shell_ping
|
||||
setbuf
|
||||
setvbuf
|
||||
sin
|
||||
|
@ -1,24 +0,0 @@
|
||||
#include <shell_api.h>
|
||||
#include <ksys.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main(int argc, char**argv)
|
||||
{
|
||||
debug_printf("%u\n", shell_get_pid());
|
||||
char string[256];
|
||||
shell_cls();
|
||||
shell_printf("Number of arguments %d\n",argc);
|
||||
for(int i=0; i<argc; i++){
|
||||
shell_printf("argv[%d]=%s\n", i, argv[i]);
|
||||
}
|
||||
shell_puts("This is a test console application for Shell\n\r");
|
||||
shell_puts("Type a string (255 symbols max): ");
|
||||
shell_gets(string);
|
||||
shell_puts("You typed:\n\r");
|
||||
shell_puts(string);
|
||||
shell_puts("Press any key: ");
|
||||
string[0] = shell_getc();
|
||||
shell_puts("\n\rYou pressed: ");
|
||||
shell_putc(string[0]);
|
||||
shell_exit();
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
|
||||
#include <ksys.h>
|
||||
|
||||
#define SHELL_OK 0
|
||||
#define SHELL_EXIT 1
|
||||
#define SHELL_PUTC 2
|
||||
#define SHELL_PUTS 3
|
||||
#define SHELL_GETC 4
|
||||
#define SHELL_GETS 5
|
||||
#define SHELL_CLS 6
|
||||
#define SHELL_PID 7
|
||||
#define SHELL_PING 8
|
||||
|
||||
#define SHELL_SHM_MAX 1024*16
|
||||
|
||||
extern char __shell_shm_name[32];
|
||||
extern char *__shell_shm;
|
||||
extern int __shell_is_init;
|
||||
extern void __shell_init();
|
||||
|
||||
#define SHELL_WAIT() while (*__shell_shm) _ksys_delay(5)
|
||||
|
||||
|
||||
|
@ -1,8 +0,0 @@
|
||||
#include "shell.h"
|
||||
|
||||
void shell_cls()
|
||||
{
|
||||
__shell_init();
|
||||
*__shell_shm = SHELL_CLS;
|
||||
SHELL_WAIT();
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
#include "shell.h"
|
||||
#include "ksys.h"
|
||||
|
||||
void shell_exit()
|
||||
{
|
||||
if(__shell_is_init){
|
||||
*__shell_shm = SHELL_EXIT;
|
||||
SHELL_WAIT();
|
||||
_ksys_shm_close(__shell_shm_name);
|
||||
}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "shell.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
unsigned shell_get_pid()
|
||||
{
|
||||
unsigned pid;
|
||||
__shell_init();
|
||||
*__shell_shm = SHELL_PID;
|
||||
SHELL_WAIT();
|
||||
memcpy(&pid, __shell_shm+1, sizeof(unsigned));
|
||||
return pid;
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#include "shell.h"
|
||||
|
||||
char shell_getc()
|
||||
{
|
||||
__shell_init();
|
||||
*__shell_shm = SHELL_GETC;
|
||||
SHELL_WAIT();
|
||||
return *(__shell_shm+1);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#include "shell.h"
|
||||
|
||||
void shell_gets(char *str)
|
||||
{
|
||||
__shell_init();
|
||||
*__shell_shm = SHELL_GETS;
|
||||
SHELL_WAIT();
|
||||
strcpy(str, __shell_shm+1);
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
#include <ksys.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include "shell.h"
|
||||
#include <shell_api.h>
|
||||
|
||||
char __shell_shm_name[32];
|
||||
char*__shell_shm=NULL;
|
||||
int __shell_is_init=0;
|
||||
|
||||
int __shell_shm_init()
|
||||
{
|
||||
__shell_is_init=1;
|
||||
ksys_proc_table_t *proc_info = (ksys_proc_table_t*)malloc(sizeof(ksys_proc_table_t));
|
||||
if(proc_info == NULL){
|
||||
return -1;
|
||||
}
|
||||
unsigned PID;
|
||||
|
||||
_ksys_process_info(proc_info, -1);
|
||||
PID = proc_info->pid;
|
||||
free(proc_info);
|
||||
|
||||
itoa(PID, __shell_shm_name);
|
||||
strcat(__shell_shm_name, "-SHELL");
|
||||
return _ksys_shm_open(__shell_shm_name, KSYS_SHM_OPEN_ALWAYS | KSYS_SHM_WRITE, SHELL_SHM_MAX, &__shell_shm);
|
||||
}
|
||||
|
||||
void __shell_init()
|
||||
{
|
||||
if(!__shell_is_init){
|
||||
if(__shell_shm_init()){
|
||||
debug_printf("SHELL problems detected!\n");
|
||||
_ksys_exit();
|
||||
}
|
||||
|
||||
if(!shell_ping()){
|
||||
debug_printf("No SHELL found!\n");
|
||||
_ksys_exit();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
#include "shell.h"
|
||||
#include <stdlib.h>
|
||||
#include <ksys.h>
|
||||
|
||||
int shell_ping()
|
||||
{
|
||||
__shell_init();
|
||||
*__shell_shm = SHELL_PING;
|
||||
_ksys_delay(10);
|
||||
if(*__shell_shm==SHELL_OK){
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
#include "shell.h"
|
||||
#include <stdio.h>
|
||||
|
||||
void shell_printf(const char *format,...)
|
||||
{
|
||||
va_list ap;
|
||||
va_start (ap, format);
|
||||
*__shell_shm=SHELL_PUTS;
|
||||
vsnprintf(__shell_shm+1, SHELL_SHM_MAX, format, ap);
|
||||
va_end(ap);
|
||||
SHELL_WAIT();
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
#include "shell.h"
|
||||
|
||||
void shell_putc(char c)
|
||||
{
|
||||
__shell_init();
|
||||
*__shell_shm = SHELL_PUTC;
|
||||
*(__shell_shm+1) = c;
|
||||
SHELL_WAIT();
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
#include "shell.h"
|
||||
#include "string.h"
|
||||
|
||||
void shell_puts(const char *str)
|
||||
{
|
||||
__shell_init();
|
||||
*__shell_shm = SHELL_PUTS;
|
||||
strcpy(__shell_shm+1, str);
|
||||
SHELL_WAIT();
|
||||
}
|
Loading…
Reference in New Issue
Block a user