| 
									
										
										
										
											2008-02-29 00:46:27 -05:00
										 |  |  | USING: kernel system combinators alien.syntax alien.c-types | 
					
						
							| 
									
										
										
										
											2009-08-30 05:06:41 -04:00
										 |  |  | math io.backend.unix vocabs.loader unix classes.struct ;
 | 
					
						
							| 
									
										
										
										
											2008-02-27 02:55:49 -05:00
										 |  |  | IN: unix.stat | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-02-28 13:46:01 -05:00
										 |  |  | ! File Types | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-16 03:32:57 -05:00
										 |  |  | CONSTANT: S_IFMT   OCT: 170000   ! These bits determine file type. | 
					
						
							| 
									
										
										
										
											2008-02-28 13:46:01 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-16 02:12:36 -05:00
										 |  |  | CONSTANT: S_IFDIR  OCT:  40000   ! Directory. | 
					
						
							|  |  |  | CONSTANT: S_IFCHR  OCT:  20000   ! Character device. | 
					
						
							|  |  |  | CONSTANT: S_IFBLK  OCT:  60000   ! Block device. | 
					
						
							|  |  |  | CONSTANT: S_IFREG  OCT: 100000   ! Regular file. | 
					
						
							|  |  |  | CONSTANT: S_IFIFO  OCT: 010000   ! FIFO. | 
					
						
							|  |  |  | CONSTANT: S_IFLNK  OCT: 120000   ! Symbolic link. | 
					
						
							|  |  |  | CONSTANT: S_IFSOCK OCT: 140000   ! Socket. | 
					
						
							|  |  |  | CONSTANT: S_IFWHT  OCT: 160000   ! Whiteout. | 
					
						
							| 
									
										
										
										
											2008-02-28 13:46:01 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-30 05:06:41 -04:00
										 |  |  | STRUCT: fsid | 
					
						
							|  |  |  |     { __val int[2] } ;
 | 
					
						
							| 
									
										
										
										
											2008-10-20 03:08:33 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-16 03:32:57 -05:00
										 |  |  | TYPEDEF: fsid __fsid_t | 
					
						
							|  |  |  | TYPEDEF: fsid fsid_t | 
					
						
							| 
									
										
										
										
											2008-10-20 03:08:33 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-10-07 08:43:49 -04:00
										 |  |  | << os { | 
					
						
							| 
									
										
										
										
											2008-04-02 19:25:33 -04:00
										 |  |  |     { linux   [ "unix.stat.linux"   require ] } | 
					
						
							|  |  |  |     { macosx  [ "unix.stat.macosx"  require ] } | 
					
						
							|  |  |  |     { freebsd [ "unix.stat.freebsd" require ] } | 
					
						
							|  |  |  |     { netbsd  [ "unix.stat.netbsd"  require ] } | 
					
						
							|  |  |  |     { openbsd [ "unix.stat.openbsd" require ] } | 
					
						
							| 
									
										
										
										
											2008-10-07 08:43:49 -04:00
										 |  |  | } case >> | 
					
						
							| 
									
										
										
										
											2008-02-28 13:46:01 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-05-13 14:32:55 -04:00
										 |  |  | : file-status ( pathname -- stat )
 | 
					
						
							| 
									
										
										
										
											2009-08-30 05:06:41 -04:00
										 |  |  |     \ stat <struct> [ [ stat ] unix-system-call drop ] keep ;
 | 
					
						
							| 
									
										
										
										
											2008-02-27 02:55:49 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-05-13 14:32:55 -04:00
										 |  |  | : link-status ( pathname -- stat )
 | 
					
						
							| 
									
										
										
										
											2009-08-30 05:06:41 -04:00
										 |  |  |     \ stat <struct> [ [ lstat ] unix-system-call drop ] keep ;
 |