C fn definitions on Linux
parent
e9e931fe4a
commit
f4fe90ea6d
|
@ -85,6 +85,8 @@ fn C.DEFAULT_LT() bool
|
||||||
fn C.DEFAULT_GE() bool
|
fn C.DEFAULT_GE() bool
|
||||||
fn C.isatty() int
|
fn C.isatty() int
|
||||||
|
|
||||||
|
fn C.syscall() int
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,7 @@ import (
|
||||||
struct C.Display
|
struct C.Display
|
||||||
struct C.Atom
|
struct C.Atom
|
||||||
struct C.Window
|
struct C.Window
|
||||||
|
fn C.XFree()
|
||||||
fn C.XInitThreads() int
|
fn C.XInitThreads() int
|
||||||
fn C.XCloseDisplay(d &Display)
|
fn C.XCloseDisplay(d &Display)
|
||||||
fn C.XFlush(d &Display)
|
fn C.XFlush(d &Display)
|
||||||
|
|
|
@ -752,12 +752,15 @@ fn on_segfault(f voidptr) {
|
||||||
|
|
||||||
fn C.getpid() int
|
fn C.getpid() int
|
||||||
fn C.proc_pidpath (int, byteptr, int) int
|
fn C.proc_pidpath (int, byteptr, int) int
|
||||||
|
fn C.readlink() int
|
||||||
|
|
||||||
// executable return the path name of the executable that started the current process.
|
|
||||||
|
// executable returns the path name of the executable that started the current
|
||||||
|
// process.
|
||||||
pub fn executable() string {
|
pub fn executable() string {
|
||||||
$if linux {
|
$if linux {
|
||||||
mut result := malloc(MAX_PATH)
|
mut result := malloc(MAX_PATH)
|
||||||
count := int(C.readlink('/proc/self/exe', result, MAX_PATH ))
|
count := C.readlink('/proc/self/exe', result, MAX_PATH)
|
||||||
if count < 0 {
|
if count < 0 {
|
||||||
panic('error reading /proc/self/exe to get exe path')
|
panic('error reading /proc/self/exe to get exe path')
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,10 +34,15 @@ enum Action {
|
||||||
suspend
|
suspend
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn C.tcgetattr() int
|
||||||
|
fn C.tcsetattr() int
|
||||||
|
fn C.ioctl() int
|
||||||
|
fn C.raise()
|
||||||
|
|
||||||
// Toggle raw mode of the terminal by changing its attributes
|
// Toggle raw mode of the terminal by changing its attributes
|
||||||
// Catches SIGUSER (CTRL+C) Signal to reset tty
|
// Catches SIGUSER (CTRL+C) Signal to reset tty
|
||||||
fn (r mut Readline) enable_raw_mode() {
|
fn (r mut Readline) enable_raw_mode() {
|
||||||
if ( C.tcgetattr(0, &r.orig_termios) == -1 ) {
|
if C.tcgetattr(0, &r.orig_termios) == -1 {
|
||||||
r.is_tty = false
|
r.is_tty = false
|
||||||
r.is_raw = false
|
r.is_raw = false
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in New Issue