コード例 #1
0
ファイル: tcgetattr.c プロジェクト: Harvey-OS/apex
int
tcsetattr(int fd, int j, const struct termios *t)
{
	int n, i;
	char buf[100];

	if(!isptty(fd)) {
		if(!isatty(fd)) {
			errno = ENOTTY;
			return -1;
		} else
			return 0;
	}
	n = sprintf(buf, "IOW %4.4x %4.4x %4.4x %4.4x ",
		t->c_iflag, t->c_oflag, t->c_cflag, t->c_lflag);

	for(i = 0; i < NCCS; i++)
		n += sprintf(buf+n, "%2.2x ", t->c_cc[i]);

	if(seek(fd, -2, 0) != -2) {
		_syserrno();
		return -1;
	}

	n = __sys_write(fd, buf, n);
	if(n < 0) {
		_syserrno();
		return -1;
	}

	return 0;
}
コード例 #2
0
ファイル: tcgetattr.c プロジェクト: Harvey-OS/apex
int
tcsetpgrp(int fd, pid_t pgrpid)
{
	int n;
	char buf[30];

	if(!isptty(fd)) {
		if(!isatty(fd)) {
			errno = ENOTTY;
			return -1;
		} else
			return 0;
	}
	n = sprintf(buf, "IOW note %d", pgrpid);

	if(seek(fd, -2, 0) != -2) {
		_syserrno();
		return -1;
	}

	n = __sys_write(fd, buf, n);
	if(n < 0) {
		_syserrno();
		return -1;
	}
	return 0;
}
コード例 #3
0
void
__utrap_write(const char *str)
{
	int berrno;

	berrno = errno;
	__sys_write(STDERR_FILENO, str, strlen(str));
	errno = berrno;
}
コード例 #4
0
ファイル: Retarget.c プロジェクト: samuelsilvaalves/Painel
int _sys_write (FILEHANDLE fh, const U8 *buf, U32 len, int mode) {
#ifdef STDIO
  if (fh == STDOUT) {
    /* Standard Output device. */
    for (  ; len; len--) {
      sendchar (*buf++);
    }
    return (0);
  }
#endif
  if (fh > 0x8000) {
    return (-1);
  }
  return (__sys_write (fh, buf, len));
}
コード例 #5
0
ファイル: _write.c プロジェクト: Harvey-OS/apex
ssize_t
__write(int d, const void *buf, size_t nbytes)
{
	int n;

	if(d<0 || d>=OPEN_MAX || !(_fdinfo[d].flags&FD_ISOPEN)){
		errno = EBADF;
		return -1;
	}
	if(_fdinfo[d].oflags&O_APPEND)
		seek(d, 0, 2);
	n = __sys_write(d, buf, nbytes);
	if(n < 0)
		_syserrno();
	return n;
}
コード例 #6
0
ファイル: uthread_exit.c プロジェクト: 5432935/crossbridge
void
_thread_exit(char *fname, int lineno, char *string)
{
	char            s[256];

	/* Prepare an error message string: */
	snprintf(s, sizeof(s),
	    "Fatal error '%s' at line %d in file %s (errno = %d)\n",
	    string, lineno, fname, errno);

	/* Write the string to the standard error file descriptor: */
	__sys_write(2, s, strlen(s));

	/* Force this process to exit: */
	/* XXX - Do we want abort to be conditional on _PTHREADS_INVARIANTS? */
#if defined(_PTHREADS_INVARIANTS)
	abort();
#else
	__sys_exit(1);
#endif
}
コード例 #7
0
ファイル: debug_printf.c プロジェクト: Cheng-SG/BubbleCode
int _debug_putchar(char c)
{
	__sys_write(0, &c, 1);
	return 1;
}