Changeset 426 for trunk/libs/stdio.c
- Timestamp:
- Jan 29, 2018, 6:00:54 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libs/stdio.c
r412 r426 29 29 #define reg_t int 30 30 31 ///////////// POSIX standard system calls //////////////////////////////////// 32 31 33 /////////////////////// 32 34 void exit( int status ) … … 36 38 } 37 39 38 // 11///////////////////////////40 ///////////////////////////////// 39 41 int munmap( void * addr, 40 42 unsigned int size ) … … 45 47 } 46 48 47 // 12//////////////////////////49 //////////////////////////////// 48 50 int open( const char * pathname, 49 51 int flags, … … 56 58 } 57 59 58 // 13/////////////////////////60 /////////////////////////////// 59 61 void * mmap( void * addr, 60 62 unsigned int length, … … 77 79 } 78 80 79 // 14////////////////////81 ////////////////////////// 80 82 int read( int fd, 81 83 void * buf, … … 88 90 } 89 91 90 // 15/////////////////////92 /////////////////////////// 91 93 int write( int fd, 92 94 const void * buf, … … 99 101 } 100 102 101 // 16/////////////////////103 /////////////////////////// 102 104 int lseek( int fd, 103 105 unsigned int offset, … … 110 112 } 111 113 112 // 17/////////////114 /////////////////// 113 115 int close( int fd ) 114 116 { … … 117 119 } 118 120 119 // 18/////////////////////////////121 /////////////////////////////////// 120 122 int unlink( const char * pathname ) 121 123 { … … 124 126 } 125 127 126 // 19///////////////128 ///////////////////// 127 129 int pipe( int fd[2] ) 128 130 { … … 130 132 } 131 133 132 // 20////////////////////////////134 ////////////////////////////////// 133 135 int chdir( const char * pathname ) 134 136 { … … 137 139 } 138 140 139 // 21///////////////////////////141 ///////////////////////////////// 140 142 int mkdir( const char * pathname, 141 143 int mode ) … … 146 148 } 147 149 148 // 22////////////////////////////150 ////////////////////////////////// 149 151 int mkfifo( const char * pathname, 150 152 int mode ) … … 155 157 } 156 158 157 // 23////////////////////////////////159 ////////////////////////////////////// 158 160 DIR * opendir( const char * pathname ) 159 161 { … … 167 169 } 168 170 169 // 24///////////////////////////////171 ///////////////////////////////////// 170 172 struct dirent * readdir( DIR * dirp ) 171 173 { … … 179 181 } 180 182 181 // 25////////////////////183 ////////////////////////// 182 184 int closedir( DIR * dirp ) 183 185 { … … 186 188 } 187 189 188 // 26///////////////////////190 ///////////////////////////// 189 191 int getcwd( char * buf, 190 192 unsigned int bytes ) … … 195 197 } 196 198 197 // 29//////////////////////199 //////////////////////////// 198 200 int rmdir( char * pathname ) 199 201 { … … 202 204 } 203 205 204 // 30///////////////////////////206 ///////////////////////////////// 205 207 int utls( unsigned int operation, 206 208 unsigned int value ) … … 211 213 } 212 214 213 // 31/////////////////////////215 /////////////////////////////// 214 216 int chmod( char * pathname, 215 217 unsigned int rights ) … … 220 222 } 221 223 222 // 32///////////////////////////224 ///////////////////////////////// 223 225 int signal( unsigned int sigid, 224 226 void * handler ) … … 229 231 } 230 232 231 // 33/////////////////////////////////233 /////////////////////////////////////// 232 234 int gettimeofday( struct timeval * tv, 233 235 struct timezone * tz ) … … 238 240 } 239 241 240 // 34/////////////////////242 /////////////////////////// 241 243 int kill( unsigned int pid, 242 244 unsigned int sig_id ) … … 247 249 } 248 250 249 // 35//////251 //////////// 250 252 int getpid() 251 253 { … … 253 255 } 254 256 255 // 36////257 ////////// 256 258 int fork() 257 259 { … … 259 261 } 260 262 261 // 37/////////////////////263 /////////////////////////// 262 264 int exec( char * pathname, 263 265 char ** argv, … … 270 272 } 271 273 272 // 38///////////////////////////274 ///////////////////////////////// 273 275 int stat( const char * pathname, 274 276 struct stat * stat ) 275 277 { 276 return hal_user_syscall( SYS_ EXEC,278 return hal_user_syscall( SYS_STAT, 277 279 (reg_t)pathname, 278 280 (reg_t)stat, 0, 0 ); 279 281 } 280 282 281 // 39 //////////////////////////// 283 //////////////////////// 284 int wait( int * status ) 285 { 286 return hal_user_syscall( SYS_WAIT, 287 (reg_t)status, 0, 0, 0 ); 288 } 289 290 291 292 ///////////// Non standard system calls //////////////////////////////////// 293 294 ////////////////////////// 295 int fg( unsigned int pid ) 296 { 297 return hal_user_syscall( SYS_FG, 298 (reg_t)pid, 0, 0, 0 ); 299 } 300 301 ////////////////////////////////////// 302 int get_config( unsigned int * x_size, 303 unsigned int * y_size, 304 unsigned int * ncores ) 305 { 306 return hal_user_syscall( SYS_GET_CONFIG, 307 (reg_t)x_size, 308 (reg_t)y_size, 309 (reg_t)ncores, 0 ); 310 } 311 312 ///////////////////////////////// 313 int get_core( unsigned int * cxy, 314 unsigned int * lid ) 315 { 316 return hal_user_syscall( SYS_GET_CORE, 317 (reg_t)cxy, 318 (reg_t)lid, 0, 0 ); 319 } 320 321 //////////////////////////////////// 322 void display_string( char * string ) 323 { 324 hal_user_syscall( SYS_DISPLAY, 325 DISPLAY_STRING, 326 (reg_t)string, 0, 0 ); 327 } 328 329 /////////////////////////////////// 330 int display_vmm( unsigned int pid ) 331 { 332 return hal_user_syscall( SYS_DISPLAY, 333 DISPLAY_VMM, 334 (reg_t)pid, 0, 0 ); 335 } 336 337 //////////////////////////////// 338 int display_sched( unsigned int cxy, 339 unsigned int lid ) 340 { 341 return hal_user_syscall( SYS_DISPLAY, 342 DISPLAY_SCHED, 343 (reg_t)cxy, 344 (reg_t)lid, 0 ); 345 } 346 347 /////////////////////////////////////// 348 int display_process( unsigned int cxy ) 349 { 350 return hal_user_syscall( SYS_DISPLAY, 351 DISPLAY_PROCESS, 352 (reg_t)cxy, 0, 0 ); 353 } 354 355 /////////////////// 356 int display_chdev() 357 { 358 return hal_user_syscall( SYS_DISPLAY, 359 DISPLAY_CHDEV, 0, 0, 0 ); 360 } 361 362 ///////////////// 363 int display_vfs() 364 { 365 return hal_user_syscall( SYS_DISPLAY, 366 DISPLAY_VFS, 0, 0, 0 ); 367 } 368 369 /////////////////////////////////////////// 370 int get_cycle( unsigned long long * cycle ) 371 { 372 return hal_user_syscall( SYS_GET_CYCLE, 373 (reg_t)cycle, 0, 0, 0 ); 374 } 375 376 ////////////////////////////////// 282 377 int trace( unsigned int operation, 283 378 unsigned int pid,
Note: See TracChangeset
for help on using the changeset viewer.