65 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			65 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Copyright (c) 2006-2018, RT-Thread Development Team
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * SPDX-License-Identifier: Apache-2.0
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Change Logs:
							 | 
						||
| 
								 | 
							
								 * Date           Author       Notes
							 | 
						||
| 
								 | 
							
								 * 2018-12-10     Jesven       fix complie error in iar and keil
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef __LWP_SYSCALL_H__
							 | 
						||
| 
								 | 
							
								#define __LWP_SYSCALL_H__
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include <stdint.h>
							 | 
						||
| 
								 | 
							
								#include <rtthread.h>
							 | 
						||
| 
								 | 
							
								#include <dfs_posix.h>
							 | 
						||
| 
								 | 
							
								#include <sys/time.h>
							 | 
						||
| 
								 | 
							
								#include <sys/types.h>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef long suseconds_t;       /* microseconds (signed) */
							 | 
						||
| 
								 | 
							
								typedef uint32_t id_t;          /* may contain pid, uid or gid */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Process priority specifications to get/setpriority.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define	PRIO_MIN	    (-20)
							 | 
						||
| 
								 | 
							
								#define	PRIO_MAX	    20
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define	PRIO_PROCESS	0       /* only support lwp process */
							 | 
						||
| 
								 | 
							
								#define	PRIO_PGRP	    1
							 | 
						||
| 
								 | 
							
								#define	PRIO_USER	    2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef TIMEVAL_TO_TIMESPEC
							 | 
						||
| 
								 | 
							
								#define TIMEVAL_TO_TIMESPEC(tv, ts) {                   \
							 | 
						||
| 
								 | 
							
								    (ts)->tv_sec = (tv)->tv_sec;                        \
							 | 
						||
| 
								 | 
							
								    (ts)->tv_nsec = (tv)->tv_usec * 1000;               \
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef TIMESPEC_TO_TIMEVAL
							 | 
						||
| 
								 | 
							
								#define TIMESPEC_TO_TIMEVAL(tv, ts) {                   \
							 | 
						||
| 
								 | 
							
								    (tv)->tv_sec = (ts)->tv_sec;                        \
							 | 
						||
| 
								 | 
							
								    (tv)->tv_usec = (ts)->tv_nsec / 1000;               \
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void sys_exit(int value);
							 | 
						||
| 
								 | 
							
								ssize_t sys_read(int fd, void *buf, size_t nbyte);
							 | 
						||
| 
								 | 
							
								ssize_t sys_write(int fd, const void *buf, size_t nbyte);
							 | 
						||
| 
								 | 
							
								off_t sys_lseek(int fd, off_t offset, int whence);
							 | 
						||
| 
								 | 
							
								int sys_open(const char *name, int mode, ...);
							 | 
						||
| 
								 | 
							
								int sys_close(int fd);
							 | 
						||
| 
								 | 
							
								int sys_nanosleep(const struct timespec *rqtp, struct timespec *rmtp);
							 | 
						||
| 
								 | 
							
								int sys_getpriority(int which, id_t who);
							 | 
						||
| 
								 | 
							
								int sys_setpriority(int which, id_t who, int prio);
							 | 
						||
| 
								 | 
							
								int sys_gettimeofday(struct timeval *tp, struct timezone *tzp);
							 | 
						||
| 
								 | 
							
								int sys_settimeofday(const struct timeval *tv, const struct timezone *tzp);
							 | 
						||
| 
								 | 
							
								int sys_msgget(key_t key, int msgflg);
							 | 
						||
| 
								 | 
							
								int sys_msgsend(int msqid, const void *msgp, size_t msgsz, int msgflg);
							 | 
						||
| 
								 | 
							
								int sys_msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int sys_log(const char* log, int size);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif
							 |