BOOK.PS
资源名称:os_source.zip [点击查看]
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:2328k
源码类别:
操作系统开发
开发平台:
C/C++
- 1152(*/)S
- 2610 V
- (26024)210 648 A
- 1110(if)S
- ((fetch_name(name1,)756 1236 A
- (name1_length,)546 2034 A
- (M1))126 2622 A
- 2790(!=)S
- (OK))126 2916 A
- (return(err_code);)714 3084 A
- 2700 V
- (26025)210 648 A
- 1110(if)S
- 1236(()S
- ((rip)168 1320 A
- 1530(=)S
- (eat_path(user_path)))840 1614 A
- 2496(==)S
- (NIL_INODE))420 2622 A
- (return(err_code);)714 3084 A
- 2790 V
- (26026)210 648 A
- 1110(r)S
- 1194(=)S
- (stat_inode(rip,)630 1278 A
- (NIL_FILP,)378 1950 A
- (name2);)294 2370 A
- 2706(/*)S
- (actually)336 2832 A
- 3210(do)S
- (the)126 3336 A
- (work.*/)294 3504 A
- 2880 V
- (26027)210 648 A
- (put_inode(rip);)630 1110 A
- 2370(/*)S
- (release)294 2496 A
- (the)126 2832 A
- (inode)210 3000 A
- 3252(*/)S
- 2970 V
- (26028)210 648 A
- (return(r);)420 1110 A
- 3060 V
- (26029)210 648 A
- 1026(})S
- 3330 V
- (26032)210 648 A
- (/*===========================================================================*)3276 1026 A
- 3420 V
- (26033)210 648 A
- 1068(*)S
- (do_fstat)336 2370 A
- 4260(*)S
- 3510 V
- (26034)210 648 A
- (*===========================================================================*/)3276 1068 A
- 3600 V
- (26035)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_fstat())420 1488 A
- 3690 V
- (26036)210 648 A
- 1026({)S
- 3780 V
- (26037)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (fstat(fd,)378 1656 A
- (buf))168 2076 A
- (system)252 2286 A
- (call.)210 2580 A
- 2832(*/)S
- 3870 V
- (26038)210 648 A
- 3960 V
- (26039)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (filp)168 1782 A
- (*rfilp;)294 1992 A
- 4050 V
- (26040)210 648 A
- 4140 V
- (26041)210 648 A
- 1110(/*)S
- 1236(Is)S
- (the)126 1362 A
- (file)168 1530 A
- (descriptor)420 1740 A
- (valid?)252 2202 A
- 2496(*/)S
- 4230 V
- (26042)210 648 A
- 1110(if)S
- 1236(()S
- ((rfilp)252 1320 A
- 1614(=)S
- (get_filp(fd)))546 1698 A
- 2286(==)S
- (NIL_FILP))378 2412 A
- (return(err_code);)714 2832 A
- 4320 V
- (26043)210 648 A
- 4410 V
- (26044)210 648 A
- (return(stat_inode(rfilp->filp_ino,)1428 1110 A
- (rfilp,)252 2580 A
- (buffer));)378 2874 A
- 4500 V
- (26045)210 648 A
- 1026(})S
- 4770 V
- (26048)210 648 A
- (/*===========================================================================*)3276 1026 A
- 4860 V
- (26049)210 648 A
- 1068(*)S
- (stat_inode)420 2370 A
- 4260(*)S
- 4950 V
- (26050)210 648 A
- (*===========================================================================*/)3276 1068 A
- 5040 V
- (26051)210 648 A
- (PRIVATE)294 1026 A
- (int)126 1362 A
- (stat_inode(rip,)630 1530 A
- (fil_ptr,)336 2202 A
- (user_addr))420 2580 A
- 5130 V
- (26052)210 648 A
- (register)336 1026 A
- (struct)252 1404 A
- (inode)210 1698 A
- (*rip;)210 1950 A
- 2370(/*)S
- (pointer)294 2496 A
- 2832(to)S
- (inode)210 2958 A
- 3210(to)S
- (stat)168 3336 A
- 3546(*/)S
- 5220 V
- (26053)210 648 A
- (struct)252 1026 A
- (filp)168 1320 A
- (*fil_ptr;)378 1530 A
- 2370(/*)S
- (filp)168 2496 A
- (pointer,)336 2706 A
- (supplied)336 3084 A
- 3462(by)S
- ('fstat')294 3588 A
- 3924(*/)S
- 5310 V
- (26054)210 648 A
- (char)168 1026 A
- (*user_addr;)462 1236 A
- 2370(/*)S
- (user)168 2496 A
- (space)210 2706 A
- (address)294 2958 A
- (where)210 3294 A
- (stat)168 3546 A
- (buf)126 3756 A
- (goes)168 3924 A
- 4134(*/)S
- 5400 V
- (26055)210 648 A
- 1026({)S
- 5490 V
- (26056)210 648 A
- 1026(/*)S
- (Common)252 1152 A
- (code)168 1446 A
- (for)126 1656 A
- (stat)168 1824 A
- (and)126 2034 A
- (fstat)210 2202 A
- (system)252 2454 A
- (calls.)252 2748 A
- 3042(*/)S
- 5580 V
- (26057)210 648 A
- 5670 V
- (26058)210 648 A
- (struct)252 1110 A
- (stat)168 1404 A
- (statbuf;)336 1614 A
- 5760 V
- (26059)210 648 A
- (mode_t)252 1110 A
- (mo;)126 1404 A
- 5850 V
- (26060)210 648 A
- (int)126 1110 A
- 1278(r,)S
- 1404(s;)S
- 5940 V
- (26061)210 648 A
- 6030 V
- (26062)210 648 A
- 1110(/*)S
- (Update)252 1236 A
- (the)126 1530 A
- (atime,)252 1698 A
- (ctime,)252 1992 A
- (and)126 2286 A
- (mtime)210 2454 A
- (fields)252 2706 A
- 3000(in)S
- (the)126 3126 A
- (inode,)252 3294 A
- 3588(if)S
- (need)168 3714 A
- (be.)126 3924 A
- 4092(*/)S
- 6120 V
- (26063)210 648 A
- 1110(if)S
- ((rip->i_update))630 1236 A
- (update_times(rip);)756 1908 A
- 6210 V
- (26064)210 648 A
- 8418 V
- EP
- %%Page: 360 360
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (360)180 648 A
- 11 R
- 2123(File:)S
- 2356(src/fs/stadir.c)S
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 900 V
- 7 LST
- (26065)210 648 A
- 1110(/*)S
- (Fill)168 1236 A
- 1446(in)S
- (the)126 1572 A
- (statbuf)294 1740 A
- (struct.)294 2076 A
- 2412(*/)S
- 990 V
- (26066)210 648 A
- 1110(mo)S
- 1236(=)S
- (rip->i_mode)462 1320 A
- 1824(&)S
- (I_TYPE;)294 1908 A
- 1080 V
- (26067)210 648 A
- 1110(s)S
- 1194(=)S
- ((mo)126 1278 A
- 1446(==)S
- (I_CHAR_SPECIAL)588 1572 A
- 2202(||)S
- 2328(mo)S
- 2454(==)S
- (I_BLOCK_SPECIAL);)714 2580 A
- 3378(/*)S
- (true)168 3504 A
- (iff)126 3714 A
- (special)294 3882 A
- 4218(*/)S
- 1170 V
- (26068)210 648 A
- (statbuf.st_dev)588 1110 A
- 1740(=)S
- (rip->i_dev;)462 1824 A
- 1260 V
- (26069)210 648 A
- (statbuf.st_ino)588 1110 A
- 1740(=)S
- (rip->i_num;)462 1824 A
- 1350 V
- (26070)210 648 A
- (statbuf.st_mode)630 1110 A
- 1782(=)S
- (rip->i_mode;)504 1866 A
- 1440 V
- (26071)210 648 A
- (statbuf.st_nlink)672 1110 A
- 1824(=)S
- (rip->i_nlinks)546 1908 A
- 2496(&)S
- (BYTE;)210 2580 A
- 1530 V
- (26072)210 648 A
- (statbuf.st_uid)588 1110 A
- 1740(=)S
- (rip->i_uid;)462 1824 A
- 1620 V
- (26073)210 648 A
- (statbuf.st_gid)588 1110 A
- 1740(=)S
- (rip->i_gid)420 1824 A
- 2286(&)S
- (BYTE;)210 2370 A
- 1710 V
- (26074)210 648 A
- (statbuf.st_rdev)630 1110 A
- 1782(=)S
- ((dev_t))294 1866 A
- 2202((s)S
- 2328(?)S
- (rip->i_zone[0])588 2412 A
- 3042(:)S
- (NO_DEV);)336 3126 A
- 1800 V
- (26075)210 648 A
- (statbuf.st_size)630 1110 A
- 1782(=)S
- (rip->i_size;)504 1866 A
- 1890 V
- (26076)210 648 A
- 1980 V
- (26077)210 648 A
- 1110(if)S
- ((rip->i_pipe)504 1236 A
- 1782(==)S
- (I_PIPE))294 1908 A
- 2244({)S
- 2070 V
- (26078)210 648 A
- (statbuf.st_mode)630 1362 A
- 2034(&=)S
- (304I_REGULAR;)462 2160 A
- 2706(/*)S
- (wipe)168 2832 A
- (out)126 3042 A
- (I_REGULAR)378 3210 A
- (bit)126 3630 A
- (for)126 3798 A
- (pipes)210 3966 A
- 4218(*/)S
- 2160 V
- (26079)210 648 A
- 1362(if)S
- ((fil_ptr)336 1488 A
- 1866(!=)S
- (NIL_FILP)336 1992 A
- 2370(&&)S
- (fil_ptr->filp_mode)756 2496 A
- 3294(&)S
- (R_BIT))252 3378 A
- 2250 V
- (26080)210 648 A
- (statbuf.st_size)630 1698 A
- 2370(-=)S
- (fil_ptr->filp_pos;)756 2496 A
- 2340 V
- (26081)210 648 A
- 1110(})S
- 2430 V
- (26082)210 648 A
- 2520 V
- (26083)210 648 A
- (statbuf.st_atime)672 1110 A
- 1824(=)S
- (rip->i_atime;)546 1908 A
- 2610 V
- (26084)210 648 A
- (statbuf.st_mtime)672 1110 A
- 1824(=)S
- (rip->i_mtime;)546 1908 A
- 2700 V
- (26085)210 648 A
- (statbuf.st_ctime)672 1110 A
- 1824(=)S
- (rip->i_ctime;)546 1908 A
- 2790 V
- (26086)210 648 A
- 2880 V
- (26087)210 648 A
- 1110(/*)S
- (Copy)168 1236 A
- (the)126 1446 A
- (struct)252 1614 A
- 1908(to)S
- (user)168 2034 A
- (space.)252 2244 A
- 2538(*/)S
- 2970 V
- (26088)210 648 A
- 1110(r)S
- 1194(=)S
- (sys_copy(FS_PROC_NR,)840 1278 A
- 2160(D,)S
- ((phys_bytes))504 2286 A
- (&statbuf,)378 2832 A
- 3060 V
- (26089)210 648 A
- (who,)168 1698 A
- 1908(D,)S
- ((phys_bytes))504 2034 A
- (user_addr,)420 2580 A
- ((phys_bytes))504 3042 A
- (sizeof(statbuf));)714 3588 A
- 3150 V
- (26090)210 648 A
- (return(r);)420 1110 A
- 3240 V
- (26091)210 648 A
- 1026(})S
- 3690 V
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 3780 V
- (src/fs/protect.c)672 2034 A
- 3870 V
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 4050 V
- (26100)210 648 A
- 1026(/*)S
- (This)168 1152 A
- (file)168 1362 A
- (deals)210 1572 A
- (with)168 1824 A
- (protection)420 2034 A
- 2496(in)S
- (the)126 2622 A
- (file)168 2790 A
- (system.)294 3000 A
- 3378(It)S
- (contains)336 3504 A
- (the)126 3882 A
- (code)168 4050 A
- 4140 V
- (26101)210 648 A
- 1068(*)S
- (for)126 1152 A
- (four)168 1320 A
- (system)252 1530 A
- (calls)210 1824 A
- (that)168 2076 A
- (relate)252 2286 A
- 2580(to)S
- (protection.)462 2706 A
- 4230 V
- (26102)210 648 A
- 1068(*)S
- 4320 V
- (26103)210 648 A
- 1068(*)S
- (The)126 1152 A
- (entry)210 1320 A
- (points)252 1572 A
- (into)168 1866 A
- (this)168 2076 A
- (file)168 2286 A
- (are)126 2496 A
- 4410 V
- (26104)210 648 A
- 1068(*)S
- (do_chmod:)378 1236 A
- (perform)294 1698 A
- (the)126 2034 A
- (CHMOD)210 2202 A
- (system)252 2454 A
- (call)168 2748 A
- 4500 V
- (26105)210 648 A
- 1068(*)S
- (do_chown:)378 1236 A
- (perform)294 1698 A
- (the)126 2034 A
- (CHOWN)210 2202 A
- (system)252 2454 A
- (call)168 2748 A
- 4590 V
- (26106)210 648 A
- 1068(*)S
- (do_umask:)378 1236 A
- (perform)294 1698 A
- (the)126 2034 A
- (UMASK)210 2202 A
- (system)252 2454 A
- (call)168 2748 A
- 4680 V
- (26107)210 648 A
- 1068(*)S
- (do_access:)420 1236 A
- (perform)294 1698 A
- (the)126 2034 A
- (ACCESS)252 2202 A
- (system)252 2496 A
- (call)168 2790 A
- 4770 V
- (26108)210 648 A
- 1068(*)S
- (forbidden:)420 1236 A
- (check)210 1698 A
- 1950(to)S
- (see)126 2076 A
- 2244(if)S
- 2370(a)S
- (given)210 2454 A
- (access)252 2706 A
- 3000(is)S
- (allowed)294 3126 A
- 3462(on)S
- 3588(a)S
- (given)210 3672 A
- (inode)210 3924 A
- 4860 V
- (26109)210 648 A
- 1068(*/)S
- 4950 V
- (26110)210 648 A
- 5040 V
- (26111)210 648 A
- (#include)336 1026 A
- ("fs.h")252 1404 A
- 5130 V
- (26112)210 648 A
- (#include)336 1026 A
- (<unistd.h>)420 1404 A
- 5220 V
- (26113)210 648 A
- (#include)336 1026 A
- (<minix/callnr.h>)672 1404 A
- 5310 V
- (26114)210 648 A
- (#include)336 1026 A
- ("buf.h")294 1404 A
- 5400 V
- (26115)210 648 A
- (#include)336 1026 A
- ("file.h")336 1404 A
- 5490 V
- (26116)210 648 A
- (#include)336 1026 A
- ("fproc.h")378 1404 A
- 5580 V
- (26117)210 648 A
- (#include)336 1026 A
- ("inode.h")378 1404 A
- 5670 V
- (26118)210 648 A
- (#include)336 1026 A
- ("param.h")378 1404 A
- 5760 V
- (26119)210 648 A
- (#include)336 1026 A
- ("super.h")378 1404 A
- 5850 V
- (26120)210 648 A
- 5940 V
- (26121)210 648 A
- (/*===========================================================================*)3276 1026 A
- 6030 V
- (26122)210 648 A
- 1068(*)S
- (do_chmod)336 2370 A
- 4260(*)S
- 6120 V
- (26123)210 648 A
- (*===========================================================================*/)3276 1068 A
- 6210 V
- (26124)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_chmod())420 1488 A
- 8418 V
- EP
- %%Page: 361 361
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2092(File:)S
- 2325(src/fs/protect.c)S
- 12 B
- (361)180 4248 A
- 900 V
- 7 LST
- (26125)210 648 A
- 1026({)S
- 990 V
- (26126)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (chmod(name,)462 1656 A
- (mode))210 2160 A
- (system)252 2412 A
- (call.)210 2706 A
- 2958(*/)S
- 1080 V
- (26127)210 648 A
- 1170 V
- (26128)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (inode)210 1782 A
- (*rip;)210 2034 A
- 1260 V
- (26129)210 648 A
- (register)336 1110 A
- (int)126 1488 A
- 1656(r;)S
- 1350 V
- (26130)210 648 A
- 1440 V
- (26131)210 648 A
- 1110(/*)S
- (Temporarily)462 1236 A
- (open)168 1740 A
- (the)126 1950 A
- (file.)210 2118 A
- 2370(*/)S
- 1530 V
- (26132)210 648 A
- 1110(if)S
- ((fetch_name(name,)714 1236 A
- (name_length,)504 1992 A
- (M3))126 2538 A
- 2706(!=)S
- (OK))126 2832 A
- (return(err_code);)714 3000 A
- 1620 V
- (26133)210 648 A
- 1110(if)S
- 1236(()S
- ((rip)168 1320 A
- 1530(=)S
- (eat_path(user_path)))840 1614 A
- 2496(==)S
- (NIL_INODE))420 2622 A
- (return(err_code);)714 3084 A
- 1710 V
- (26134)210 648 A
- 1800 V
- (26135)210 648 A
- 1110(/*)S
- (Only)168 1236 A
- (the)126 1446 A
- (owner)210 1614 A
- 1866(or)S
- (the)126 1992 A
- (super_user)420 2160 A
- (may)126 2622 A
- (change)252 2790 A
- (the)126 3084 A
- (mode)168 3252 A
- 3462(of)S
- 3588(a)S
- (file.)210 3672 A
- 1890 V
- (26136)210 648 A
- 1152(*)S
- 1236(No)S
- (one)126 1362 A
- (may)126 1530 A
- (change)252 1698 A
- (the)126 1992 A
- (mode)168 2160 A
- 2370(of)S
- 2496(a)S
- (file)168 2580 A
- 2790(on)S
- 2916(a)S
- (read-only)378 3000 A
- (file)168 3420 A
- (system.)294 3630 A
- 1980 V
- (26137)210 648 A
- 1152(*/)S
- 2070 V
- (26138)210 648 A
- 1110(if)S
- ((rip->i_uid)462 1236 A
- 1740(!=)S
- (fp->fp_effuid)546 1866 A
- 2454(&&)S
- (!super_user))504 2580 A
- 2160 V
- (26139)210 648 A
- 1362(r)S
- 1446(=)S
- (EPERM;)252 1530 A
- 2250 V
- (26140)210 648 A
- (else)168 1110 A
- 2340 V
- (26141)210 648 A
- 1362(r)S
- 1446(=)S
- (read_only(rip);)630 1530 A
- 2430 V
- (26142)210 648 A
- 2520 V
- (26143)210 648 A
- 1110(/*)S
- 1236(If)S
- (error,)252 1362 A
- (return)252 1656 A
- (inode.)252 1950 A
- 2244(*/)S
- 2610 V
- (26144)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(!=)S
- (OK))126 1488 A
- 1698({)S
- 2700 V
- (26145)210 648 A
- (put_inode(rip);)630 1362 A
- 2790 V
- (26146)210 648 A
- (return(r);)420 1362 A
- 2880 V
- (26147)210 648 A
- 1110(})S
- 2970 V
- (26148)210 648 A
- 3060 V
- (26149)210 648 A
- 1110(/*)S
- (Now)126 1236 A
- (make)168 1404 A
- (the)126 1614 A
- (change.)294 1782 A
- (Clear)210 2118 A
- (setgid)252 2370 A
- (bit)126 2664 A
- 2832(if)S
- (file)168 2958 A
- 3168(is)S
- (not)126 3294 A
- 3462(in)S
- (caller's)336 3588 A
- (grp)126 3966 A
- 4134(*/)S
- 3150 V
- (26150)210 648 A
- (rip->i_mode)462 1110 A
- 1614(=)S
- ((rip->i_mode)504 1698 A
- 2244(&)S
- (304ALL_MODES))462 2328 A
- 2832(|)S
- ((mode)210 2916 A
- 3168(&)S
- (ALL_MODES);)462 3252 A
- 3240 V
- (26151)210 648 A
- 1110(if)S
- ((!super_user)504 1236 A
- 1782(&&)S
- (rip->i_gid)420 1908 A
- 2370(!=)S
- (fp->fp_effgid)rip->i_mode)1050 2496 A
- 3588(&=)S
- (304I_SET_GID_BIT;)630 3714 A
- 3330 V
- (26152)210 648 A
- (rip->i_update)546 1110 A
- 1698(|=)S
- (CTIME;)252 1824 A
- 3420 V
- (26153)210 648 A
- (rip->i_dirt)462 1110 A
- 1614(=)S
- (DIRTY;)252 1698 A
- 3510 V
- (26154)210 648 A
- 3600 V
- (26155)210 648 A
- (put_inode(rip);)630 1110 A
- 3690 V
- (26156)210 648 A
- (return(OK);)462 1110 A
- 3780 V
- (26157)210 648 A
- 1026(})S
- 4050 V
- (26160)210 648 A
- (/*===========================================================================*)3276 1026 A
- 4140 V
- (26161)210 648 A
- 1068(*)S
- (do_chown)336 2370 A
- 4260(*)S
- 4230 V
- (26162)210 648 A
- (*===========================================================================*/)3276 1068 A
- 4320 V
- (26163)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_chown())420 1488 A
- 4410 V
- (26164)210 648 A
- 1026({)S
- 4500 V
- (26165)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (chown(name,)462 1656 A
- (owner,)252 2160 A
- (group))252 2454 A
- (system)252 2748 A
- (call.)210 3042 A
- 3294(*/)S
- 4590 V
- (26166)210 648 A
- 4680 V
- (26167)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (inode)210 1782 A
- (*rip;)210 2034 A
- 4770 V
- (26168)210 648 A
- (register)336 1110 A
- (int)126 1488 A
- 1656(r;)S
- 4860 V
- (26169)210 648 A
- 4950 V
- (26170)210 648 A
- 1110(/*)S
- (Temporarily)462 1236 A
- (open)168 1740 A
- (the)126 1950 A
- (file.)210 2118 A
- 2370(*/)S
- 5040 V
- (26171)210 648 A
- 1110(if)S
- ((fetch_name(name1,)756 1236 A
- (name1_length,)546 2034 A
- (M1))126 2622 A
- 2790(!=)S
- (OK))126 2916 A
- (return(err_code);)714 3084 A
- 5130 V
- (26172)210 648 A
- 1110(if)S
- 1236(()S
- ((rip)168 1320 A
- 1530(=)S
- (eat_path(user_path)))840 1614 A
- 2496(==)S
- (NIL_INODE))420 2622 A
- (return(err_code);)714 3084 A
- 5220 V
- (26173)210 648 A
- 5310 V
- (26174)210 648 A
- 1110(/*)S
- (Not)126 1236 A
- (permitted)378 1404 A
- 1824(to)S
- (change)252 1950 A
- (the)126 2244 A
- (owner)210 2412 A
- 2664(of)S
- 2790(a)S
- (file)168 2874 A
- 3084(on)S
- 3210(a)S
- (read-only)378 3294 A
- (file)168 3714 A
- (sys.)168 3924 A
- 4134(*/)S
- 5400 V
- (26175)210 648 A
- 1110(r)S
- 1194(=)S
- (read_only(rip);)630 1278 A
- 5490 V
- (26176)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(==)S
- (OK))126 1488 A
- 1656({)S
- 5580 V
- (26177)210 648 A
- 1362(/*)S
- 1488(FS)S
- 1614(is)S
- (R/W.)168 1740 A
- (Whether)294 1992 A
- (call)168 2328 A
- 2538(is)S
- (allowed)294 2664 A
- (depends)294 3000 A
- 3336(on)S
- (ownership,)420 3462 A
- (etc.)168 3924 A
- 4134(*/)S
- 5670 V
- (26178)210 648 A
- 1362(if)S
- ((super_user))504 1488 A
- 2034({)S
- 5760 V
- (26179)210 648 A
- 1698(/*)S
- (The)126 1824 A
- (super)210 1992 A
- (user)168 2244 A
- (can)126 2454 A
- 2622(do)S
- (anything.)378 2748 A
- 3168(*/)S
- 5850 V
- (26180)210 648 A
- (rip->i_uid)420 1698 A
- 2160(=)S
- (owner;)252 2244 A
- 2706(/*)S
- (others)252 2832 A
- (later)210 3126 A
- 3378(*/)S
- 5940 V
- (26181)210 648 A
- 1362(})S
- (else)168 1446 A
- 1656({)S
- 6030 V
- (26182)210 648 A
- 1698(/*)S
- (Regular)294 1824 A
- (users)210 2160 A
- (can)126 2412 A
- (only)168 2580 A
- (change)252 2790 A
- (groups)252 3084 A
- 3378(of)S
- (their)210 3504 A
- (own)126 3756 A
- (files.)252 3924 A
- 4218(*/)S
- 6120 V
- (26183)210 648 A
- 1698(if)S
- ((rip->i_uid)462 1824 A
- 2328(!=)S
- (fp->fp_effuid))588 2454 A
- 3084(r)S
- 3168(=)S
- (EPERM;)252 3252 A
- 6210 V
- (26184)210 648 A
- 1698(if)S
- ((rip->i_uid)462 1824 A
- 2328(!=)S
- (owner))252 2454 A
- 2748(r)S
- 2832(=)S
- (EPERM;)252 2916 A
- 3378(/*)S
- 3504(no)S
- (giving)252 3630 A
- (away)168 3924 A
- 4134(*/)S
- 8418 V
- EP
- %%Page: 362 362
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (362)180 648 A
- 11 R
- 2092(File:)S
- 2325(src/fs/protect.c)S
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 900 V
- 7 LST
- (26185)210 648 A
- 1698(if)S
- ((fp->fp_effgid)588 1824 A
- 2454(!=)S
- (group))252 2580 A
- 2874(r)S
- 2958(=)S
- (EPERM;)252 3042 A
- 990 V
- (26186)210 648 A
- 1362(})S
- 1080 V
- (26187)210 648 A
- 1110(})S
- 1170 V
- (26188)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(==)S
- (OK))126 1488 A
- 1656({)S
- 1260 V
- (26189)210 648 A
- (rip->i_gid)420 1362 A
- 1824(=)S
- (group;)252 1908 A
- 1350 V
- (26190)210 648 A
- (rip->i_mode)462 1362 A
- 1866(&=)S
- (304(I_SET_UID_BIT)630 1992 A
- 2664(|)S
- (I_SET_GID_BIT);)630 2748 A
- 1440 V
- (26191)210 648 A
- (rip->i_update)546 1362 A
- 1950(|=)S
- (CTIME;)252 2076 A
- 1530 V
- (26192)210 648 A
- (rip->i_dirt)462 1362 A
- 1866(=)S
- (DIRTY;)252 1950 A
- 1620 V
- (26193)210 648 A
- 1110(})S
- 1710 V
- (26194)210 648 A
- 1800 V
- (26195)210 648 A
- (put_inode(rip);)630 1110 A
- 1890 V
- (26196)210 648 A
- (return(r);)420 1110 A
- 1980 V
- (26197)210 648 A
- 1026(})S
- 2250 V
- (26200)210 648 A
- (/*===========================================================================*)3276 1026 A
- 2340 V
- (26201)210 648 A
- 1068(*)S
- (do_umask)336 2370 A
- 4260(*)S
- 2430 V
- (26202)210 648 A
- (*===========================================================================*/)3276 1068 A
- 2520 V
- (26203)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_umask())420 1488 A
- 2610 V
- (26204)210 648 A
- 1026({)S
- 2700 V
- (26205)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (umask(co_mode))588 1656 A
- (system)252 2286 A
- (call.)210 2580 A
- 2832(*/)S
- 2790 V
- (26206)210 648 A
- (register)336 1110 A
- (mode_t)252 1488 A
- 1782(r;)S
- 2880 V
- (26207)210 648 A
- 2970 V
- (26208)210 648 A
- 1110(r)S
- 1194(=)S
- (304fp->fp_umask;)588 1278 A
- 2370(/*)S
- (set)126 2496 A
- ('r')126 2664 A
- 2832(to)S
- (complement)420 2958 A
- 3420(of)S
- (old)126 3546 A
- (mask)168 3714 A
- 3924(*/)S
- 3060 V
- (26209)210 648 A
- (fp->fp_umask)504 1110 A
- 1656(=)S
- (304(co_mode)378 1740 A
- 2160(&)S
- (RWX_MODES);)462 2244 A
- 3150 V
- (26210)210 648 A
- (return(r);)420 1110 A
- 2370(/*)S
- (return)252 2496 A
- (complement)420 2790 A
- 3252(of)S
- (old)126 3378 A
- (mask)168 3546 A
- 3756(*/)S
- 3240 V
- (26211)210 648 A
- 1026(})S
- 3510 V
- (26214)210 648 A
- (/*===========================================================================*)3276 1026 A
- 3600 V
- (26215)210 648 A
- 1068(*)S
- (do_access)378 2370 A
- 4260(*)S
- 3690 V
- (26216)210 648 A
- (*===========================================================================*/)3276 1068 A
- 3780 V
- (26217)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_access())462 1488 A
- 3870 V
- (26218)210 648 A
- 1026({)S
- 3960 V
- (26219)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (access(name,)504 1656 A
- (mode))210 2202 A
- (system)252 2454 A
- (call.)210 2748 A
- 3000(*/)S
- 4050 V
- (26220)210 648 A
- 4140 V
- (26221)210 648 A
- (struct)252 1110 A
- (inode)210 1404 A
- (*rip;)210 1656 A
- 4230 V
- (26222)210 648 A
- (register)336 1110 A
- (int)126 1488 A
- 1656(r;)S
- 4320 V
- (26223)210 648 A
- 4410 V
- (26224)210 648 A
- 1110(/*)S
- (First)210 1236 A
- (check)210 1488 A
- 1740(to)S
- (see)126 1866 A
- 2034(if)S
- (the)126 2160 A
- (mode)168 2328 A
- 2538(is)S
- (correct.)336 2664 A
- 3042(*/)S
- 4500 V
- (26225)210 648 A
- 1110(if)S
- 1236(()S
- ((mode)210 1320 A
- 1572(&)S
- (304(R_OK)252 1656 A
- 1950(|)S
- (W_OK)168 2034 A
- 2244(|)S
- (X_OK)))252 2328 A
- 2622(!=)S
- 2748(0)S
- 2832(&&)S
- (mode)168 2958 A
- 3168(!=)S
- (F_OK))210 3294 A
- 4590 V
- (26226)210 648 A
- (return(EINVAL);)630 1362 A
- 4680 V
- (26227)210 648 A
- 4770 V
- (26228)210 648 A
- 1110(/*)S
- (Temporarily)462 1236 A
- (open)168 1740 A
- (the)126 1950 A
- (file)168 2118 A
- (whose)210 2328 A
- (access)252 2580 A
- 2874(is)S
- 3000(to)S
- 3126(be)S
- (checked.)336 3252 A
- 3630(*/)S
- 4860 V
- (26229)210 648 A
- 1110(if)S
- ((fetch_name(name,)714 1236 A
- (name_length,)504 1992 A
- (M3))126 2538 A
- 2706(!=)S
- (OK))126 2832 A
- (return(err_code);)714 3000 A
- 4950 V
- (26230)210 648 A
- 1110(if)S
- 1236(()S
- ((rip)168 1320 A
- 1530(=)S
- (eat_path(user_path)))840 1614 A
- 2496(==)S
- (NIL_INODE))420 2622 A
- (return(err_code);)714 3084 A
- 5040 V
- (26231)210 648 A
- 5130 V
- (26232)210 648 A
- 1110(/*)S
- (Now)126 1236 A
- (check)210 1404 A
- (the)126 1656 A
- (permissions.)504 1824 A
- 2370(*/)S
- 5220 V
- (26233)210 648 A
- 1110(r)S
- 1194(=)S
- (forbidden(rip,)588 1278 A
- ((mode_t))336 1908 A
- (mode);)252 2286 A
- 5310 V
- (26234)210 648 A
- (put_inode(rip);)630 1110 A
- 5400 V
- (26235)210 648 A
- (return(r);)420 1110 A
- 5490 V
- (26236)210 648 A
- 1026(})S
- 5760 V
- (26239)210 648 A
- (/*===========================================================================*)3276 1026 A
- 5850 V
- (26240)210 648 A
- 1068(*)S
- (forbidden)378 2370 A
- 4260(*)S
- 5940 V
- (26241)210 648 A
- (*===========================================================================*/)3276 1068 A
- 6030 V
- (26242)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (forbidden(rip,)588 1488 A
- (access_desired))630 2118 A
- 6120 V
- (26243)210 648 A
- (register)336 1026 A
- (struct)252 1404 A
- (inode)210 1698 A
- (*rip;)210 1950 A
- 2370(/*)S
- (pointer)294 2496 A
- 2832(to)S
- (inode)210 2958 A
- 3210(to)S
- 3336(be)S
- (checked)294 3462 A
- 3798(*/)S
- 6210 V
- (26244)210 648 A
- (mode_t)252 1026 A
- (access_desired;)630 1320 A
- 2034(/*)S
- (RWX)126 2160 A
- (bits)168 2328 A
- 2538(*/)S
- 8418 V
- EP
- %%Page: 363 363
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2092(File:)S
- 2325(src/fs/protect.c)S
- 12 B
- (363)180 4248 A
- 900 V
- 7 LST
- (26245)210 648 A
- 1026({)S
- 990 V
- (26246)210 648 A
- 1026(/*)S
- (Given)210 1152 A
- 1404(a)S
- (pointer)294 1488 A
- 1824(to)S
- 1950(an)S
- (inode,)252 2076 A
- ('rip',)252 2370 A
- (and)126 2664 A
- (the)126 2832 A
- (access)252 3000 A
- (desired,)336 3294 A
- (determine)378 3672 A
- 1080 V
- (26247)210 648 A
- 1068(*)S
- 1152(if)S
- (the)126 1278 A
- (access)252 1446 A
- 1740(is)S
- (allowed,)336 1866 A
- (and)126 2244 A
- 2412(if)S
- (not)126 2538 A
- (why)126 2706 A
- (not.)168 2874 A
- (The)126 3126 A
- (routine)294 3294 A
- (looks)210 3630 A
- 3882(up)S
- (the)126 4008 A
- 1170 V
- (26248)210 648 A
- 1068(*)S
- (caller's)336 1152 A
- (uid)126 1530 A
- 1698(in)S
- (the)126 1824 A
- ('fproc')294 1992 A
- (table.)252 2328 A
- 2664(If)S
- (access)252 2790 A
- 3084(is)S
- (allowed,)336 3210 A
- 3588(OK)S
- 3714(is)S
- (returned)336 3840 A
- 1260 V
- (26249)210 648 A
- 1068(*)S
- 1152(if)S
- 1278(it)S
- 1404(is)S
- (forbidden,)420 1530 A
- (EACCES)252 1992 A
- 2286(is)S
- (returned.)378 2412 A
- 1350 V
- (26250)210 648 A
- 1068(*/)S
- 1440 V
- (26251)210 648 A
- 1530 V
- (26252)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (inode)210 1782 A
- (*old_rip)336 2034 A
- 2412(=)S
- (rip;)168 2496 A
- 1620 V
- (26253)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (super_block)462 1782 A
- (*sp;)168 2286 A
- 1710 V
- (26254)210 648 A
- (register)336 1110 A
- (mode_t)252 1488 A
- (bits,)210 1782 A
- (perm_bits;)420 2034 A
- 1800 V
- (26255)210 648 A
- (int)126 1110 A
- 1278(r,)S
- (shift,)252 1404 A
- (test_uid,)378 1698 A
- (test_gid;)378 2118 A
- 1890 V
- (26256)210 648 A
- 1980 V
- (26257)210 648 A
- 1110(if)S
- ((rip->i_mount)546 1236 A
- 1824(==)S
- (I_MOUNT))336 1950 A
- 2370(/*)S
- (The)126 2496 A
- (inode)210 2664 A
- 2916(is)S
- (mounted)294 3042 A
- (on.)126 3378 A
- 3546(*/)S
- 2070 V
- (26258)210 648 A
- (for)126 1362 A
- ((sp)126 1530 A
- 1698(=)S
- (&super_block[1];)672 1782 A
- 2496(sp)S
- 2622(<)S
- (&super_block[NR_SUPERS];)1008 2706 A
- (sp++))210 3756 A
- 2160 V
- (26259)210 648 A
- 1698(if)S
- ((sp->s_imount)546 1824 A
- 2412(==)S
- (rip))168 2538 A
- 2748({)S
- 2250 V
- (26260)210 648 A
- (rip)126 2034 A
- 2202(=)S
- (get_inode(sp->s_dev,)840 2286 A
- (ROOT_INODE);)504 3168 A
- 2340 V
- (26261)210 648 A
- (break;)252 2034 A
- 2430 V
- (26262)210 648 A
- 1698(})S
- 1782(/*)S
- 1908(if)S
- 2034(*/)S
- 2520 V
- (26263)210 648 A
- 2610 V
- (26264)210 648 A
- 1110(/*)S
- (Isolate)294 1236 A
- (the)126 1572 A
- (relevant)336 1740 A
- (rwx)126 2118 A
- (bits)168 2286 A
- (from)168 2496 A
- (the)126 2706 A
- (mode.)210 2874 A
- 3126(*/)S
- 2700 V
- (26265)210 648 A
- (bits)168 1110 A
- 1320(=)S
- (rip->i_mode;)504 1404 A
- 2790 V
- (26266)210 648 A
- (test_uid)336 1110 A
- 1488(=)S
- ((fs_call)336 1572 A
- 1950(==)S
- (ACCESS)252 2076 A
- 2370(?)S
- (fp->fp_realuid)588 2454 A
- 3084(:)S
- (fp->fp_effuid);)630 3168 A
- 2880 V
- (26267)210 648 A
- (test_gid)336 1110 A
- 1488(=)S
- ((fs_call)336 1572 A
- 1950(==)S
- (ACCESS)252 2076 A
- 2370(?)S
- (fp->fp_realgid)588 2454 A
- 3084(:)S
- (fp->fp_effgid);)630 3168 A
- 2970 V
- (26268)210 648 A
- 1110(if)S
- ((test_uid)378 1236 A
- 1656(==)S
- (SU_UID))294 1782 A
- 2118({)S
- 3060 V
- (26269)210 648 A
- 1362(/*)S
- (Grant)210 1488 A
- (read)168 1740 A
- (and)126 1950 A
- (write)210 2118 A
- (permission.)462 2370 A
- (Grant)210 2916 A
- (search)252 3168 A
- (permission)420 3462 A
- (for)126 3924 A
- 3150 V
- (26270)210 648 A
- 1404(*)S
- (directories.)504 1488 A
- (Grant)210 2076 A
- (execute)294 2328 A
- (permission)420 2664 A
- ((for)168 3126 A
- (non-directories))672 3336 A
- 4050(if)S
- 3240 V
- (26271)210 648 A
- 1404(*)S
- (and)126 1488 A
- (only)168 1656 A
- 1866(if)S
- (one)126 1992 A
- 2160(of)S
- (the)126 2286 A
- ('X')126 2454 A
- (bits)168 2622 A
- 2832(is)S
- (set.)168 2958 A
- 3330 V
- (26272)210 648 A
- 1404(*/)S
- 3420 V
- (26273)210 648 A
- 1362(if)S
- 1488(()S
- ((bits)210 1572 A
- 1824(&)S
- (I_TYPE))294 1908 A
- 2244(==)S
- (I_DIRECTORY)462 2370 A
- 2874(||)S
- 3510 V
- (26274)210 648 A
- (bits)168 1572 A
- 1782(&)S
- (((X_BIT)294 1866 A
- 2202(<<)S
- 2328(6))S
- 2454(|)S
- ((X_BIT)252 2538 A
- 2832(<<)S
- 2958(3))S
- 3084(|)S
- (X_BIT)))294 3168 A
- 3600 V
- (26275)210 648 A
- (perm_bits)378 1698 A
- 2118(=)S
- (R_BIT)210 2202 A
- 2454(|)S
- (W_BIT)210 2538 A
- 2790(|)S
- (X_BIT;)252 2874 A
- 3690 V
- (26276)210 648 A
- (else)168 1362 A
- 3780 V
- (26277)210 648 A
- (perm_bits)378 1698 A
- 2118(=)S
- (R_BIT)210 2202 A
- 2454(|)S
- (W_BIT;)252 2538 A
- 3870 V
- (26278)210 648 A
- 1110(})S
- (else)168 1194 A
- 1404({)S
- 3960 V
- (26279)210 648 A
- 1362(if)S
- ((test_uid)378 1488 A
- 1908(==)S
- (rip->i_uid))462 2034 A
- (shift)210 2538 A
- 2790(=)S
- 2874(6;)S
- 3378(/*)S
- (owner)210 3504 A
- 3756(*/)S
- 4050 V
- (26280)210 648 A
- (else)168 1362 A
- 1572(if)S
- ((test_gid)378 1698 A
- 2118(==)S
- (rip->i_gid)420 2244 A
- 2706())S
- (shift)210 2790 A
- 3042(=)S
- 3126(3;)S
- 3378(/*)S
- (group)210 3504 A
- 3756(*/)S
- 4140 V
- (26281)210 648 A
- (else)168 1362 A
- (shift)210 1572 A
- 1824(=)S
- 1908(0;)S
- 3378(/*)S
- (other)210 3504 A
- 3756(*/)S
- 4230 V
- (26282)210 648 A
- (perm_bits)378 1362 A
- 1782(=)S
- ((bits)210 1866 A
- 2118(>>)S
- (shift))252 2244 A
- 2538(&)S
- ((R_BIT)252 2622 A
- 2916(|)S
- (W_BIT)210 3000 A
- 3252(|)S
- (X_BIT);)294 3336 A
- 4320 V
- (26283)210 648 A
- 1110(})S
- 4410 V
- (26284)210 648 A
- 4500 V
- (26285)210 648 A
- 1110(/*)S
- 1236(If)S
- (access)252 1362 A
- (desired)294 1656 A
- 1992(is)S
- (not)126 2118 A
- 2286(a)S
- (subset)252 2370 A
- 2664(of)S
- (what)168 2790 A
- 3000(is)S
- (allowed,)336 3126 A
- 3504(it)S
- 3630(is)S
- (refused.)336 3756 A
- 4134(*/)S
- 4590 V
- (26286)210 648 A
- 1110(r)S
- 1194(=)S
- (OK;)126 1278 A
- 4680 V
- (26287)210 648 A
- 1110(if)S
- (((perm_bits)462 1236 A
- 1740(|)S
- (access_desired))630 1824 A
- 2496(!=)S
- (perm_bits))420 2622 A
- 3084(r)S
- 3168(=)S
- (EACCES;)294 3252 A
- 4770 V
- (26288)210 648 A
- 4860 V
- (26289)210 648 A
- 1110(/*)S
- (Check)210 1236 A
- 1488(to)S
- (see)126 1614 A
- 1782(if)S
- (someone)294 1908 A
- 2244(is)S
- (trying)252 2370 A
- 2664(to)S
- (write)210 2790 A
- 3042(on)S
- 3168(a)S
- (file)168 3252 A
- (system)252 3462 A
- (that)168 3756 A
- 3966(is)S
- 4950 V
- (26290)210 648 A
- 1152(*)S
- (mounted)294 1236 A
- (read-only.)420 1572 A
- 5040 V
- (26291)210 648 A
- 1152(*/)S
- 5130 V
- (26292)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(==)S
- (OK))126 1488 A
- 5220 V
- (26293)210 648 A
- 1362(if)S
- ((access_desired)630 1488 A
- 2160(&)S
- (W_BIT))252 2244 A
- 2538(r)S
- 2622(=)S
- (read_only(rip);)630 2706 A
- 5310 V
- (26294)210 648 A
- 5400 V
- (26295)210 648 A
- 1110(if)S
- ((rip)168 1236 A
- 1446(!=)S
- (old_rip))336 1572 A
- (put_inode(rip);)630 1950 A
- 5490 V
- (26296)210 648 A
- 5580 V
- (26297)210 648 A
- (return(r);)420 1110 A
- 5670 V
- (26298)210 648 A
- 1026(})S
- 5940 V
- (26301)210 648 A
- (/*===========================================================================*)3276 1026 A
- 6030 V
- (26302)210 648 A
- 1068(*)S
- (read_only)378 2370 A
- 4260(*)S
- 6120 V
- (26303)210 648 A
- (*===========================================================================*/)3276 1068 A
- 6210 V
- (26304)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (read_only(ip))546 1488 A
- 8418 V
- EP
- %%Page: 364 364
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (364)180 648 A
- 11 R
- 2092(File:)S
- 2325(src/fs/protect.c)S
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 900 V
- 7 LST
- (26305)210 648 A
- (struct)252 1026 A
- (inode)210 1320 A
- (*ip;)168 1572 A
- 2370(/*)S
- (ptr)126 2496 A
- 2664(to)S
- (inode)210 2790 A
- (whose)210 3042 A
- (file)168 3294 A
- (sys)126 3504 A
- 3672(is)S
- 3798(to)S
- 3924(be)S
- (cked)168 4050 A
- 4260(*/)S
- 990 V
- (26306)210 648 A
- 1026({)S
- 1080 V
- (26307)210 648 A
- 1026(/*)S
- (Check)210 1152 A
- 1404(to)S
- (see)126 1530 A
- 1698(if)S
- (the)126 1824 A
- (file)168 1992 A
- (system)252 2202 A
- 2496(on)S
- (which)210 2622 A
- (the)126 2874 A
- (inode)210 3042 A
- ('ip')168 3294 A
- (resides)294 3504 A
- 3840(is)S
- (mounted)294 3966 A
- 1170 V
- (26308)210 648 A
- 1068(*)S
- (read)168 1152 A
- (only.)210 1362 A
- 1656(If)S
- (so,)126 1782 A
- (return)252 1950 A
- (EROFS,)252 2244 A
- (else)168 2538 A
- (return)252 2748 A
- (OK.)126 3042 A
- 1260 V
- (26309)210 648 A
- 1068(*/)S
- 1350 V
- (26310)210 648 A
- 1440 V
- (26311)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (super_block)462 1782 A
- (*sp;)168 2286 A
- 1530 V
- (26312)210 648 A
- 1620 V
- (26313)210 648 A
- 1110(sp)S
- 1236(=)S
- (ip->i_sp;)378 1320 A
- 1710 V
- (26314)210 648 A
- (return(sp->s_rd_only)840 1110 A
- 1992(?)S
- (EROFS)210 2076 A
- 2328(:)S
- (OK);)168 2412 A
- 1800 V
- (26315)210 648 A
- 1026(})S
- 2340 V
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 2430 V
- (src/fs/time.c)546 2034 A
- 2520 V
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 2700 V
- (26400)210 648 A
- 1026(/*)S
- (This)168 1152 A
- (file)168 1362 A
- (takes)210 1572 A
- (care)168 1824 A
- 2034(of)S
- (those)210 2160 A
- (system)252 2412 A
- (calls)210 2706 A
- (that)168 2958 A
- (deal)168 3168 A
- (with)168 3378 A
- (time.)210 3588 A
- 2790 V
- (26401)210 648 A
- 1068(*)S
- 2880 V
- (26402)210 648 A
- 1068(*)S
- (The)126 1152 A
- (entry)210 1320 A
- (points)252 1572 A
- (into)168 1866 A
- (this)168 2076 A
- (file)168 2286 A
- (are)126 2496 A
- 2970 V
- (26403)210 648 A
- 1068(*)S
- (do_utime:)378 1236 A
- (perform)294 1698 A
- (the)126 2034 A
- (UTIME)210 2202 A
- (system)252 2454 A
- (call)168 2748 A
- 3060 V
- (26404)210 648 A
- 1068(*)S
- (do_time:)336 1236 A
- (perform)294 1698 A
- (the)126 2034 A
- (TIME)168 2202 A
- (system)252 2412 A
- (call)168 2706 A
- 3150 V
- (26405)210 648 A
- 1068(*)S
- (do_stime:)378 1236 A
- (perform)294 1698 A
- (the)126 2034 A
- (STIME)210 2202 A
- (system)252 2454 A
- (call)168 2748 A
- 3240 V
- (26406)210 648 A
- 1068(*)S
- (do_tims:)336 1236 A
- (perform)294 1698 A
- (the)126 2034 A
- (TIMES)210 2202 A
- (system)252 2454 A
- (call)168 2748 A
- 3330 V
- (26407)210 648 A
- 1068(*/)S
- 3420 V
- (26408)210 648 A
- 3510 V
- (26409)210 648 A
- (#include)336 1026 A
- ("fs.h")252 1404 A
- 3600 V
- (26410)210 648 A
- (#include)336 1026 A
- (<minix/callnr.h>)672 1404 A
- 3690 V
- (26411)210 648 A
- (#include)336 1026 A
- (<minix/com.h>)546 1404 A
- 3780 V
- (26412)210 648 A
- (#include)336 1026 A
- ("file.h")336 1404 A
- 3870 V
- (26413)210 648 A
- (#include)336 1026 A
- ("fproc.h")378 1404 A
- 3960 V
- (26414)210 648 A
- (#include)336 1026 A
- ("inode.h")378 1404 A
- 4050 V
- (26415)210 648 A
- (#include)336 1026 A
- ("param.h")378 1404 A
- 4140 V
- (26416)210 648 A
- 4230 V
- (26417)210 648 A
- (PRIVATE)294 1026 A
- (message)294 1362 A
- (clock_mess;)462 1698 A
- 4320 V
- (26418)210 648 A
- 4410 V
- (26419)210 648 A
- (/*===========================================================================*)3276 1026 A
- 4500 V
- (26420)210 648 A
- 1068(*)S
- (do_utime)336 2370 A
- 4260(*)S
- 4590 V
- (26421)210 648 A
- (*===========================================================================*/)3276 1068 A
- 4680 V
- (26422)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_utime())420 1488 A
- 4770 V
- (26423)210 648 A
- 1026({)S
- 4860 V
- (26424)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (utime(name,)462 1656 A
- (timep))252 2160 A
- (system)252 2454 A
- (call.)210 2748 A
- 3000(*/)S
- 4950 V
- (26425)210 648 A
- 5040 V
- (26426)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (inode)210 1782 A
- (*rip;)210 2034 A
- 5130 V
- (26427)210 648 A
- (register)336 1110 A
- (int)126 1488 A
- (len,)168 1656 A
- 1866(r;)S
- 5220 V
- (26428)210 648 A
- 5310 V
- (26429)210 648 A
- 1110(/*)S
- (Adjust)252 1236 A
- (for)126 1530 A
- (case)168 1698 A
- 1908(of)S
- (NULL)168 2034 A
- ('timep'.)336 2244 A
- 2622(*/)S
- 5400 V
- (26430)210 648 A
- (len)126 1110 A
- 1278(=)S
- (utime_length;)546 1362 A
- 5490 V
- (26431)210 648 A
- 1110(if)S
- ((len)168 1236 A
- 1446(==)S
- 1572(0))S
- (len)126 1698 A
- 1866(=)S
- (m.m2_i2;)336 1950 A
- 5580 V
- (26432)210 648 A
- 5670 V
- (26433)210 648 A
- 1110(/*)S
- (Temporarily)462 1236 A
- (open)168 1740 A
- (the)126 1950 A
- (file.)210 2118 A
- 2370(*/)S
- 5760 V
- (26434)210 648 A
- 1110(if)S
- ((fetch_name(utime_file,)966 1236 A
- (len,)168 2244 A
- (M1))126 2454 A
- 2622(!=)S
- (OK))126 2748 A
- (return(err_code);)714 2916 A
- 5850 V
- (26435)210 648 A
- 1110(if)S
- 1236(()S
- ((rip)168 1320 A
- 1530(=)S
- (eat_path(user_path)))840 1614 A
- 2496(==)S
- (NIL_INODE))420 2622 A
- (return(err_code);)714 3084 A
- 5940 V
- (26436)210 648 A
- 6030 V
- (26437)210 648 A
- 1110(/*)S
- (Only)168 1236 A
- (the)126 1446 A
- (owner)210 1614 A
- 1866(of)S
- 1992(a)S
- (file)168 2076 A
- 2286(or)S
- (the)126 2412 A
- (super_user)420 2580 A
- (can)126 3042 A
- (change)252 3210 A
- (its)126 3504 A
- (time.)210 3672 A
- 3924(*/)S
- 6120 V
- (26438)210 648 A
- 1110(r)S
- 1194(=)S
- (OK;)126 1278 A
- 6210 V
- (26439)210 648 A
- 1110(if)S
- ((rip->i_uid)462 1236 A
- 1740(!=)S
- (fp->fp_effuid)546 1866 A
- 2454(&&)S
- (!super_user))504 2580 A
- 3126(r)S
- 3210(=)S
- (EPERM;)252 3294 A
- 8418 V
- EP
- %%Page: 365 365
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2147(File:)S
- (src/fs/time.c)548 2380 A
- 12 B
- (365)180 4248 A
- 900 V
- 7 LST
- (26440)210 648 A
- 1110(if)S
- ((utime_length)546 1236 A
- 1824(==)S
- 1950(0)S
- 2034(&&)S
- 2160(r)S
- 2244(!=)S
- (OK))126 2370 A
- 2538(r)S
- 2622(=)S
- (forbidden(rip,)588 2706 A
- (W_BIT);)294 3336 A
- 990 V
- (26441)210 648 A
- 1110(if)S
- ((read_only(rip))630 1236 A
- 1908(!=)S
- (OK))126 2034 A
- 2202(r)S
- 2286(=)S
- (EROFS;)252 2370 A
- 2706(/*)S
- (not)126 2832 A
- (even)168 3000 A
- 3210(su)S
- (can)126 3336 A
- (touch)210 3504 A
- 3756(if)S
- (R/O)126 3882 A
- 4050(*/)S
- 1080 V
- (26442)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(==)S
- (OK))126 1488 A
- 1656({)S
- 1170 V
- (26443)210 648 A
- 1362(if)S
- ((utime_length)546 1488 A
- 2076(==)S
- 2202(0))S
- 2328({)S
- 1260 V
- (26444)210 648 A
- (rip->i_atime)504 1698 A
- 2244(=)S
- (clock_time();)546 2328 A
- 1350 V
- (26445)210 648 A
- (rip->i_mtime)504 1698 A
- 2244(=)S
- (rip->i_atime;)546 2328 A
- 1440 V
- (26446)210 648 A
- 1362(})S
- (else)168 1446 A
- 1656({)S
- 1530 V
- (26447)210 648 A
- (rip->i_atime)504 1698 A
- 2244(=)S
- (utime_actime;)546 2328 A
- 1620 V
- (26448)210 648 A
- (rip->i_mtime)504 1698 A
- 2244(=)S
- (utime_modtime;)588 2328 A
- 1710 V
- (26449)210 648 A
- 1362(})S
- 1800 V
- (26450)210 648 A
- (rip->i_update)546 1362 A
- 1950(=)S
- (CTIME;)252 2034 A
- 2370(/*)S
- (discard)294 2496 A
- (any)126 2832 A
- (stale)210 3000 A
- (ATIME)210 3252 A
- (and)126 3504 A
- (MTIME)210 3672 A
- (flags)210 3924 A
- 4176(*/)S
- 1890 V
- (26451)210 648 A
- (rip->i_dirt)462 1362 A
- 1866(=)S
- (DIRTY;)252 1950 A
- 1980 V
- (26452)210 648 A
- 1110(})S
- 2070 V
- (26453)210 648 A
- 2160 V
- (26454)210 648 A
- (put_inode(rip);)630 1110 A
- 2250 V
- (26455)210 648 A
- (return(r);)420 1110 A
- 2340 V
- (26456)210 648 A
- 1026(})S
- 2610 V
- (26459)210 648 A
- (/*===========================================================================*)3276 1026 A
- 2700 V
- (26460)210 648 A
- 1068(*)S
- (do_time)294 2370 A
- 4260(*)S
- 2790 V
- (26461)210 648 A
- (*===========================================================================*/)3276 1068 A
- 2880 V
- (26462)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_time())378 1488 A
- 2970 V
- (26463)210 648 A
- 3060 V
- (26464)210 648 A
- 1026({)S
- 3150 V
- (26465)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (time(tp))336 1656 A
- (system)252 2034 A
- (call.)210 2328 A
- 2580(*/)S
- 3240 V
- (26466)210 648 A
- 3330 V
- (26467)210 648 A
- (reply_l1)336 1110 A
- 1488(=)S
- (clock_time();)546 1572 A
- 2370(/*)S
- (return)252 2496 A
- (time)168 2790 A
- 3000(in)S
- (seconds)294 3126 A
- 3462(*/)S
- 3420 V
- (26468)210 648 A
- (return(OK);)462 1110 A
- 3510 V
- (26469)210 648 A
- 1026(})S
- 3780 V
- (26472)210 648 A
- (/*===========================================================================*)3276 1026 A
- 3870 V
- (26473)210 648 A
- 1068(*)S
- (do_stime)336 2370 A
- 4260(*)S
- 3960 V
- (26474)210 648 A
- (*===========================================================================*/)3276 1068 A
- 4050 V
- (26475)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_stime())420 1488 A
- 4140 V
- (26476)210 648 A
- 1026({)S
- 4230 V
- (26477)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (stime(tp))378 1656 A
- (system)252 2076 A
- (call.)210 2370 A
- 2622(*/)S
- 4320 V
- (26478)210 648 A
- 4410 V
- (26479)210 648 A
- (register)336 1110 A
- (int)126 1488 A
- 1656(k;)S
- 4500 V
- (26480)210 648 A
- 4590 V
- (26481)210 648 A
- 1110(if)S
- ((!super_user))546 1236 A
- (return(EPERM);)588 1824 A
- 4680 V
- (26482)210 648 A
- (clock_mess.m_type)714 1110 A
- 1866(=)S
- (SET_TIME;)378 1950 A
- 4770 V
- (26483)210 648 A
- (clock_mess.NEW_TIME)798 1110 A
- 1950(=)S
- ((long))252 2034 A
- (tp;)126 2328 A
- 4860 V
- (26484)210 648 A
- 1110(if)S
- 1236(()S
- 1320((k)S
- 1446(=)S
- (sendrec(CLOCK,)588 1530 A
- (&clock_mess)))546 2160 A
- 2748(!=)S
- (OK))126 2874 A
- (panic("do_stime)630 3042 A
- (error",)294 3714 A
- (k);)126 4050 A
- 4950 V
- (26485)210 648 A
- (return(OK);)462 1110 A
- 5040 V
- (26486)210 648 A
- 1026(})S
- 5310 V
- (26489)210 648 A
- (/*===========================================================================*)3276 1026 A
- 5400 V
- (26490)210 648 A
- 1068(*)S
- (do_tims)294 2370 A
- 4260(*)S
- 5490 V
- (26491)210 648 A
- (*===========================================================================*/)3276 1068 A
- 5580 V
- (26492)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_tims())378 1488 A
- 5670 V
- (26493)210 648 A
- 1026({)S
- 5760 V
- (26494)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (times(buffer))546 1656 A
- (system)252 2244 A
- (call.)210 2538 A
- 2790(*/)S
- 5850 V
- (26495)210 648 A
- 5940 V
- (26496)210 648 A
- (clock_t)294 1110 A
- (t[5];)210 1446 A
- 6030 V
- (26497)210 648 A
- 6120 V
- (26498)210 648 A
- (sys_times(who,)588 1110 A
- (t);)126 1740 A
- 6210 V
- (26499)210 648 A
- (reply_t1)336 1110 A
- 1488(=)S
- (t[0];)210 1572 A
- 8418 V
- EP
- %%Page: 366 366
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (366)180 648 A
- 11 R
- 2147(File:)S
- (src/fs/time.c)548 2380 A
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 900 V
- 7 LST
- (26500)210 648 A
- (reply_t2)336 1110 A
- 1488(=)S
- (t[1];)210 1572 A
- 990 V
- (26501)210 648 A
- (reply_t3)336 1110 A
- 1488(=)S
- (t[2];)210 1572 A
- 1080 V
- (26502)210 648 A
- (reply_t4)336 1110 A
- 1488(=)S
- (t[3];)210 1572 A
- 1170 V
- (26503)210 648 A
- (reply_t5)336 1110 A
- 1488(=)S
- (t[4];)210 1572 A
- 1260 V
- (26504)210 648 A
- (return(OK);)462 1110 A
- 1350 V
- (26505)210 648 A
- 1026(})S
- 1890 V
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 1980 V
- (src/fs/misc.c)546 2034 A
- 2070 V
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 2250 V
- (26600)210 648 A
- 1026(/*)S
- (This)168 1152 A
- (file)168 1362 A
- (contains)336 1572 A
- 1950(a)S
- (collection)420 2034 A
- 2496(of)S
- (miscellaneous)546 2622 A
- (procedures.)462 3210 A
- (Some)168 3756 A
- 3966(of)S
- (them)168 4092 A
- 2340 V
- (26601)210 648 A
- 1068(*)S
- (perform)294 1152 A
- (simple)252 1488 A
- (system)252 1782 A
- (calls.)252 2076 A
- (Some)168 2412 A
- (others)252 2622 A
- 2916(do)S
- 3042(a)S
- (little)252 3126 A
- (part)168 3420 A
- 3630(of)S
- (system)252 3756 A
- (calls)210 4050 A
- 2430 V
- (26602)210 648 A
- 1068(*)S
- (that)168 1152 A
- (are)126 1362 A
- (mostly)252 1530 A
- (performed)378 1824 A
- 2244(by)S
- (the)126 2370 A
- (Memory)252 2538 A
- (Manager.)336 2832 A
- 2520 V
- (26603)210 648 A
- 1068(*)S
- 2610 V
- (26604)210 648 A
- 1068(*)S
- (The)126 1152 A
- (entry)210 1320 A
- (points)252 1572 A
- (into)168 1866 A
- (this)168 2076 A
- (file)168 2286 A
- (are)126 2496 A
- 2700 V
- (26605)210 648 A
- 1068(*)S
- (do_dup:)294 1236 A
- (perform)294 1782 A
- (the)126 2118 A
- (DUP)126 2286 A
- (system)252 2454 A
- (call)168 2748 A
- 2790 V
- (26606)210 648 A
- 1068(*)S
- (do_fcntl:)378 1236 A
- (perform)294 1782 A
- (the)126 2118 A
- (FCNTL)210 2286 A
- (system)252 2538 A
- (call)168 2832 A
- 2880 V
- (26607)210 648 A
- 1068(*)S
- (do_sync:)336 1236 A
- (perform)294 1782 A
- (the)126 2118 A
- (SYNC)168 2286 A
- (system)252 2496 A
- (call)168 2790 A
- 2970 V
- (26608)210 648 A
- 1068(*)S
- (do_fork:)336 1236 A
- (adjust)252 1782 A
- (the)126 2076 A
- (tables)252 2244 A
- (after)210 2538 A
- 2790(MM)S
- (has)126 2916 A
- (performed)378 3084 A
- 3504(a)S
- (FORK)168 3588 A
- (system)252 3798 A
- (call)168 4092 A
- 3060 V
- (26609)210 648 A
- 1068(*)S
- (do_exec:)336 1236 A
- (handle)252 1782 A
- (files)210 2076 A
- (with)168 2328 A
- (FD_CLOEXEC)420 2538 A
- 3000(on)S
- (after)210 3126 A
- 3378(MM)S
- (has)126 3504 A
- (done)168 3672 A
- 3882(an)S
- (EXEC)168 4008 A
- 3150 V
- (26610)210 648 A
- 1068(*)S
- (do_exit:)336 1236 A
- 1782(a)S
- (process)294 1866 A
- (has)126 2202 A
- (exited;)294 2370 A
- (note)168 2706 A
- (that)168 2916 A
- 3126(in)S
- (the)126 3252 A
- (tables)252 3420 A
- 3240 V
- (26611)210 648 A
- 1068(*)S
- (do_set:)294 1236 A
- (set)126 1782 A
- (uid)126 1950 A
- 2118(or)S
- (gid)126 2244 A
- (for)126 2412 A
- (some)168 2580 A
- (process)294 2790 A
- 3330 V
- (26612)210 648 A
- 1068(*)S
- (do_revive:)420 1236 A
- (revive)252 1782 A
- 2076(a)S
- (process)294 2160 A
- (that)168 2496 A
- (was)126 2706 A
- (waiting)294 2874 A
- (for)126 3210 A
- (something)378 3378 A
- ((e.g.)210 3798 A
- (TTY))168 4050 A
- 3420 V
- (26613)210 648 A
- 1068(*/)S
- 3510 V
- (26614)210 648 A
- 3600 V
- (26615)210 648 A
- (#include)336 1026 A
- ("fs.h")252 1404 A
- 3690 V
- (26616)210 648 A
- (#include)336 1026 A
- (<fcntl.h>)378 1404 A
- 3780 V
- (26617)210 648 A
- (#include)336 1026 A
- (<unistd.h>)420 1404 A
- 2034(/*)S
- 2160(cc)S
- (runs)168 2286 A
- (out)126 2496 A
- 2664(of)S
- (memory)252 2790 A
- (with)168 3084 A
- (unistd.h)336 3294 A
- (:-()126 3672 A
- 3840(*/)S
- 3870 V
- (26618)210 648 A
- (#include)336 1026 A
- (<minix/callnr.h>)672 1404 A
- 3960 V
- (26619)210 648 A
- (#include)336 1026 A
- (<minix/com.h>)546 1404 A
- 4050 V
- (26620)210 648 A
- (#include)336 1026 A
- (<minix/boot.h>)588 1404 A
- 4140 V
- (26621)210 648 A
- (#include)336 1026 A
- ("buf.h")294 1404 A
- 4230 V
- (26622)210 648 A
- (#include)336 1026 A
- ("file.h")336 1404 A
- 4320 V
- (26623)210 648 A
- (#include)336 1026 A
- ("fproc.h")378 1404 A
- 4410 V
- (26624)210 648 A
- (#include)336 1026 A
- ("inode.h")378 1404 A
- 4500 V
- (26625)210 648 A
- (#include)336 1026 A
- ("dev.h")294 1404 A
- 4590 V
- (26626)210 648 A
- (#include)336 1026 A
- ("param.h")378 1404 A
- 4680 V
- (26627)210 648 A
- 4770 V
- (26628)210 648 A
- 4860 V
- (26629)210 648 A
- (/*===========================================================================*)3276 1026 A
- 4950 V
- (26630)210 648 A
- 1068(*)S
- (do_dup)252 2370 A
- 4260(*)S
- 5040 V
- (26631)210 648 A
- (*===========================================================================*/)3276 1068 A
- 5130 V
- (26632)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_dup())336 1488 A
- 5220 V
- (26633)210 648 A
- 1026({)S
- 5310 V
- (26634)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (dup(fd))294 1656 A
- 1992(or)S
- (dup2(fd,fd2))504 2118 A
- (system)252 2664 A
- (call.)210 2958 A
- (These)210 3210 A
- (system)252 3462 A
- (calls)210 3756 A
- (are)126 4008 A
- 5400 V
- (26635)210 648 A
- 1068(*)S
- (obsolete.)378 1152 A
- 1614(In)S
- (fact,)210 1740 A
- 1992(it)S
- 2118(is)S
- (not)126 2244 A
- (even)168 2412 A
- (possible)336 2622 A
- 3000(to)S
- (invoke)252 3126 A
- (them)168 3420 A
- (using)210 3630 A
- (the)126 3882 A
- 5490 V
- (26636)210 648 A
- 1068(*)S
- (current)294 1152 A
- (library)294 1488 A
- (because)294 1824 A
- (the)126 2160 A
- (library)294 2328 A
- (routines)336 2664 A
- (call)168 3042 A
- (fcntl().)336 3252 A
- (They)168 3672 A
- (are)126 3882 A
- 5580 V
- (26637)210 648 A
- 1068(*)S
- (provided)336 1152 A
- 1530(to)S
- (permit)252 1656 A
- (old)126 1950 A
- (binary)252 2118 A
- (programs)336 2412 A
- 2790(to)S
- (continue)336 2916 A
- 3294(to)S
- (run.)168 3420 A
- 5670 V
- (26638)210 648 A
- 1068(*/)S
- 5760 V
- (26639)210 648 A
- 5850 V
- (26640)210 648 A
- (register)336 1110 A
- (int)126 1488 A
- (rfd;)168 1656 A
- 5940 V
- (26641)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (filp)168 1782 A
- (*f;)126 1992 A
- 6030 V
- (26642)210 648 A
- (struct)252 1110 A
- (filp)168 1404 A
- (*dummy;)294 1614 A
- 6120 V
- (26643)210 648 A
- (int)126 1110 A
- 1278(r;)S
- 6210 V
- (26644)210 648 A
- 8418 V
- EP
- %%Page: 367 367
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2141(File:)S
- 2374(src/fs/misc.c)S
- 12 B
- (367)180 4248 A
- 900 V
- 7 LST
- (26645)210 648 A
- 1110(/*)S
- 1236(Is)S
- (the)126 1362 A
- (file)168 1530 A
- (descriptor)420 1740 A
- (valid?)252 2202 A
- 2496(*/)S
- 990 V
- (26646)210 648 A
- (rfd)126 1110 A
- 1278(=)S
- 1362(fd)S
- 1488(&)S
- (304DUP_MASK;)420 1572 A
- 2370(/*)S
- (kill)168 2496 A
- (off)126 2706 A
- (dup2)168 2874 A
- (bit,)168 3084 A
- 3294(if)S
- 3420(on)S
- 3546(*/)S
- 1080 V
- (26647)210 648 A
- 1110(if)S
- (((f)126 1236 A
- 1404(=)S
- (get_filp(rfd)))588 1488 A
- 2118(==)S
- (NIL_FILP))378 2244 A
- (return(err_code);)714 2664 A
- 1170 V
- (26648)210 648 A
- 1260 V
- (26649)210 648 A
- 1110(/*)S
- (Distinguish)462 1236 A
- (between)294 1740 A
- (dup)126 2076 A
- (and)126 2244 A
- (dup2.)210 2412 A
- 2664(*/)S
- 1350 V
- (26650)210 648 A
- 1110(if)S
- ((fd)126 1236 A
- 1404(==)S
- (rfd))168 1530 A
- 1740({)S
- 2706(/*)S
- (bit)126 2832 A
- (not)126 3000 A
- 3168(on)S
- 3294(*/)S
- 1440 V
- (26651)210 648 A
- 1362(/*)S
- (dup(fd))294 1488 A
- 1824(*/)S
- 1530 V
- (26652)210 648 A
- 1362(if)S
- 1488(()S
- 1572((r)S
- 1698(=)S
- (get_fd(0,)378 1782 A
- 2202(0,)S
- (&fd2,)210 2328 A
- (&dummy)))336 2580 A
- 2958(!=)S
- (OK))126 3084 A
- (return(r);)420 3252 A
- 1620 V
- (26653)210 648 A
- 1110(})S
- (else)168 1194 A
- 1404({)S
- 1710 V
- (26654)210 648 A
- 1362(/*)S
- (dup2(fd,)336 1488 A
- (fd2))168 1866 A
- 2076(*/)S
- 1800 V
- (26655)210 648 A
- 1362(if)S
- ((fd2)168 1488 A
- 1698(<)S
- 1782(0)S
- 1866(||)S
- (fd2)126 1992 A
- 2160(>=)S
- (OPEN_MAX))378 2286 A
- (return(EBADF);)588 2706 A
- 1890 V
- (26656)210 648 A
- 1362(if)S
- ((rfd)168 1488 A
- 1698(==)S
- (fd2))168 1824 A
- (return(fd2);)504 2034 A
- 2706(/*)S
- (ignore)252 2832 A
- (the)126 3126 A
- (call:)210 3294 A
- (dup2(x,)294 3546 A
- 3882(x))S
- 4008(*/)S
- 1980 V
- (26657)210 648 A
- 1362(fd)S
- 1488(=)S
- (fd2;)168 1572 A
- 2370(/*)S
- (prepare)294 2496 A
- 2832(to)S
- (close)210 2958 A
- (fd2)126 3210 A
- 3378(*/)S
- 2070 V
- (26658)210 648 A
- ((void))252 1362 A
- (do_close();)462 1656 A
- 2370(/*)S
- (cannot)252 2496 A
- (fail)168 2790 A
- 3000(*/)S
- 2160 V
- (26659)210 648 A
- 1110(})S
- 2250 V
- (26660)210 648 A
- 2340 V
- (26661)210 648 A
- 1110(/*)S
- (Success.)336 1236 A
- (Set)126 1614 A
- 1782(up)S
- (new)126 1908 A
- (file)168 2076 A
- (descriptors.)504 2286 A
- 2832(*/)S
- 2430 V
- (26662)210 648 A
- (f->filp_count++;)672 1110 A
- 2520 V
- (26663)210 648 A
- (fp->fp_filp[fd2])672 1110 A
- 1824(=)S
- 1908(f;)S
- 2610 V
- (26664)210 648 A
- (return(fd2);)504 1110 A
- 2700 V
- (26665)210 648 A
- 1026(})S
- 2880 V
- (26667)210 648 A
- (/*===========================================================================*)3276 1026 A
- 2970 V
- (26668)210 648 A
- 1068(*)S
- (do_fcntl)336 2370 A
- 4260(*)S
- 3060 V
- (26669)210 648 A
- (*===========================================================================*/)3276 1068 A
- 3150 V
- (26670)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_fcntl())420 1488 A
- 3240 V
- (26671)210 648 A
- 1026({)S
- 3330 V
- (26672)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (fcntl(fd,)378 1656 A
- (request,)336 2076 A
- (...))168 2454 A
- (system)252 2664 A
- (call.)210 2958 A
- 3210(*/)S
- 3420 V
- (26673)210 648 A
- 3510 V
- (26674)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (filp)168 1782 A
- (*f;)126 1992 A
- 3600 V
- (26675)210 648 A
- (int)126 1110 A
- (new_fd,)294 1278 A
- 1614(r,)S
- (fl;)126 1740 A
- 3690 V
- (26676)210 648 A
- (long)168 1110 A
- (cloexec_mask;)546 1320 A
- 2370(/*)S
- (bit)126 2496 A
- (map)126 2664 A
- (for)126 2832 A
- (the)126 3000 A
- (FD_CLOEXEC)420 3168 A
- (flag)168 3630 A
- 3840(*/)S
- 3780 V
- (26677)210 648 A
- (long)168 1110 A
- (clo_value;)420 1320 A
- 2370(/*)S
- (FD_CLOEXEC)420 2496 A
- (flag)168 2958 A
- 3168(in)S
- (proper)252 3294 A
- (position)336 3588 A
- 3966(*/)S
- 3870 V
- (26678)210 648 A
- (struct)252 1110 A
- (filp)168 1404 A
- (*dummy;)294 1614 A
- 3960 V
- (26679)210 648 A
- 4050 V
- (26680)210 648 A
- 1110(/*)S
- 1236(Is)S
- (the)126 1362 A
- (file)168 1530 A
- (descriptor)420 1740 A
- (valid?)252 2202 A
- 2496(*/)S
- 4140 V
- (26681)210 648 A
- 1110(if)S
- (((f)126 1236 A
- 1404(=)S
- (get_filp(fd)))546 1488 A
- 2076(==)S
- (NIL_FILP))378 2202 A
- (return(err_code);)714 2622 A
- 4230 V
- (26682)210 648 A
- 4320 V
- (26683)210 648 A
- (switch)252 1110 A
- ((request))378 1404 A
- 1824({)S
- 4410 V
- (26684)210 648 A
- (case)168 1236 A
- (F_DUPFD:)336 1446 A
- 4500 V
- (26685)210 648 A
- 1362(/*)S
- (This)168 1488 A
- (replaces)336 1698 A
- (the)126 2076 A
- (old)126 2244 A
- (dup())210 2412 A
- (system)252 2664 A
- (call.)210 2958 A
- 3210(*/)S
- 4590 V
- (26686)210 648 A
- 1362(if)S
- ((addr)210 1488 A
- 1740(<)S
- 1824(0)S
- 1908(||)S
- (addr)168 2034 A
- 2244(>=)S
- (OPEN_MAX))378 2370 A
- (return(EINVAL);)630 2790 A
- 4680 V
- (26687)210 648 A
- 1362(if)S
- (((r)126 1488 A
- 1656(=)S
- (get_fd(addr,)504 1740 A
- 2286(0,)S
- (&new_fd,)336 2412 A
- (&dummy)))336 2790 A
- 3168(!=)S
- (OK))126 3294 A
- (return(r);)420 3462 A
- 4770 V
- (26688)210 648 A
- (f->filp_count++;)672 1362 A
- 4860 V
- (26689)210 648 A
- (fp->fp_filp[new_fd])798 1362 A
- 2202(=)S
- 2286(f;)S
- 4950 V
- (26690)210 648 A
- (return(new_fd);)630 1362 A
- 5040 V
- (26691)210 648 A
- 5130 V
- (26692)210 648 A
- (case)168 1236 A
- (F_GETFD:)336 1446 A
- 5220 V
- (26693)210 648 A
- 1362(/*)S
- (Get)126 1488 A
- (close-on-exec)546 1656 A
- (flag)168 2244 A
- ((FD_CLOEXEC)462 2454 A
- 2958(in)S
- (POSIX)210 3084 A
- (Table)210 3336 A
- (6-2).)210 3588 A
- 3840(*/)S
- 5310 V
- (26694)210 648 A
- (return()294 1362 A
- (((fp->fp_cloexec)672 1698 A
- 2412(>>)S
- (fd))126 2538 A
- 2706(&)S
- (01))126 2790 A
- 2958(?)S
- (FD_CLOEXEC)420 3042 A
- 3504(:)S
- (0);)126 3588 A
- 5400 V
- (26695)210 648 A
- 5490 V
- (26696)210 648 A
- (case)168 1236 A
- (F_SETFD:)336 1446 A
- 5580 V
- (26697)210 648 A
- 1362(/*)S
- (Set)126 1488 A
- (close-on-exec)546 1656 A
- (flag)168 2244 A
- ((FD_CLOEXEC)462 2454 A
- 2958(in)S
- (POSIX)210 3084 A
- (Table)210 3336 A
- (6-2).)210 3588 A
- 3840(*/)S
- 5670 V
- (26698)210 648 A
- (cloexec_mask)504 1362 A
- 1908(=)S
- 1992(1L)S
- 2118(<<)S
- (fd;)126 2244 A
- 2706(/*)S
- (singleton)378 2832 A
- (set)126 3252 A
- (position)336 3420 A
- 3798(ok)S
- 3924(*/)S
- 5760 V
- (26699)210 648 A
- (clo_value)378 1362 A
- 1782(=)S
- ((addr)210 1866 A
- 2118(&)S
- (FD_CLOEXEC)420 2202 A
- 2664(?)S
- (cloexec_mask)504 2748 A
- 3294(:)S
- (0L);)168 3378 A
- 5850 V
- (26700)210 648 A
- (fp->fp_cloexec)588 1362 A
- 1992(=)S
- ((fp->fp_cloexec)630 2076 A
- 2748(&)S
- (304cloexec_mask))588 2832 A
- 3462(|)S
- (clo_value;)420 3546 A
- 5940 V
- (26701)210 648 A
- (return(OK);)462 1362 A
- 6030 V
- (26702)210 648 A
- 6120 V
- (26703)210 648 A
- (case)168 1236 A
- (F_GETFL:)336 1446 A
- 6210 V
- (26704)210 648 A
- 1362(/*)S
- (Get)126 1488 A
- (file)168 1656 A
- (status)252 1866 A
- (flags)210 2160 A
- ((O_NONBLOCK)462 2412 A
- (and)126 2916 A
- (O_APPEND).)420 3084 A
- 3546(*/)S
- 8418 V
- EP
- %%Page: 368 368
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (368)180 648 A
- 11 R
- 2141(File:)S
- 2374(src/fs/misc.c)S
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 900 V
- 7 LST
- (26705)210 648 A
- 1362(fl)S
- 1488(=)S
- (f->filp_flags)546 1572 A
- 2160(&)S
- ((O_NONBLOCK)462 2244 A
- 2748(|)S
- (O_APPEND)336 2832 A
- 3210(|)S
- (O_ACCMODE);)462 3294 A
- 990 V
- (26706)210 648 A
- (return(fl);)462 1362 A
- 1080 V
- (26707)210 648 A
- 1170 V
- (26708)210 648 A
- (case)168 1236 A
- (F_SETFL:)336 1446 A
- 1260 V
- (26709)210 648 A
- 1362(/*)S
- (Set)126 1488 A
- (file)168 1656 A
- (status)252 1866 A
- (flags)210 2160 A
- ((O_NONBLOCK)462 2412 A
- (and)126 2916 A
- (O_APPEND).)420 3084 A
- 3546(*/)S
- 1350 V
- (26710)210 648 A
- 1362(fl)S
- 1488(=)S
- (O_NONBLOCK)420 1572 A
- 2034(|)S
- (O_APPEND;)378 2118 A
- 1440 V
- (26711)210 648 A
- (f->filp_flags)546 1362 A
- 1950(=)S
- ((f->filp_flags)588 2034 A
- 2664(&)S
- (304fl))168 2748 A
- 2958(|)S
- ((addr)210 3042 A
- 3294(&)S
- (fl);)168 3378 A
- 1530 V
- (26712)210 648 A
- (return(OK);)462 1362 A
- 1620 V
- (26713)210 648 A
- 1710 V
- (26714)210 648 A
- (case)168 1236 A
- (F_GETLK:)336 1446 A
- 1800 V
- (26715)210 648 A
- (case)168 1236 A
- (F_SETLK:)336 1446 A
- 1890 V
- (26716)210 648 A
- (case)168 1236 A
- (F_SETLKW:)378 1446 A
- 1980 V
- (26717)210 648 A
- 1362(/*)S
- (Set)126 1488 A
- 1656(or)S
- (clear)210 1782 A
- 2034(a)S
- (file)168 2118 A
- (lock.)210 2328 A
- 2580(*/)S
- 2070 V
- (26718)210 648 A
- 1362(r)S
- 1446(=)S
- (lock_op(f,)420 1530 A
- (request);)378 1992 A
- 2160 V
- (26719)210 648 A
- (return(r);)420 1362 A
- 2250 V
- (26720)210 648 A
- 2340 V
- (26721)210 648 A
- (default:)336 1236 A
- 2430 V
- (26722)210 648 A
- (return(EINVAL);)630 1362 A
- 2520 V
- (26723)210 648 A
- 1110(})S
- 2610 V
- (26724)210 648 A
- 1026(})S
- 2880 V
- (26727)210 648 A
- (/*===========================================================================*)3276 1026 A
- 2970 V
- (26728)210 648 A
- 1068(*)S
- (do_sync)294 2370 A
- 4260(*)S
- 3060 V
- (26729)210 648 A
- (*===========================================================================*/)3276 1068 A
- 3150 V
- (26730)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_sync())378 1488 A
- 3240 V
- (26731)210 648 A
- 1026({)S
- 3330 V
- (26732)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (sync())252 1656 A
- (system)252 1950 A
- (call.)210 2244 A
- (Flush)210 2538 A
- (all)126 2790 A
- (the)126 2958 A
- (tables.)294 3126 A
- 3462(*/)S
- 3420 V
- (26733)210 648 A
- 3510 V
- (26734)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (inode)210 1782 A
- (*rip;)210 2034 A
- 3600 V
- (26735)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (buf)126 1782 A
- (*bp;)168 1950 A
- 3690 V
- (26736)210 648 A
- 3780 V
- (26737)210 648 A
- 1110(/*)S
- (The)126 1236 A
- (order)210 1404 A
- 1656(in)S
- (which)210 1782 A
- (the)126 2034 A
- (various)294 2202 A
- (tables)252 2538 A
- (are)126 2832 A
- (flushed)294 3000 A
- 3336(is)S
- (critical.)378 3462 A
- (The)126 3924 A
- 3870 V
- (26738)210 648 A
- 1152(*)S
- (blocks)252 1236 A
- (must)168 1530 A
- 1740(be)S
- (flushed)294 1866 A
- (last,)210 2202 A
- (since)210 2454 A
- (rw_inode())420 2706 A
- (leaves)252 3168 A
- (its)126 3462 A
- (results)294 3630 A
- 3966(in)S
- 3960 V
- (26739)210 648 A
- 1152(*)S
- (the)126 1236 A
- (block)210 1404 A
- (cache.)252 1656 A
- 4050 V
- (26740)210 648 A
- 1152(*/)S
- 4140 V
- (26741)210 648 A
- 4230 V
- (26742)210 648 A
- 1110(/*)S
- (Write)210 1236 A
- (all)126 1488 A
- (the)126 1656 A
- (dirty)210 1824 A
- (inodes)252 2076 A
- 2370(to)S
- (the)126 2496 A
- (disk.)210 2664 A
- 2916(*/)S
- 4320 V
- (26743)210 648 A
- (for)126 1110 A
- ((rip)168 1278 A
- 1488(=)S
- (&inode[0];)420 1572 A
- (rip)126 2034 A
- 2202(<)S
- (&inode[NR_INODES];)756 2286 A
- (rip++))252 3084 A
- 4410 V
- (26744)210 648 A
- 1362(if)S
- ((rip->i_count)546 1488 A
- 2076(>)S
- 2160(0)S
- 2244(&&)S
- (rip->i_dirt)462 2370 A
- 2874(==)S
- (DIRTY))252 3000 A
- (rw_inode(rip,)546 3294 A
- (WRITING);)378 3882 A
- 4500 V
- (26745)210 648 A
- 4590 V
- (26746)210 648 A
- 1110(/*)S
- (Write)210 1236 A
- (all)126 1488 A
- (the)126 1656 A
- (dirty)210 1824 A
- (blocks)252 2076 A
- 2370(to)S
- (the)126 2496 A
- (disk,)210 2664 A
- (one)126 2916 A
- (drive)210 3084 A
- 3336(at)S
- 3462(a)S
- (time.)210 3546 A
- 3798(*/)S
- 4680 V
- (26747)210 648 A
- (for)126 1110 A
- ((bp)126 1278 A
- 1446(=)S
- (&buf[0];)336 1530 A
- 1908(bp)S
- 2034(<)S
- (&buf[NR_BUFS];)588 2118 A
- (bp++))210 2748 A
- 4770 V
- (26748)210 648 A
- 1362(if)S
- ((bp->b_dev)420 1488 A
- 1950(!=)S
- (NO_DEV)252 2076 A
- 2370(&&)S
- (bp->b_dirt)420 2496 A
- 2958(==)S
- (DIRTY))252 3084 A
- (flushall(bp->b_dev);)840 3378 A
- 4860 V
- (26749)210 648 A
- 4950 V
- (26750)210 648 A
- (return(OK);)462 1110 A
- 2034(/*)S
- (sync())252 2160 A
- (can't)210 2454 A
- (fail)168 2706 A
- 2916(*/)S
- 5040 V
- (26751)210 648 A
- 1026(})S
- 5310 V
- (26754)210 648 A
- (/*===========================================================================*)3276 1026 A
- 5400 V
- (26755)210 648 A
- 1068(*)S
- (do_fork)294 2370 A
- 4260(*)S
- 5490 V
- (26756)210 648 A
- (*===========================================================================*/)3276 1068 A
- 5580 V
- (26757)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_fork())378 1488 A
- 5670 V
- (26758)210 648 A
- 1026({)S
- 5760 V
- (26759)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (those)210 1488 A
- (aspects)294 1740 A
- 2076(of)S
- (the)126 2202 A
- (fork())252 2370 A
- (system)252 2664 A
- (call)168 2958 A
- (that)168 3168 A
- (relate)252 3378 A
- 3672(to)S
- (files.)252 3798 A
- 5850 V
- (26760)210 648 A
- 1068(*)S
- 1152(In)S
- (particular,)462 1278 A
- (let)126 1782 A
- (the)126 1950 A
- (child)210 2118 A
- (inherit)294 2370 A
- (its)126 2706 A
- (parent's)336 2874 A
- (file)168 3252 A
- (descriptors.)504 3462 A
- 5940 V
- (26761)210 648 A
- 1068(*)S
- (The)126 1152 A
- (parent)252 1320 A
- (and)126 1614 A
- (child)210 1782 A
- (parameters)420 2034 A
- (tell)168 2496 A
- (who)126 2706 A
- (forked)252 2874 A
- (off)126 3168 A
- (whom.)210 3336 A
- (The)126 3588 A
- (file)168 3756 A
- 6030 V
- (26762)210 648 A
- 1068(*)S
- (system)252 1152 A
- (uses)168 1446 A
- (the)126 1656 A
- (same)168 1824 A
- (slot)168 2034 A
- (numbers)294 2244 A
- 2580(as)S
- (the)126 2706 A
- (kernel.)294 2874 A
- (Only)168 3252 A
- 3462(MM)S
- (makes)210 3588 A
- (this)168 3840 A
- (call.)210 4050 A
- 6120 V
- (26763)210 648 A
- 1068(*/)S
- 6210 V
- (26764)210 648 A
- 8418 V
- EP
- %%Page: 369 369
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2141(File:)S
- 2374(src/fs/misc.c)S
- 12 B
- (369)180 4248 A
- 900 V
- 7 LST
- (26765)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (fproc)210 1782 A
- (*cp;)168 2034 A
- 990 V
- (26766)210 648 A
- (int)126 1110 A
- 1278(i;)S
- 1080 V
- (26767)210 648 A
- 1170 V
- (26768)210 648 A
- 1110(/*)S
- (Only)168 1236 A
- 1446(MM)S
- (may)126 1572 A
- (make)168 1740 A
- (this)168 1950 A
- (call)168 2160 A
- (directly.)378 2370 A
- 2790(*/)S
- 1260 V
- (26769)210 648 A
- 1110(if)S
- ((who)168 1236 A
- 1446(!=)S
- (MM_PROC_NR))462 1572 A
- (return(EGENERIC);)714 2076 A
- 1350 V
- (26770)210 648 A
- 1440 V
- (26771)210 648 A
- 1110(/*)S
- (Copy)168 1236 A
- (the)126 1446 A
- (parent's)336 1614 A
- (fproc)210 1992 A
- (struct)252 2244 A
- 2538(to)S
- (the)126 2664 A
- (child.)252 2832 A
- 3126(*/)S
- 1530 V
- (26772)210 648 A
- (fproc[child])504 1110 A
- 1656(=)S
- (fproc[parent];)588 1740 A
- 1620 V
- (26773)210 648 A
- 1710 V
- (26774)210 648 A
- 1110(/*)S
- (Increase)336 1236 A
- (the)126 1614 A
- (counters)336 1782 A
- 2160(in)S
- (the)126 2286 A
- ('filp')252 2454 A
- (table.)252 2748 A
- 3042(*/)S
- 1800 V
- (26775)210 648 A
- 1110(cp)S
- 1236(=)S
- (&fproc[child];)588 1320 A
- 1890 V
- (26776)210 648 A
- (for)126 1110 A
- 1278((i)S
- 1404(=)S
- 1488(0;)S
- 1614(i)S
- 1698(<)S
- (OPEN_MAX;)378 1782 A
- (i++))168 2202 A
- 1980 V
- (26777)210 648 A
- 1362(if)S
- ((cp->fp_filp[i])630 1488 A
- 2160(!=)S
- (NIL_FILP))378 2286 A
- (cp->fp_filp[i]->filp_count++;)1218 2706 A
- 2070 V
- (26778)210 648 A
- 2160 V
- (26779)210 648 A
- 1110(/*)S
- (Fill)168 1236 A
- 1446(in)S
- (new)126 1572 A
- (process)294 1740 A
- (id.)126 2076 A
- 2244(*/)S
- 2250 V
- (26780)210 648 A
- (cp->fp_pid)420 1110 A
- 1572(=)S
- (pid;)168 1656 A
- 2340 V
- (26781)210 648 A
- 2430 V
- (26782)210 648 A
- 1110(/*)S
- 1236(A)S
- (child)210 1320 A
- 1572(is)S
- (not)126 1698 A
- 1866(a)S
- (process)294 1950 A
- (leader.)294 2286 A
- 2622(*/)S
- 2520 V
- (26783)210 648 A
- (cp->fp_sesldr)546 1110 A
- 1698(=)S
- 1782(0;)S
- 2610 V
- (26784)210 648 A
- 2700 V
- (26785)210 648 A
- 1110(/*)S
- (Record)252 1236 A
- (the)126 1530 A
- (fact)168 1698 A
- (that)168 1908 A
- (both)168 2118 A
- (root)168 2328 A
- (and)126 2538 A
- (working)294 2706 A
- (dir)126 3042 A
- (have)168 3210 A
- (another)294 3420 A
- (user.)210 3756 A
- 4008(*/)S
- 2790 V
- (26786)210 648 A
- (dup_inode(cp->fp_rootdir);)1092 1110 A
- 2880 V
- (26787)210 648 A
- (dup_inode(cp->fp_workdir);)1092 1110 A
- 2970 V
- (26788)210 648 A
- (return(OK);)462 1110 A
- 3060 V
- (26789)210 648 A
- 1026(})S
- 3330 V
- (26792)210 648 A
- (/*===========================================================================*)3276 1026 A
- 3420 V
- (26793)210 648 A
- 1068(*)S
- (do_exec)294 2370 A
- 4260(*)S
- 3510 V
- (26794)210 648 A
- (*===========================================================================*/)3276 1068 A
- 3600 V
- (26795)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_exec())378 1488 A
- 3690 V
- (26796)210 648 A
- 1026({)S
- 3780 V
- (26797)210 648 A
- 1026(/*)S
- (Files)210 1152 A
- (can)126 1404 A
- 1572(be)S
- (marked)252 1698 A
- (with)168 1992 A
- (the)126 2202 A
- (FD_CLOEXEC)420 2370 A
- (bit)126 2832 A
- ((in)126 3000 A
- (fp->fp_cloexec).)672 3168 A
- (When)168 3924 A
- 3870 V
- (26798)210 648 A
- 1068(*)S
- 1152(MM)S
- (does)168 1278 A
- 1488(an)S
- (EXEC,)210 1614 A
- 1866(it)S
- (calls)210 1992 A
- 2244(FS)S
- 2370(to)S
- (allow)210 2496 A
- 2748(FS)S
- 2874(to)S
- (find)168 3000 A
- (these)210 3210 A
- (files)210 3462 A
- (and)126 3714 A
- (close)210 3882 A
- (them.)210 4134 A
- 3960 V
- (26799)210 648 A
- 1068(*/)S
- 4050 V
- (26800)210 648 A
- 4140 V
- (26801)210 648 A
- (register)336 1110 A
- (int)126 1488 A
- 1656(i;)S
- 4230 V
- (26802)210 648 A
- (long)168 1110 A
- (bitmap;)294 1320 A
- 4320 V
- (26803)210 648 A
- 4410 V
- (26804)210 648 A
- 1110(/*)S
- (Only)168 1236 A
- 1446(MM)S
- (may)126 1572 A
- (make)168 1740 A
- (this)168 1950 A
- (call)168 2160 A
- (directly.)378 2370 A
- 2790(*/)S
- 4500 V
- (26805)210 648 A
- 1110(if)S
- ((who)168 1236 A
- 1446(!=)S
- (MM_PROC_NR))462 1572 A
- (return(EGENERIC);)714 2076 A
- 4590 V
- (26806)210 648 A
- 4680 V
- (26807)210 648 A
- 1110(/*)S
- (The)126 1236 A
- (array)210 1404 A
- 1656(of)S
- (FD_CLOEXEC)420 1782 A
- (bits)168 2244 A
- 2454(is)S
- 2580(in)S
- (the)126 2706 A
- (fp_cloexec)420 2874 A
- (bit)126 3336 A
- (map.)168 3504 A
- 3714(*/)S
- 4770 V
- (26808)210 648 A
- 1110(fp)S
- 1236(=)S
- (&fproc[slot1];)588 1320 A
- 2370(/*)S
- (get_filp())420 2496 A
- (needs)210 2958 A
- ('fp')168 3210 A
- 3420(*/)S
- 4860 V
- (26809)210 648 A
- (bitmap)252 1110 A
- 1404(=)S
- (fp->fp_cloexec;)630 1488 A
- 4950 V
- (26810)210 648 A
- 1110(if)S
- ((bitmap)294 1236 A
- 1572(==)S
- 1698(0))S
- (return(OK);)462 1824 A
- 2370(/*)S
- (normal)252 2496 A
- (case,)210 2790 A
- 3042(no)S
- (FD_CLOEXECs)462 3168 A
- 3672(*/)S
- 5040 V
- (26811)210 648 A
- 5130 V
- (26812)210 648 A
- 1110(/*)S
- (Check)210 1236 A
- (the)126 1488 A
- (file)168 1656 A
- (desriptors)420 1866 A
- (one)126 2328 A
- 2496(by)S
- (one)126 2622 A
- (for)126 2790 A
- (presence)336 2958 A
- 3336(of)S
- (FD_CLOEXEC.)462 3462 A
- 3966(*/)S
- 5220 V
- (26813)210 648 A
- (for)126 1110 A
- 1278((i)S
- 1404(=)S
- 1488(0;)S
- 1614(i)S
- 1698(<)S
- (OPEN_MAX;)378 1782 A
- (i++))168 2202 A
- 2412({)S
- 5310 V
- (26814)210 648 A
- 1362(fd)S
- 1488(=)S
- 1572(i;)S
- 5400 V
- (26815)210 648 A
- 1362(if)S
- 1488(()S
- ((bitmap)294 1572 A
- 1908(>>)S
- 2034(i))S
- 2160(&)S
- (01))126 2244 A
- ((void))252 2412 A
- (do_close();)462 2706 A
- 5490 V
- (26816)210 648 A
- 1110(})S
- 5580 V
- (26817)210 648 A
- 5670 V
- (26818)210 648 A
- (return(OK);)462 1110 A
- 5760 V
- (26819)210 648 A
- 1026(})S
- 6030 V
- (26822)210 648 A
- (/*===========================================================================*)3276 1026 A
- 6120 V
- (26823)210 648 A
- 1068(*)S
- (do_exit)294 2370 A
- 4260(*)S
- 6210 V
- (26824)210 648 A
- (*===========================================================================*/)3276 1068 A
- 8418 V
- EP
- %%Page: 370 370
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (370)180 648 A
- 11 R
- 2141(File:)S
- 2374(src/fs/misc.c)S
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 900 V
- 7 LST
- (26825)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_exit())378 1488 A
- 990 V
- (26826)210 648 A
- 1026({)S
- 1080 V
- (26827)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (file)168 1656 A
- (system)252 1866 A
- (portion)294 2160 A
- 2496(of)S
- (the)126 2622 A
- (exit(status))504 2790 A
- (system)252 3336 A
- (call.)210 3630 A
- 3882(*/)S
- 1170 V
- (26828)210 648 A
- 1260 V
- (26829)210 648 A
- (register)336 1110 A
- (int)126 1488 A
- 1656(i,)S
- (exitee,)294 1782 A
- (task;)210 2118 A
- 1350 V
- (26830)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (fproc)210 1782 A
- (*rfp;)210 2034 A
- 1440 V
- (26831)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (filp)168 1782 A
- (*rfilp;)294 1992 A
- 1530 V
- (26832)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (inode)210 1782 A
- (*rip;)210 2034 A
- 1620 V
- (26833)210 648 A
- (int)126 1110 A
- (major;)252 1278 A
- 1710 V
- (26834)210 648 A
- (dev_t)210 1110 A
- (dev;)168 1362 A
- 1800 V
- (26835)210 648 A
- (message)294 1110 A
- (dev_mess;)378 1446 A
- 1890 V
- (26836)210 648 A
- 1980 V
- (26837)210 648 A
- 1110(/*)S
- (Only)168 1236 A
- 1446(MM)S
- (may)126 1572 A
- 1740(do)S
- (the)126 1866 A
- (EXIT)168 2034 A
- (call)168 2244 A
- (directly.)378 2454 A
- 2874(*/)S
- 2070 V
- (26838)210 648 A
- 1110(if)S
- ((who)168 1236 A
- 1446(!=)S
- (MM_PROC_NR))462 1572 A
- (return(EGENERIC);)714 2076 A
- 2160 V
- (26839)210 648 A
- 2250 V
- (26840)210 648 A
- 1110(/*)S
- (Nevertheless,)546 1236 A
- (pretend)294 1824 A
- (that)168 2160 A
- (the)126 2370 A
- (call)168 2538 A
- (came)168 2748 A
- (from)168 2958 A
- (the)126 3168 A
- (user.)210 3336 A
- 3588(*/)S
- 2340 V
- (26841)210 648 A
- 1110(fp)S
- 1236(=)S
- (&fproc[slot1];)588 1320 A
- 2370(/*)S
- (get_filp())420 2496 A
- (needs)210 2958 A
- ('fp')168 3210 A
- 3420(*/)S
- 2430 V
- (26842)210 648 A
- (exitee)252 1110 A
- 1404(=)S
- (slot1;)252 1488 A
- 2520 V
- (26843)210 648 A
- 2610 V
- (26844)210 648 A
- 1110(if)S
- ((fp->fp_suspended)714 1236 A
- 1992(==)S
- (SUSPENDED))420 2118 A
- 2580({)S
- 2700 V
- (26845)210 648 A
- (task)168 1362 A
- 1572(=)S
- (-fp->fp_task;)546 1656 A
- 2790 V
- (26846)210 648 A
- 1362(if)S
- ((task)210 1488 A
- 1740(==)S
- (XPIPE)210 1866 A
- 2118(||)S
- (task)168 2244 A
- 2454(==)S
- (XPOPEN))294 2580 A
- (susp_count--;)546 2916 A
- 2880 V
- (26847)210 648 A
- (pro)126 1362 A
- 1530(=)S
- (exitee;)294 1614 A
- 2970 V
- (26848)210 648 A
- ((void))252 1362 A
- (do_unpause();)546 1656 A
- 2370(/*)S
- (this)168 2496 A
- (always)252 2706 A
- (succeeds)336 3000 A
- (for)126 3378 A
- 3546(MM)S
- 3672(*/)S
- 3060 V
- (26849)210 648 A
- (fp->fp_suspended)672 1362 A
- 2076(=)S
- (NOT_SUSPENDED;)588 2160 A
- 3150 V
- (26850)210 648 A
- 1110(})S
- 3240 V
- (26851)210 648 A
- 3330 V
- (26852)210 648 A
- 1110(/*)S
- (Loop)168 1236 A
- 1446(on)S
- (file)168 1572 A
- (descriptors,)504 1782 A
- (closing)294 2328 A
- (any)126 2664 A
- (that)168 2832 A
- (are)126 3042 A
- (open.)210 3210 A
- 3462(*/)S
- 3420 V
- (26853)210 648 A
- (for)126 1110 A
- 1278((i)S
- 1404(=)S
- 1488(0;)S
- 1614(i)S
- 1698(<)S
- (OPEN_MAX;)378 1782 A
- (i++))168 2202 A
- 2412({)S
- 3510 V
- (26854)210 648 A
- 1362(fd)S
- 1488(=)S
- 1572(i;)S
- 3600 V
- (26855)210 648 A
- ((void))252 1362 A
- (do_close();)462 1656 A
- 3690 V
- (26856)210 648 A
- 1110(})S
- 3780 V
- (26857)210 648 A
- 3870 V
- (26858)210 648 A
- 1110(/*)S
- (Release)294 1236 A
- (root)168 1572 A
- (and)126 1782 A
- (working)294 1950 A
- (directories.)504 2286 A
- 2832(*/)S
- 3960 V
- (26859)210 648 A
- (put_inode(fp->fp_rootdir);)1092 1110 A
- 4050 V
- (26860)210 648 A
- (put_inode(fp->fp_workdir);)1092 1110 A
- 4140 V
- (26861)210 648 A
- (fp->fp_rootdir)588 1110 A
- 1740(=)S
- (NIL_INODE;)420 1824 A
- 4230 V
- (26862)210 648 A
- (fp->fp_workdir)588 1110 A
- 1740(=)S
- (NIL_INODE;)420 1824 A
- 4320 V
- (26863)210 648 A
- 4410 V
- (26864)210 648 A
- 1110(/*)S
- 1236(If)S
- 1362(a)S
- (session)294 1446 A
- (leader)252 1782 A
- (exits)210 2076 A
- (then)168 2328 A
- (revoke)252 2538 A
- (access)252 2832 A
- 3126(to)S
- (its)126 3252 A
- (controlling)462 3420 A
- (tty)126 3924 A
- (from)168 4092 A
- 4500 V
- (26865)210 648 A
- 1152(*)S
- (all)126 1236 A
- (other)210 1404 A
- (processes)378 1656 A
- (using)210 2076 A
- (it.)126 2328 A
- 4590 V
- (26866)210 648 A
- 1152(*/)S
- 4680 V
- (26867)210 648 A
- 1110(if)S
- ((!fp->fp_sesldr))672 1236 A
- (return(OK);)462 1950 A
- 3042(/*)S
- (not)126 3168 A
- 3336(a)S
- (session)294 3420 A
- (leader)252 3756 A
- 4050(*/)S
- 4770 V
- (26868)210 648 A
- (fp->fp_sesldr)546 1110 A
- 1698(=)S
- (FALSE;)252 1782 A
- 4860 V
- (26869)210 648 A
- 1110(if)S
- ((fp->fp_tty)462 1236 A
- 1740(==)S
- 1866(0))S
- (return(OK);)462 1992 A
- 3042(/*)S
- 3168(no)S
- (controlling)462 3294 A
- (tty)126 3798 A
- 3966(*/)S
- 4950 V
- (26870)210 648 A
- (dev)126 1110 A
- 1278(=)S
- (fp->fp_tty;)462 1362 A
- 5040 V
- (26871)210 648 A
- 5130 V
- (26872)210 648 A
- (for)126 1110 A
- ((rfp)168 1278 A
- 1488(=)S
- (&fproc[LOW_USER];)714 1572 A
- (rfp)126 2328 A
- 2496(<)S
- (&fproc[NR_PROCS];)714 2580 A
- (rfp++))252 3336 A
- 3630({)S
- 5220 V
- (26873)210 648 A
- 1362(if)S
- ((rfp->fp_tty)504 1488 A
- 2034(==)S
- (dev))168 2160 A
- (rfp->fp_tty)462 2370 A
- 2874(=)S
- 2958(0;)S
- 5310 V
- (26874)210 648 A
- 5400 V
- (26875)210 648 A
- (for)126 1362 A
- 1530((i)S
- 1656(=)S
- 1740(0;)S
- 1866(i)S
- 1950(<)S
- (OPEN_MAX;)378 2034 A
- (i++))168 2454 A
- 2664({)S
- 5490 V
- (26876)210 648 A
- 1698(if)S
- (((rfilp)294 1824 A
- 2160(=)S
- (rfp->fp_filp[i]))672 2244 A
- 2958(==)S
- (NIL_FILP))378 3084 A
- (continue;)378 3504 A
- 5580 V
- (26877)210 648 A
- 1698(if)S
- ((rfilp->filp_mode)714 1824 A
- 2580(==)S
- (FILP_CLOSED))504 2706 A
- (continue;)378 3252 A
- 5670 V
- (26878)210 648 A
- (rip)126 1698 A
- 1866(=)S
- (rfilp->filp_ino;)672 1950 A
- 5760 V
- (26879)210 648 A
- 1698(if)S
- (((rip->i_mode)546 1824 A
- 2412(&)S
- (I_TYPE))294 2496 A
- 2832(!=)S
- (I_CHAR_SPECIAL))630 2958 A
- (continue;)378 3630 A
- 5850 V
- (26880)210 648 A
- 1698(if)S
- (((dev_t))336 1824 A
- (rip->i_zone[0])588 2202 A
- 2832(!=)S
- (dev))168 2958 A
- (continue;)378 3168 A
- 5940 V
- (26881)210 648 A
- (dev_mess.m_type)630 1698 A
- 2370(=)S
- (DEV_CLOSE;)420 2454 A
- 6030 V
- (26882)210 648 A
- (dev_mess.DEVICE)630 1698 A
- 2370(=)S
- (dev;)168 2454 A
- 6120 V
- (26883)210 648 A
- (major)210 1698 A
- 1950(=)S
- ((dev)168 2034 A
- 2244(>>)S
- (MAJOR))252 2370 A
- 2664(&)S
- (BYTE;)210 2748 A
- 3042(/*)S
- (major)210 3168 A
- (device)252 3420 A
- 3714(nr)S
- 3840(*/)S
- 6210 V
- (26884)210 648 A
- (task)168 1698 A
- 1908(=)S
- (dmap[major].dmap_task;)924 1992 A
- 3042(/*)S
- (device)252 3168 A
- (task)168 3462 A
- 3672(nr)S
- 3798(*/)S
- 8418 V
- EP
- %%Page: 371 371
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2141(File:)S
- 2374(src/fs/misc.c)S
- 12 B
- (371)180 4248 A
- 900 V
- 7 LST
- (26885)210 648 A
- ((*dmap[major].dmap_close)(task,)1302 1698 A
- (&dev_mess);)462 3042 A
- 990 V
- (26886)210 648 A
- (rfilp->filp_mode)672 1698 A
- 2412(=)S
- (FILP_CLOSED;)504 2496 A
- 1080 V
- (26887)210 648 A
- 1362(})S
- 1170 V
- (26888)210 648 A
- 1110(})S
- 1260 V
- (26889)210 648 A
- (return(OK);)462 1110 A
- 1350 V
- (26890)210 648 A
- 1026(})S
- 1620 V
- (26893)210 648 A
- (/*===========================================================================*)3276 1026 A
- 1710 V
- (26894)210 648 A
- 1068(*)S
- (do_set)252 2370 A
- 4260(*)S
- 1800 V
- (26895)210 648 A
- (*===========================================================================*/)3276 1068 A
- 1890 V
- (26896)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_set())336 1488 A
- 1980 V
- (26897)210 648 A
- 1026({)S
- 2070 V
- (26898)210 648 A
- 1026(/*)S
- (Set)126 1152 A
- (uid_t)210 1320 A
- 1572(or)S
- (gid_t)210 1698 A
- (field.)252 1950 A
- 2244(*/)S
- 2160 V
- (26899)210 648 A
- 2250 V
- (26900)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (fproc)210 1782 A
- (*tfp;)210 2034 A
- 2340 V
- (26901)210 648 A
- 2430 V
- (26902)210 648 A
- 1110(/*)S
- (Only)168 1236 A
- 1446(MM)S
- (may)126 1572 A
- (make)168 1740 A
- (this)168 1950 A
- (call)168 2160 A
- (directly.)378 2370 A
- 2790(*/)S
- 2520 V
- (26903)210 648 A
- 1110(if)S
- ((who)168 1236 A
- 1446(!=)S
- (MM_PROC_NR))462 1572 A
- (return(EGENERIC);)714 2076 A
- 2610 V
- (26904)210 648 A
- 2700 V
- (26905)210 648 A
- (tfp)126 1110 A
- 1278(=)S
- (&fproc[slot1];)588 1362 A
- 2790 V
- (26906)210 648 A
- 1110(if)S
- ((fs_call)336 1236 A
- 1614(==)S
- (SETUID))294 1740 A
- 2076({)S
- 2880 V
- (26907)210 648 A
- (tfp->fp_realuid)630 1362 A
- 2034(=)S
- ((uid_t))294 2118 A
- (real_user_id;)546 2454 A
- 2970 V
- (26908)210 648 A
- (tfp->fp_effuid)588 1362 A
- 1992(=)S
- ((uid_t))294 2118 A
- (eff_user_id;)504 2454 A
- 3060 V
- (26909)210 648 A
- 1110(})S
- 3150 V
- (26910)210 648 A
- 1110(if)S
- ((fs_call)336 1236 A
- 1614(==)S
- (SETGID))294 1740 A
- 2076({)S
- 3240 V
- (26911)210 648 A
- (tfp->fp_effgid)588 1362 A
- 1992(=)S
- ((gid_t))294 2118 A
- (eff_grp_id;)462 2454 A
- 3330 V
- (26912)210 648 A
- (tfp->fp_realgid)630 1362 A
- 2034(=)S
- ((gid_t))294 2118 A
- (real_grp_id;)504 2454 A
- 3420 V
- (26913)210 648 A
- 1110(})S
- 3510 V
- (26914)210 648 A
- (return(OK);)462 1110 A
- 3600 V
- (26915)210 648 A
- 1026(})S
- 3870 V
- (26918)210 648 A
- (/*===========================================================================*)3276 1026 A
- 3960 V
- (26919)210 648 A
- 1068(*)S
- (do_revive)378 2370 A
- 4260(*)S
- 4050 V
- (26920)210 648 A
- (*===========================================================================*/)3276 1068 A
- 4140 V
- (26921)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_revive())462 1488 A
- 4230 V
- (26922)210 648 A
- 1026({)S
- 4320 V
- (26923)210 648 A
- 1026(/*)S
- 1152(A)S
- (task,)210 1236 A
- (typically)378 1488 A
- (TTY,)168 1908 A
- (has)126 2118 A
- (now)126 2286 A
- (gotten)252 2454 A
- (the)126 2748 A
- (characters)420 2916 A
- (that)168 3378 A
- (were)168 3588 A
- (needed)252 3798 A
- (for)126 4092 A
- 4260(a)S
- 4410 V
- (26924)210 648 A
- 1068(*)S
- (previous)336 1152 A
- (read.)210 1530 A
- (The)126 1824 A
- (process)294 1992 A
- (did)126 2328 A
- (not)126 2496 A
- (get)126 2664 A
- 2832(a)S
- (reply)210 2916 A
- (when)168 3168 A
- 3378(it)S
- (made)168 3504 A
- (the)126 3714 A
- (call.)210 3882 A
- 4500 V
- (26925)210 648 A
- 1068(*)S
- (Instead)294 1152 A
- 1488(it)S
- (was)126 1614 A
- (suspended.)420 1782 A
- (Now)126 2286 A
- 2454(we)S
- (can)126 2580 A
- (send)168 2748 A
- (the)126 2958 A
- (reply)210 3126 A
- 3378(to)S
- (wake)168 3504 A
- 3714(it)S
- (up.)126 3840 A
- (This)168 4050 A
- 4590 V
- (26926)210 648 A
- 1068(*)S
- (business)336 1152 A
- (has)126 1530 A
- 1698(to)S
- 1824(be)S
- (done)168 1950 A
- (carefully,)420 2160 A
- (since)210 2622 A
- (the)126 2874 A
- (incoming)336 3042 A
- (message)294 3420 A
- 3756(is)S
- (from)168 3882 A
- 4680 V
- (26927)210 648 A
- 1068(*)S
- 1152(a)S
- (task)168 1236 A
- ((to)126 1446 A
- (which)210 1614 A
- 1866(no)S
- (reply)210 1992 A
- (can)126 2244 A
- 2412(be)S
- (sent),)252 2538 A
- (and)126 2832 A
- (the)126 3000 A
- (reply)210 3168 A
- (must)168 3420 A
- 3630(go)S
- 3756(to)S
- 3882(a)S
- (process)294 3966 A
- 4770 V
- (26928)210 648 A
- 1068(*)S
- (that)168 1152 A
- (blocked)294 1362 A
- (earlier.)336 1698 A
- (The)126 2118 A
- (reply)210 2286 A
- 2538(to)S
- (the)126 2664 A
- (caller)252 2832 A
- 3126(is)S
- (inhibited)378 3252 A
- 3672(by)S
- (setting)294 3798 A
- (the)126 4134 A
- 4860 V
- (26929)210 648 A
- 1068(*)S
- ('dont_reply')504 1152 A
- (flag,)210 1698 A
- (and)126 1950 A
- (the)126 2118 A
- (reply)210 2286 A
- 2538(to)S
- (the)126 2664 A
- (blocked)294 2832 A
- (process)294 3168 A
- 3504(is)S
- (done)168 3630 A
- (explicitly)420 3840 A
- 4950 V
- (26930)210 648 A
- 1068(*)S
- 1152(in)S
- (revive().)378 1278 A
- 5040 V
- (26931)210 648 A
- 1068(*/)S
- 5130 V
- (26932)210 648 A
- 5220 V
- (26933)210 648 A
- (#if)126 1026 A
- (!ALLOW_USER_SEND)672 1194 A
- 5310 V
- (26934)210 648 A
- 1110(if)S
- ((who)168 1236 A
- 1446(>=)S
- (LOW_USER))378 1572 A
- (return(EPERM);)588 1992 A
- 5400 V
- (26935)210 648 A
- (#endif)252 1026 A
- 5490 V
- (26936)210 648 A
- 5580 V
- (26937)210 648 A
- (revive(m.REP_PROC_NR,)882 1110 A
- (m.REP_STATUS);)588 2034 A
- 5670 V
- (26938)210 648 A
- (dont_reply)420 1110 A
- 1572(=)S
- (TRUE;)210 1656 A
- 2370(/*)S
- (don't)210 2496 A
- (reply)210 2748 A
- 3000(to)S
- (the)126 3126 A
- (TTY)126 3294 A
- (task)168 3462 A
- 3672(*/)S
- 5760 V
- (26939)210 648 A
- (return(OK);)462 1110 A
- 5850 V
- (26940)210 648 A
- 1026(})S
- 8418 V
- EP
- %%Page: 372 372
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (372)180 648 A
- 11 R
- 2101(File:)S
- 2334(src/fs/device.c)S
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 990 V
- 7 LST
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 1080 V
- (src/fs/device.c)630 2034 A
- 1170 V
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 1350 V
- (27000)210 648 A
- 1026(/*)S
- (When)168 1152 A
- 1362(a)S
- (needed)252 1446 A
- (block)210 1740 A
- 1992(is)S
- (not)126 2118 A
- 2286(in)S
- (the)126 2412 A
- (cache,)252 2580 A
- 2874(it)S
- (must)168 3000 A
- 3210(be)S
- (fetched)294 3336 A
- (from)168 3672 A
- (the)126 3882 A
- (disk.)210 4050 A
- 1440 V
- (27001)210 648 A
- 1068(*)S
- (Special)294 1152 A
- (character)378 1488 A
- (files)210 1908 A
- (also)168 2160 A
- (require)294 2370 A
- (I/O.)168 2706 A
- (The)126 2958 A
- (routines)336 3126 A
- (for)126 3504 A
- (these)210 3672 A
- (are)126 3924 A
- (here.)210 4092 A
- 1530 V
- (27002)210 648 A
- 1068(*)S
- 1620 V
- (27003)210 648 A
- 1068(*)S
- (The)126 1152 A
- (entry)210 1320 A
- (points)252 1572 A
- 1866(in)S
- (this)168 1992 A
- (file)168 2202 A
- (are:)168 2412 A
- 1710 V
- (27004)210 648 A
- 1068(*)S
- (dev_io:)294 1236 A
- (perform)294 1740 A
- 2076(a)S
- (read)168 2160 A
- 2370(or)S
- (write)210 2496 A
- 2748(on)S
- 2874(a)S
- (block)210 2958 A
- 3210(or)S
- (character)378 3336 A
- (device)252 3756 A
- 1800 V
- (27005)210 648 A
- 1068(*)S
- (dev_opcl:)378 1236 A
- (perform)294 1740 A
- (generic)294 2076 A
- (device-specific)630 2412 A
- (processing)420 3084 A
- (for)126 3546 A
- (open)168 3714 A
- 3924(&)S
- (close)210 4008 A
- 1890 V
- (27006)210 648 A
- 1068(*)S
- (tty_open:)378 1236 A
- (perform)294 1740 A
- (tty-specific)504 2076 A
- (processing)420 2622 A
- (for)126 3084 A
- (open)168 3252 A
- 1980 V
- (27007)210 648 A
- 1068(*)S
- (ctty_open:)420 1236 A
- (perform)294 1740 A
- (controlling-tty-specific)1008 2076 A
- (processing)420 3126 A
- (for)126 3588 A
- (open)168 3756 A
- 2070 V
- (27008)210 648 A
- 1068(*)S
- (ctty_close:)462 1236 A
- (perform)294 1740 A
- (controlling-tty-specific)1008 2076 A
- (processing)420 3126 A
- (for)126 3588 A
- (close)210 3756 A
- 2160 V
- (27009)210 648 A
- 1068(*)S
- (do_setsid:)420 1236 A
- (perform)294 1740 A
- (the)126 2076 A
- (SETSID)252 2244 A
- (system)252 2538 A
- (call)168 2832 A
- ((FS)126 3042 A
- (side))210 3210 A
- 2250 V
- (27010)210 648 A
- 1068(*)S
- (do_ioctl:)378 1236 A
- (perform)294 1740 A
- (the)126 2076 A
- (IOCTL)210 2244 A
- (system)252 2496 A
- (call)168 2790 A
- 2340 V
- (27011)210 648 A
- 1068(*)S
- (call_task:)420 1236 A
- (procedure)378 1740 A
- (that)168 2160 A
- (actually)336 2370 A
- (calls)210 2748 A
- (the)126 3000 A
- (kernel)252 3168 A
- (tasks)210 3462 A
- 2430 V
- (27012)210 648 A
- 1068(*)S
- (call_ctty:)420 1236 A
- (procedure)378 1740 A
- (that)168 2160 A
- (actually)336 2370 A
- (calls)210 2748 A
- (task)168 3000 A
- (for)126 3210 A
- (/dev/tty)336 3378 A
- 2520 V
- (27013)210 648 A
- 1068(*/)S
- 2610 V
- (27014)210 648 A
- 2700 V
- (27015)210 648 A
- (#include)336 1026 A
- ("fs.h")252 1404 A
- 2790 V
- (27016)210 648 A
- (#include)336 1026 A
- (<fcntl.h>)378 1404 A
- 2880 V
- (27017)210 648 A
- (#include)336 1026 A
- (<minix/callnr.h>)672 1404 A
- 2970 V
- (27018)210 648 A
- (#include)336 1026 A
- (<minix/com.h>)546 1404 A
- 3060 V
- (27019)210 648 A
- (#include)336 1026 A
- ("dev.h")294 1404 A
- 3150 V
- (27020)210 648 A
- (#include)336 1026 A
- ("file.h")336 1404 A
- 3240 V
- (27021)210 648 A
- (#include)336 1026 A
- ("fproc.h")378 1404 A
- 3330 V
- (27022)210 648 A
- (#include)336 1026 A
- ("inode.h")378 1404 A
- 3420 V
- (27023)210 648 A
- (#include)336 1026 A
- ("param.h")378 1404 A
- 3510 V
- (27024)210 648 A
- 3600 V
- (27025)210 648 A
- (PRIVATE)294 1026 A
- (message)294 1362 A
- (dev_mess;)378 1698 A
- 3690 V
- (27026)210 648 A
- (PRIVATE)294 1026 A
- (major,)252 1362 A
- (minor,)252 1656 A
- (task;)210 1950 A
- 3780 V
- (27027)210 648 A
- 3870 V
- (27028)210 648 A
- (FORWARD)294 1026 A
- (_PROTOTYPE()462 1362 A
- (void)168 1866 A
- (find_dev,)378 2076 A
- ((Dev_t)252 2496 A
- (dev))168 2790 A
- 4050();)S
- 3960 V
- (27029)210 648 A
- 4050 V
- (27030)210 648 A
- (/*===========================================================================*)3276 1026 A
- 4140 V
- (27031)210 648 A
- 1068(*)S
- (dev_io)252 2370 A
- 4260(*)S
- 4230 V
- (27032)210 648 A
- (*===========================================================================*/)3276 1068 A
- 4320 V
- (27033)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (dev_io(op,)420 1488 A
- (nonblock,)378 1950 A
- (dev,)168 2370 A
- (pos,)168 2580 A
- (bytes,)252 2790 A
- (proc,)210 3084 A
- (buff))210 3336 A
- 4410 V
- (27034)210 648 A
- (int)126 1026 A
- (op;)126 1194 A
- 2370(/*)S
- (DEV_READ,)378 2496 A
- (DEV_WRITE,)420 2916 A
- (DEV_IOCTL,)420 3378 A
- (etc.)168 3840 A
- 4050(*/)S
- 4500 V
- (27035)210 648 A
- (int)126 1026 A
- (nonblock;)378 1194 A
- 2370(/*)S
- (TRUE)168 2496 A
- 2706(if)S
- (nonblocking)462 2832 A
- 3336(op)S
- 3462(*/)S
- 4590 V
- (27036)210 648 A
- (dev_t)210 1026 A
- (dev;)168 1278 A
- 2370(/*)S
- (major-minor)462 2496 A
- (device)252 3000 A
- (number)252 3294 A
- 3588(*/)S
- 4680 V
- (27037)210 648 A
- (off_t)210 1026 A
- (pos;)168 1278 A
- 2370(/*)S
- (byte)168 2496 A
- (position)336 2706 A
- 3084(*/)S
- 4770 V
- (27038)210 648 A
- (int)126 1026 A
- (bytes;)252 1194 A
- 2370(/*)S
- (how)126 2496 A
- (many)168 2664 A
- (bytes)210 2874 A
- 3126(to)S
- (transfer)336 3252 A
- 3630(*/)S
- 4860 V
- (27039)210 648 A
- (int)126 1026 A
- (proc;)210 1194 A
- 2370(/*)S
- 2496(in)S
- (whose)210 2622 A
- (address)294 2874 A
- (space)210 3210 A
- 3462(is)S
- (buff?)210 3588 A
- 3840(*/)S
- 4950 V
- (27040)210 648 A
- (char)168 1026 A
- (*buff;)252 1236 A
- 2370(/*)S
- (virtual)294 2496 A
- (address)294 2832 A
- 3168(of)S
- (the)126 3294 A
- (buffer)252 3462 A
- 3756(*/)S
- 5040 V
- (27041)210 648 A
- 1026({)S
- 5130 V
- (27042)210 648 A
- 1026(/*)S
- (Read)168 1152 A
- 1362(or)S
- (write)210 1488 A
- (from)168 1740 A
- 1950(a)S
- (device.)294 2034 A
- (The)126 2412 A
- (parameter)378 2580 A
- ('dev')210 3000 A
- (tells)210 3252 A
- (which)210 3504 A
- (one.)168 3756 A
- 3966(*/)S
- 5220 V
- (27043)210 648 A
- 5310 V
- (27044)210 648 A
- (find_dev(dev);)588 1110 A
- 2370(/*)S
- (load)168 2496 A
- (the)126 2706 A
- (variables)378 2874 A
- (major,)252 3294 A
- (minor,)252 3588 A
- (and)126 3882 A
- (task)168 4050 A
- 4260(*/)S
- 5400 V
- (27045)210 648 A
- 5490 V
- (27046)210 648 A
- 1110(/*)S
- (Set)126 1236 A
- 1404(up)S
- (the)126 1530 A
- (message)294 1698 A
- (passed)252 2034 A
- 2328(to)S
- (task.)210 2454 A
- 2706(*/)S
- 5580 V
- (27047)210 648 A
- (dev_mess.m_type)630 1110 A
- 1866(=)S
- (op;)126 1950 A
- 5670 V
- (27048)210 648 A
- (dev_mess.DEVICE)630 1110 A
- 1866(=)S
- ((dev)168 1950 A
- 2160(>>)S
- (MINOR))252 2286 A
- 2580(&)S
- (BYTE;)210 2664 A
- 5760 V
- (27049)210 648 A
- (dev_mess.POSITION)714 1110 A
- 1866(=)S
- (pos;)168 1950 A
- 5850 V
- (27050)210 648 A
- (dev_mess.PROC_NR)672 1110 A
- 1866(=)S
- (proc;)210 1950 A
- 5940 V
- (27051)210 648 A
- (dev_mess.ADDRESS)672 1110 A
- 1866(=)S
- (buff;)210 1950 A
- 6030 V
- (27052)210 648 A
- (dev_mess.COUNT)588 1110 A
- 1866(=)S
- (bytes;)252 1950 A
- 6120 V
- (27053)210 648 A
- (dev_mess.TTY_FLAGS)756 1110 A
- 1908(=)S
- (nonblock;)378 1992 A
- 2412(/*)S
- (temporary)378 2538 A
- (kludge)252 2958 A
- 3252(*/)S
- 6210 V
- (27054)210 648 A
- 8418 V
- EP
- %%Page: 373 373
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2101(File:)S
- 2334(src/fs/device.c)S
- 12 B
- (373)180 4248 A
- 900 V
- 7 LST
- (27055)210 648 A
- 1110(/*)S
- (Call)168 1236 A
- (the)126 1446 A
- (task.)210 1614 A
- 1866(*/)S
- 990 V
- (27056)210 648 A
- ((*dmap[major].dmap_rw)(task,)1176 1110 A
- (&dev_mess);)462 2328 A
- 1080 V
- (27057)210 648 A
- 1170 V
- (27058)210 648 A
- 1110(/*)S
- (Task)168 1236 A
- (has)126 1446 A
- (completed.)420 1614 A
- (See)126 2118 A
- 2286(if)S
- (call)168 2412 A
- (completed.)420 2622 A
- 3084(*/)S
- 1260 V
- (27059)210 648 A
- 1110(if)S
- ((dev_mess.REP_STATUS)840 1236 A
- 2118(==)S
- (SUSPEND))336 2244 A
- 2622({)S
- 1350 V
- (27060)210 648 A
- 1362(if)S
- ((op)126 1488 A
- 1656(==)S
- (DEV_OPEN))378 1782 A
- (task)168 2202 A
- 2412(=)S
- (XPOPEN;)294 2496 A
- 1440 V
- (27061)210 648 A
- (suspend(task);)588 1362 A
- 2370(/*)S
- (suspend)294 2496 A
- (user)168 2832 A
- 3042(*/)S
- 1530 V
- (27062)210 648 A
- 1110(})S
- 1620 V
- (27063)210 648 A
- 1710 V
- (27064)210 648 A
- (return(dev_mess.REP_STATUS);)1176 1110 A
- 1800 V
- (27065)210 648 A
- 1026(})S
- 2070 V
- (27068)210 648 A
- (/*===========================================================================*)3276 1026 A
- 2160 V
- (27069)210 648 A
- 1068(*)S
- (dev_opcl)336 2370 A
- 4260(*)S
- 2250 V
- (27070)210 648 A
- (*===========================================================================*/)3276 1068 A
- 2340 V
- (27071)210 648 A
- (PUBLIC)252 1026 A
- (void)168 1320 A
- (dev_opcl(task_nr,)714 1530 A
- (mess_ptr))378 2286 A
- 2430 V
- (27072)210 648 A
- (int)126 1026 A
- (task_nr;)336 1194 A
- 2370(/*)S
- (which)210 2496 A
- (task)168 2748 A
- 2958(*/)S
- 2520 V
- (27073)210 648 A
- (message)294 1026 A
- (*mess_ptr;)420 1362 A
- 2370(/*)S
- (message)294 2496 A
- (pointer)294 2832 A
- 3168(*/)S
- 2610 V
- (27074)210 648 A
- 1026({)S
- 2700 V
- (27075)210 648 A
- 1026(/*)S
- (Called)252 1152 A
- (from)168 1446 A
- (the)126 1656 A
- (dmap)168 1824 A
- (struct)252 2034 A
- 2328(in)S
- (table.c)294 2454 A
- 2790(on)S
- (opens)210 2916 A
- 3168(&)S
- (closes)252 3252 A
- 3546(of)S
- (special)294 3672 A
- (files.*/)336 4008 A
- 2790 V
- (27076)210 648 A
- 2880 V
- (27077)210 648 A
- (int)126 1110 A
- (op;)126 1278 A
- 2970 V
- (27078)210 648 A
- 3060 V
- (27079)210 648 A
- 1110(op)S
- 1236(=)S
- (mess_ptr->m_type;)714 1320 A
- 2370(/*)S
- (save)168 2496 A
- (DEV_OPEN)336 2706 A
- 3084(or)S
- (DEV_CLOSE)378 3210 A
- (for)126 3630 A
- (later)210 3798 A
- 4050(*/)S
- 3150 V
- (27080)210 648 A
- (mess_ptr->DEVICE)672 1110 A
- 1824(=)S
- ((mess_ptr->DEVICE)714 1908 A
- 2664(>>)S
- (MINOR))252 2790 A
- 3084(&)S
- (BYTE;)210 3168 A
- 3240 V
- (27081)210 648 A
- (mess_ptr->PROC_NR)714 1110 A
- 1866(=)S
- 1950(fp)S
- 2076(-)S
- (fproc;)252 2160 A
- 3330 V
- (27082)210 648 A
- 3420 V
- (27083)210 648 A
- (call_task(task_nr,)756 1110 A
- (mess_ptr);)420 1908 A
- 3510 V
- (27084)210 648 A
- 3600 V
- (27085)210 648 A
- 1110(/*)S
- (Task)168 1236 A
- (has)126 1446 A
- (completed.)420 1614 A
- (See)126 2118 A
- 2286(if)S
- (call)168 2412 A
- (completed.)420 2622 A
- 3084(*/)S
- 3690 V
- (27086)210 648 A
- 1110(if)S
- ((mess_ptr->REP_STATUS)882 1236 A
- 2160(==)S
- (SUSPEND))336 2286 A
- 2664({)S
- 3780 V
- (27087)210 648 A
- 1362(if)S
- ((op)126 1488 A
- 1656(==)S
- (DEV_OPEN))378 1782 A
- (task_nr)294 2202 A
- 2538(=)S
- (XPOPEN;)294 2622 A
- 3870 V
- (27088)210 648 A
- (suspend(task_nr);)714 1362 A
- 2370(/*)S
- (suspend)294 2496 A
- (user)168 2832 A
- 3042(*/)S
- 3960 V
- (27089)210 648 A
- 1110(})S
- 4050 V
- (27090)210 648 A
- 1026(})S
- 4230 V
- (27092)210 648 A
- (/*===========================================================================*)3276 1026 A
- 4320 V
- (27093)210 648 A
- 1068(*)S
- (tty_open)336 2370 A
- 4260(*)S
- 4410 V
- (27094)210 648 A
- (*===========================================================================*/)3276 1068 A
- 4500 V
- (27095)210 648 A
- (PUBLIC)252 1026 A
- (void)168 1320 A
- (tty_open(task_nr,)714 1530 A
- (mess_ptr))378 2286 A
- 4590 V
- (27096)210 648 A
- (int)126 1026 A
- (task_nr;)336 1194 A
- 4680 V
- (27097)210 648 A
- (message)294 1026 A
- (*mess_ptr;)420 1362 A
- 4770 V
- (27098)210 648 A
- 1026({)S
- 4860 V
- (27099)210 648 A
- 1026(/*)S
- (This)168 1152 A
- (procedure)378 1362 A
- 1782(is)S
- (called)252 1908 A
- (from)168 2202 A
- (the)126 2412 A
- (dmap)168 2580 A
- (struct)252 2790 A
- 3084(in)S
- (table.c)294 3210 A
- 3546(on)S
- (tty)126 3672 A
- (opens.)252 3840 A
- 4134(*/)S
- 4950 V
- (27100)210 648 A
- 5040 V
- (27101)210 648 A
- (int)126 1110 A
- 1278(r;)S
- 5130 V
- (27102)210 648 A
- (dev_t)210 1110 A
- (dev;)168 1362 A
- 5220 V
- (27103)210 648 A
- (int)126 1110 A
- (flags,)252 1278 A
- (proc;)210 1572 A
- 5310 V
- (27104)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (fproc)210 1782 A
- (*rfp;)210 2034 A
- 5400 V
- (27105)210 648 A
- 5490 V
- (27106)210 648 A
- (dev)126 1110 A
- 1278(=)S
- ((dev_t))294 1362 A
- (mess_ptr->DEVICE;)714 1698 A
- 5580 V
- (27107)210 648 A
- (flags)210 1110 A
- 1362(=)S
- (mess_ptr->COUNT;)672 1446 A
- 5670 V
- (27108)210 648 A
- (proc)168 1110 A
- 1320(=)S
- 1404(fp)S
- 1530(-)S
- (fproc;)252 1614 A
- 5760 V
- (27109)210 648 A
- 5850 V
- (27110)210 648 A
- 1110(/*)S
- (Add)126 1236 A
- (O_NOCTTY)336 1404 A
- 1782(to)S
- (the)126 1908 A
- (flags)210 2076 A
- 2328(if)S
- (this)168 2454 A
- (process)294 2664 A
- 3000(is)S
- (not)126 3126 A
- 3294(a)S
- (session)294 3378 A
- (leader,)294 3714 A
- 4050(or)S
- 5940 V
- (27111)210 648 A
- 1152(*)S
- 1236(if)S
- 1362(it)S
- (already)294 1488 A
- (has)126 1824 A
- 1992(a)S
- (controlling)462 2076 A
- (tty,)168 2580 A
- 2790(or)S
- 2916(if)S
- 3042(it)S
- 3168(is)S
- (someone)294 3294 A
- (elses)210 3630 A
- 6030 V
- (27112)210 648 A
- 1152(*)S
- (controlling)462 1236 A
- (tty.)168 1740 A
- 6120 V
- (27113)210 648 A
- 1152(*/)S
- 6210 V
- (27114)210 648 A
- 1110(if)S
- ((!fp->fp_sesldr)630 1236 A
- 1908(||)S
- (fp->fp_tty)420 2034 A
- 2496(!=)S
- 2622(0))S
- 2748({)S
- 8418 V
- EP
- %%Page: 374 374
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (374)180 648 A
- 11 R
- 2101(File:)S
- 2334(src/fs/device.c)S
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 900 V
- 7 LST
- (27115)210 648 A
- (flags)210 1362 A
- 1614(|=)S
- (O_NOCTTY;)378 1740 A
- 990 V
- (27116)210 648 A
- 1110(})S
- (else)168 1194 A
- 1404({)S
- 1080 V
- (27117)210 648 A
- (for)126 1362 A
- ((rfp)168 1530 A
- 1740(=)S
- (&fproc[LOW_USER];)714 1824 A
- (rfp)126 2580 A
- 2748(<)S
- (&fproc[NR_PROCS];)714 2832 A
- (rfp++))252 3588 A
- 3882({)S
- 1170 V
- (27118)210 648 A
- 1698(if)S
- ((rfp->fp_tty)504 1824 A
- 2370(==)S
- (dev))168 2496 A
- (flags)210 2706 A
- 2958(|=)S
- (O_NOCTTY;)378 3084 A
- 1260 V
- (27119)210 648 A
- 1362(})S
- 1350 V
- (27120)210 648 A
- 1110(})S
- 1440 V
- (27121)210 648 A
- 1530 V
- (27122)210 648 A
- 1110(r)S
- 1194(=)S
- (dev_io(DEV_OPEN,)672 1278 A
- (mode,)210 1992 A
- (dev,)168 2244 A
- ((off_t))294 2454 A
- 2790(0,)S
- (flags,)252 2916 A
- (proc,)210 3210 A
- (NIL_PTR);)378 3462 A
- 1620 V
- (27123)210 648 A
- 1710 V
- (27124)210 648 A
- 1110(if)S
- 1236((r)S
- 1362(==)S
- 1488(1))S
- 1614({)S
- 1800 V
- (27125)210 648 A
- (fp->fp_tty)420 1362 A
- 1824(=)S
- (dev;)168 1908 A
- 1890 V
- (27126)210 648 A
- 1362(r)S
- 1446(=)S
- (OK;)126 1530 A
- 1980 V
- (27127)210 648 A
- 1110(})S
- 2070 V
- (27128)210 648 A
- 2160 V
- (27129)210 648 A
- (mess_ptr->REP_STATUS)840 1110 A
- 1992(=)S
- 2076(r;)S
- 2250 V
- (27130)210 648 A
- 1026(})S
- 2520 V
- (27133)210 648 A
- (/*===========================================================================*)3276 1026 A
- 2610 V
- (27134)210 648 A
- 1068(*)S
- (ctty_open)378 2370 A
- 4260(*)S
- 2700 V
- (27135)210 648 A
- (*===========================================================================*/)3276 1068 A
- 2790 V
- (27136)210 648 A
- (PUBLIC)252 1026 A
- (void)168 1320 A
- (ctty_open(task_nr,)756 1530 A
- (mess_ptr))378 2328 A
- 2880 V
- (27137)210 648 A
- (int)126 1026 A
- (task_nr;)336 1194 A
- 2970 V
- (27138)210 648 A
- (message)294 1026 A
- (*mess_ptr;)420 1362 A
- 3060 V
- (27139)210 648 A
- 1026({)S
- 3150 V
- (27140)210 648 A
- 1026(/*)S
- (This)168 1152 A
- (procedure)378 1362 A
- 1782(is)S
- (called)252 1908 A
- (from)168 2202 A
- (the)126 2412 A
- (dmap)168 2580 A
- (struct)252 2790 A
- 3084(in)S
- (table.c)294 3210 A
- 3546(on)S
- (opening)294 3672 A
- 3240 V
- (27141)210 648 A
- 1068(*)S
- (/dev/tty,)378 1152 A
- (the)126 1572 A
- (magic)210 1740 A
- (device)252 1992 A
- (that)168 2286 A
- (translates)420 2496 A
- 2958(to)S
- (the)126 3084 A
- (controlling)462 3252 A
- (tty.)168 3756 A
- 3330 V
- (27142)210 648 A
- 1068(*/)S
- 3420 V
- (27143)210 648 A
- 3510 V
- (27144)210 648 A
- (mess_ptr->REP_STATUS)840 1110 A
- 1992(=)S
- (fp->fp_tty)420 2076 A
- 2538(==)S
- 2664(0)S
- 2748(?)S
- (ENXIO)210 2832 A
- 3084(:)S
- (OK;)126 3168 A
- 3600 V
- (27145)210 648 A
- 1026(})S
- 3870 V
- (27148)210 648 A
- (/*===========================================================================*)3276 1026 A
- 3960 V
- (27149)210 648 A
- 1068(*)S
- (ctty_close)420 2370 A
- 4260(*)S
- 4050 V
- (27150)210 648 A
- (*===========================================================================*/)3276 1068 A
- 4140 V
- (27151)210 648 A
- (PUBLIC)252 1026 A
- (void)168 1320 A
- (ctty_close(task_nr,)798 1530 A
- (mess_ptr))378 2370 A
- 4230 V
- (27152)210 648 A
- (int)126 1026 A
- (task_nr;)336 1194 A
- 4320 V
- (27153)210 648 A
- (message)294 1026 A
- (*mess_ptr;)420 1362 A
- 4410 V
- (27154)210 648 A
- 1026({)S
- 4500 V
- (27155)210 648 A
- 1026(/*)S
- (Close)210 1152 A
- (/dev/tty.)378 1404 A
- 1824(*/)S
- 4590 V
- (27156)210 648 A
- 4680 V
- (27157)210 648 A
- (mess_ptr->REP_STATUS)840 1110 A
- 1992(=)S
- (OK;)126 2076 A
- 4770 V
- (27158)210 648 A
- 1026(})S
- 5040 V
- (27161)210 648 A
- (/*===========================================================================*)3276 1026 A
- 5130 V
- (27162)210 648 A
- 1068(*)S
- (do_setsid)378 2370 A
- 4260(*)S
- 5220 V
- (27163)210 648 A
- (*===========================================================================*/)3276 1068 A
- 5310 V
- (27164)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_setsid())462 1488 A
- 5400 V
- (27165)210 648 A
- 1026({)S
- 5490 V
- (27166)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- 1656(FS)S
- (side)168 1782 A
- 1992(of)S
- (the)126 2118 A
- (SETSID)252 2286 A
- (call,)210 2580 A
- (i.e.)168 2832 A
- (get)126 3042 A
- (rid)126 3210 A
- 3378(of)S
- (the)126 3504 A
- (controlling)462 3672 A
- 5580 V
- (27167)210 648 A
- 1068(*)S
- (terminal)336 1152 A
- 1530(of)S
- 1656(a)S
- (process,)336 1740 A
- (and)126 2118 A
- (make)168 2286 A
- (the)126 2496 A
- (process)294 2664 A
- 3000(a)S
- (session)294 3084 A
- (leader.)294 3420 A
- 5670 V
- (27168)210 648 A
- 1068(*/)S
- 5760 V
- (27169)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (fproc)210 1782 A
- (*rfp;)210 2034 A
- 5850 V
- (27170)210 648 A
- 5940 V
- (27171)210 648 A
- 1110(/*)S
- (Only)168 1236 A
- 1446(MM)S
- (may)126 1572 A
- 1740(do)S
- (the)126 1866 A
- (SETSID)252 2034 A
- (call)168 2328 A
- (directly.)378 2538 A
- 2958(*/)S
- 6030 V
- (27172)210 648 A
- 1110(if)S
- ((who)168 1236 A
- 1446(!=)S
- (MM_PROC_NR))462 1572 A
- (return(ENOSYS);)630 2076 A
- 6120 V
- (27173)210 648 A
- 6210 V
- (27174)210 648 A
- 1110(/*)S
- (Make)168 1236 A
- (the)126 1446 A
- (process)294 1614 A
- 1950(a)S
- (session)294 2034 A
- (leader)252 2370 A
- (with)168 2664 A
- 2874(no)S
- (controlling)462 3000 A
- (tty.)168 3504 A
- 3714(*/)S
- 8418 V
- EP
- %%Page: 375 375
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2101(File:)S
- 2334(src/fs/device.c)S
- 12 B
- (375)180 4248 A
- 900 V
- 7 LST
- (27175)210 648 A
- (rfp)126 1110 A
- 1278(=)S
- (&fproc[slot1];)588 1362 A
- 990 V
- (27176)210 648 A
- (rfp->fp_sesldr)588 1110 A
- 1740(=)S
- (TRUE;)210 1824 A
- 1080 V
- (27177)210 648 A
- (rfp->fp_tty)462 1110 A
- 1614(=)S
- 1698(0;)S
- 1170 V
- (27178)210 648 A
- 1026(})S
- 1440 V
- (27181)210 648 A
- (/*===========================================================================*)3276 1026 A
- 1530 V
- (27182)210 648 A
- 1068(*)S
- (do_ioctl)336 2370 A
- 4260(*)S
- 1620 V
- (27183)210 648 A
- (*===========================================================================*/)3276 1068 A
- 1710 V
- (27184)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (do_ioctl())420 1488 A
- 1800 V
- (27185)210 648 A
- 1026({)S
- 1890 V
- (27186)210 648 A
- 1026(/*)S
- (Perform)294 1152 A
- (the)126 1488 A
- (ioctl(ls_fd,)504 1656 A
- (request,)336 2202 A
- (argx))210 2580 A
- (system)252 2832 A
- (call)168 3126 A
- ((uses)210 3336 A
- 3588(m2)S
- (fmt).)210 3714 A
- 3966(*/)S
- 1980 V
- (27187)210 648 A
- 2070 V
- (27188)210 648 A
- (struct)252 1110 A
- (filp)168 1404 A
- (*f;)126 1614 A
- 2160 V
- (27189)210 648 A
- (register)336 1110 A
- (struct)252 1488 A
- (inode)210 1782 A
- (*rip;)210 2034 A
- 2250 V
- (27190)210 648 A
- (dev_t)210 1110 A
- (dev;)168 1362 A
- 2340 V
- (27191)210 648 A
- 2430 V
- (27192)210 648 A
- 1110(if)S
- 1236(()S
- 1320((f)S
- 1446(=)S
- (get_filp(ls_fd)))672 1530 A
- 2244(==)S
- (NIL_FILP))378 2370 A
- (return(err_code);)714 2790 A
- 2520 V
- (27193)210 648 A
- (rip)126 1110 A
- 1278(=)S
- (f->filp_ino;)504 1362 A
- 2370(/*)S
- (get)126 2496 A
- (inode)210 2664 A
- (pointer)294 2916 A
- 3252(*/)S
- 2610 V
- (27194)210 648 A
- 1110(if)S
- 1236(()S
- ((rip->i_mode)504 1320 A
- 1866(&)S
- (I_TYPE))294 1950 A
- 2286(!=)S
- (I_CHAR_SPECIAL)588 2412 A
- 2700 V
- (27195)210 648 A
- 1362(&&)S
- ((rip->i_mode)504 1488 A
- 2034(&)S
- (I_TYPE))294 2118 A
- 2454(!=)S
- (I_BLOCK_SPECIAL))672 2580 A
- (return(ENOTTY);)630 3294 A
- 2790 V
- (27196)210 648 A
- (dev)126 1110 A
- 1278(=)S
- ((dev_t))294 1362 A
- (rip->i_zone[0];)630 1698 A
- 2880 V
- (27197)210 648 A
- (find_dev(dev);)588 1110 A
- 2970 V
- (27198)210 648 A
- 3060 V
- (27199)210 648 A
- (dev_mess=)378 1110 A
- 1530(m;)S
- 3150 V
- (27200)210 648 A
- 3240 V
- (27201)210 648 A
- (dev_mess.m_type)630 1110 A
- 1824(=)S
- (DEV_IOCTL;)420 1908 A
- 3330 V
- (27202)210 648 A
- (dev_mess.PROC_NR)672 1110 A
- 1824(=)S
- (who;)168 1908 A
- 3420 V
- (27203)210 648 A
- (dev_mess.TTY_LINE)714 1110 A
- 1866(=)S
- (minor;)252 1950 A
- 3510 V
- (27204)210 648 A
- 3600 V
- (27205)210 648 A
- 1110(/*)S
- (Call)168 1236 A
- (the)126 1446 A
- (task.)210 1614 A
- 1866(*/)S
- 3690 V
- (27206)210 648 A
- ((*dmap[major].dmap_rw)(task,)1176 1110 A
- (&dev_mess);)462 2328 A
- 3780 V
- (27207)210 648 A
- 3870 V
- (27208)210 648 A
- 1110(/*)S
- (Task)168 1236 A
- (has)126 1446 A
- (completed.)420 1614 A
- (See)126 2118 A
- 2286(if)S
- (call)168 2412 A
- (completed.)420 2622 A
- 3084(*/)S
- 3960 V
- (27209)210 648 A
- 1110(if)S
- ((dev_mess.REP_STATUS)840 1236 A
- 2118(==)S
- (SUSPEND))336 2244 A
- 2622({)S
- 4050 V
- (27210)210 648 A
- 1362(if)S
- ((f->filp_flags)588 1488 A
- 2118(&)S
- (O_NONBLOCK))462 2202 A
- 2706({)S
- 4140 V
- (27211)210 648 A
- 1698(/*)S
- (Not)126 1824 A
- (supposed)336 1992 A
- 2370(to)S
- (block.)252 2496 A
- 2790(*/)S
- 4230 V
- (27212)210 648 A
- (dev_mess.m_type)630 1698 A
- 2370(=)S
- (CANCEL;)294 2454 A
- 4320 V
- (27213)210 648 A
- (dev_mess.PROC_NR)672 1698 A
- 2412(=)S
- (who;)168 2496 A
- 4410 V
- (27214)210 648 A
- (dev_mess.TTY_LINE)714 1698 A
- 2454(=)S
- (minor;)252 2538 A
- 4500 V
- (27215)210 648 A
- ((*dmap[major].dmap_rw)(task,)1176 1698 A
- (&dev_mess);)462 2916 A
- 4590 V
- (27216)210 648 A
- 1698(if)S
- ((dev_mess.REP_STATUS)840 1824 A
- 2706(==)S
- (EINTR))252 2832 A
- (dev_mess.REP_STATUS)798 3126 A
- 3966(=)S
- (EAGAIN;)294 4050 A
- 4680 V
- (27217)210 648 A
- 1362(})S
- (else)168 1446 A
- 1656({)S
- 4770 V
- (27218)210 648 A
- (suspend(task);)588 1698 A
- 2706(/*)S
- (User)168 2832 A
- (must)168 3042 A
- 3252(be)S
- (suspended.)420 3378 A
- 3840(*/)S
- 4860 V
- (27219)210 648 A
- 1362(})S
- 4950 V
- (27220)210 648 A
- 1110(})S
- 5040 V
- (27221)210 648 A
- (return(dev_mess.REP_STATUS);)1176 1110 A
- 5130 V
- (27222)210 648 A
- 1026(})S
- 5400 V
- (27225)210 648 A
- (/*===========================================================================*)3276 1026 A
- 5490 V
- (27226)210 648 A
- 1068(*)S
- (find_dev)336 2370 A
- 4260(*)S
- 5580 V
- (27227)210 648 A
- (*===========================================================================*/)3276 1068 A
- 5670 V
- (27228)210 648 A
- (PRIVATE)294 1026 A
- (void)168 1362 A
- (find_dev(dev))546 1572 A
- 5760 V
- (27229)210 648 A
- (dev_t)210 1026 A
- (dev;)168 1278 A
- 2370(/*)S
- (device)252 2496 A
- 2790(*/)S
- 5850 V
- (27230)210 648 A
- 1026({)S
- 5940 V
- (27231)210 648 A
- 1026(/*)S
- (Extract)294 1152 A
- (the)126 1488 A
- (major)210 1656 A
- (and)126 1908 A
- (minor)210 2076 A
- (device)252 2328 A
- (number)252 2622 A
- (from)168 2916 A
- (the)126 3126 A
- (parameter.)420 3294 A
- 3756(*/)S
- 6030 V
- (27232)210 648 A
- 6120 V
- (27233)210 648 A
- (major)210 1110 A
- 1362(=)S
- ((dev)168 1446 A
- 1656(>>)S
- (MAJOR))252 1782 A
- 2076(&)S
- (BYTE;)210 2160 A
- 2706(/*)S
- (major)210 2832 A
- (device)252 3084 A
- (number)252 3378 A
- 3672(*/)S
- 6210 V
- (27234)210 648 A
- (minor)210 1110 A
- 1362(=)S
- ((dev)168 1446 A
- 1656(>>)S
- (MINOR))252 1782 A
- 2076(&)S
- (BYTE;)210 2160 A
- 2706(/*)S
- (minor)210 2832 A
- (device)252 3084 A
- (number)252 3378 A
- 3672(*/)S
- 8418 V
- EP
- %%Page: 376 376
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (376)180 648 A
- 11 R
- 2101(File:)S
- 2334(src/fs/device.c)S
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 900 V
- 7 LST
- (27235)210 648 A
- 1110(if)S
- ((major)252 1236 A
- 1530(>=)S
- (max_major))420 1656 A
- 2118({)S
- 990 V
- (27236)210 648 A
- (major)210 1362 A
- 1614(=)S
- (minor)210 1698 A
- 1950(=)S
- 2034(0;)S
- 2706(/*)S
- (will)168 2832 A
- (fail)168 3042 A
- (with)168 3252 A
- (ENODEV)252 3462 A
- 3756(*/)S
- 1080 V
- (27237)210 648 A
- 1110(})S
- 1170 V
- (27238)210 648 A
- (task)168 1110 A
- 1320(=)S
- (dmap[major].dmap_task;)924 1404 A
- 2370(/*)S
- (which)210 2496 A
- (task)168 2748 A
- (services)336 2958 A
- (the)126 3336 A
- (device)252 3504 A
- 3798(*/)S
- 1260 V
- (27239)210 648 A
- 1026(})S
- 1530 V
- (27242)210 648 A
- (/*===========================================================================*)3276 1026 A
- 1620 V
- (27243)210 648 A
- 1068(*)S
- (call_task)378 2370 A
- 4260(*)S
- 1710 V
- (27244)210 648 A
- (*===========================================================================*/)3276 1068 A
- 1800 V
- (27245)210 648 A
- (PUBLIC)252 1026 A
- (void)168 1320 A
- (call_task(task_nr,)756 1530 A
- (mess_ptr))378 2328 A
- 1890 V
- (27246)210 648 A
- (int)126 1026 A
- (task_nr;)336 1194 A
- 2370(/*)S
- (which)210 2496 A
- (task)168 2748 A
- 2958(to)S
- (call)168 3084 A
- 3294(*/)S
- 1980 V
- (27247)210 648 A
- (message)294 1026 A
- (*mess_ptr;)420 1362 A
- 2370(/*)S
- (pointer)294 2496 A
- 2832(to)S
- (message)294 2958 A
- (for)126 3294 A
- (task)168 3462 A
- 3672(*/)S
- 2070 V
- (27248)210 648 A
- 1026({)S
- 2160 V
- (27249)210 648 A
- 1026(/*)S
- (All)126 1152 A
- (file)168 1320 A
- (system)252 1530 A
- (I/O)126 1824 A
- (ultimately)420 1992 A
- (comes)210 2454 A
- (down)168 2706 A
- 2916(to)S
- (I/O)126 3042 A
- 3210(on)S
- (major/minor)462 3336 A
- (device)252 3840 A
- 2250 V
- (27250)210 648 A
- 1068(*)S
- (pairs.)252 1152 A
- (These)210 1488 A
- (lead)168 1740 A
- 1950(to)S
- (calls)210 2076 A
- 2328(on)S
- (the)126 2454 A
- (following)378 2622 A
- (routines)336 3042 A
- (via)126 3420 A
- (the)126 3588 A
- (dmap)168 3756 A
- (table.)252 3966 A
- 2340 V
- (27251)210 648 A
- 1068(*/)S
- 2430 V
- (27252)210 648 A
- 2520 V
- (27253)210 648 A
- (int)126 1110 A
- 1278(r,)S
- (proc_nr;)336 1404 A
- 2610 V
- (27254)210 648 A
- (message)294 1110 A
- (local_m;)336 1446 A
- 2700 V
- (27255)210 648 A
- 2790 V
- (27256)210 648 A
- (proc_nr)294 1110 A
- 1446(=)S
- (mess_ptr->PROC_NR;)756 1530 A
- 2880 V
- (27257)210 648 A
- 2970 V
- (27258)210 648 A
- (while)210 1110 A
- (((r)126 1362 A
- 1530(=)S
- (sendrec(task_nr,)672 1614 A
- (mess_ptr)))420 2328 A
- 2790(==)S
- (ELOCKED))336 2916 A
- 3294({)S
- 3060 V
- (27259)210 648 A
- 1362(/*)S
- (sendrec())378 1488 A
- (failed)252 1908 A
- 2202(to)S
- (avoid)210 2328 A
- (deadlock.)378 2580 A
- (The)126 3000 A
- (task)168 3168 A
- ('task_nr')378 3378 A
- 3798(is)S
- 3150 V
- (27260)210 648 A
- 1404(*)S
- (trying)252 1488 A
- 1782(to)S
- (send)168 1908 A
- 2118(a)S
- (REVIVE)252 2202 A
- (message)294 2496 A
- (for)126 2832 A
- 3000(an)S
- (earlier)294 3126 A
- (request.)336 3462 A
- 3240 V
- (27261)210 648 A
- 1404(*)S
- (Handle)252 1488 A
- 1782(it)S
- (and)126 1908 A
- 2076(go)S
- (try)126 2202 A
- (again.)252 2370 A
- 3330 V
- (27262)210 648 A
- 1404(*/)S
- 3420 V
- (27263)210 648 A
- 1362(if)S
- (((r)126 1488 A
- 1656(=)S
- (receive(task_nr,)672 1740 A
- (&local_m)))420 2454 A
- 2916(!=)S
- (OK))126 3042 A
- (break;)252 3210 A
- 3510 V
- (27264)210 648 A
- 3600 V
- (27265)210 648 A
- 1362(/*)S
- 1488(If)S
- (we're)210 1614 A
- (trying)252 1866 A
- 2160(to)S
- (send)168 2286 A
- 2496(a)S
- (cancel)252 2580 A
- (message)294 2874 A
- 3210(to)S
- 3336(a)S
- (task)168 3420 A
- (which)210 3630 A
- (has)126 3882 A
- (just)168 4050 A
- 3690 V
- (27266)210 648 A
- 1404(*)S
- (sent)168 1488 A
- 1698(a)S
- (completion)420 1782 A
- (reply,)252 2244 A
- (ignore)252 2538 A
- (the)126 2832 A
- (reply)210 3000 A
- (and)126 3252 A
- (abort)210 3420 A
- (the)126 3672 A
- (cancel)252 3840 A
- 3780 V
- (27267)210 648 A
- 1404(*)S
- (request.)336 1488 A
- (The)126 1866 A
- (caller)252 2034 A
- (will)168 2328 A
- 2538(do)S
- (the)126 2664 A
- (revive)252 2832 A
- (for)126 3126 A
- (the)126 3294 A
- (process.)336 3462 A
- 3870 V
- (27268)210 648 A
- 1404(*/)S
- 3960 V
- (27269)210 648 A
- 1362(if)S
- ((mess_ptr->m_type)714 1488 A
- 2244(==)S
- (CANCEL)252 2370 A
- 2664(&&)S
- (local_m.REP_PROC_NR)798 2790 A
- 3630(==)S
- (proc_nr))336 3756 A
- 4050 V
- (27270)210 648 A
- (return;)294 1698 A
- 4140 V
- (27271)210 648 A
- 4230 V
- (27272)210 648 A
- 1362(/*)S
- (Otherwise)378 1488 A
- 1908(it)S
- (should)252 2034 A
- 2328(be)S
- 2454(a)S
- (REVIVE.)294 2538 A
- 2874(*/)S
- 4320 V
- (27273)210 648 A
- 1362(if)S
- ((local_m.m_type)630 1488 A
- 2160(!=)S
- (REVIVE))294 2286 A
- 2622({)S
- 4410 V
- (27274)210 648 A
- (printf()294 1698 A
- 4500 V
- (27275)210 648 A
- ("fs:)168 1698 A
- (strange)294 1908 A
- (device)252 2244 A
- (reply)210 2538 A
- (from)168 2790 A
- (%d,)126 3000 A
- (type)168 3168 A
- 3378(=)S
- (%d,)126 3462 A
- (proc)168 3630 A
- 3840(=)S
- (%d\n",)252 3924 A
- 4590 V
- (27276)210 648 A
- (local_m.m_source,)714 2034 A
- 4680 V
- (27277)210 648 A
- (local_m.m_type,)630 2034 A
- (local_m.REP_PROC_NR);)882 2706 A
- 4770 V
- (27278)210 648 A
- (continue;)378 1698 A
- 4860 V
- (27279)210 648 A
- 1362(})S
- 4950 V
- (27280)210 648 A
- 5040 V
- (27281)210 648 A
- (revive(local_m.REP_PROC_NR,)1134 1362 A
- (local_m.REP_STATUS);)840 2538 A
- 5130 V
- (27282)210 648 A
- 1110(})S
- 5220 V
- (27283)210 648 A
- 5310 V
- (27284)210 648 A
- 1110(/*)S
- (The)126 1236 A
- (message)294 1404 A
- (received)336 1740 A
- (may)126 2118 A
- 2286(be)S
- 2412(a)S
- (reply)210 2496 A
- 2748(to)S
- (this)168 2874 A
- (call,)210 3084 A
- 3336(or)S
- 3462(a)S
- (REVIVE)252 3546 A
- (for)126 3840 A
- (some)168 4008 A
- 5400 V
- (27285)210 648 A
- 1152(*)S
- (other)210 1236 A
- (process.)336 1488 A
- 5490 V
- (27286)210 648 A
- 1152(*/)S
- 5580 V
- (27287)210 648 A
- (for)126 1110 A
- ((;;))168 1278 A
- 1488({)S
- 5670 V
- (27288)210 648 A
- 1362(if)S
- 1488((r)S
- 1614(!=)S
- (OK))126 1740 A
- (panic("call_task:)714 1908 A
- (can't)210 2664 A
- (send/receive",)588 2916 A
- (NO_NUM);)336 3546 A
- 5760 V
- (27289)210 648 A
- 5850 V
- (27290)210 648 A
- 1362(/*)S
- (Did)126 1488 A
- (the)126 1656 A
- (process)294 1824 A
- 2160(we)S
- (did)126 2286 A
- (the)126 2454 A
- (sendrec())378 2622 A
- (for)126 3042 A
- (get)126 3210 A
- 3378(a)S
- (result?)294 3462 A
- 3798(*/)S
- 5940 V
- (27291)210 648 A
- 1362(if)S
- ((mess_ptr->REP_PROC_NR)924 1488 A
- 2454(==)S
- (proc_nr))336 2580 A
- (break;)252 2958 A
- 6030 V
- (27292)210 648 A
- 6120 V
- (27293)210 648 A
- 1362(/*)S
- (Otherwise)378 1488 A
- 1908(it)S
- (should)252 2034 A
- 2328(be)S
- 2454(a)S
- (REVIVE.)294 2538 A
- 2874(*/)S
- 6210 V
- (27294)210 648 A
- 1362(if)S
- ((mess_ptr->m_type)714 1488 A
- 2244(!=)S
- (REVIVE))294 2370 A
- 2706({)S
- 8418 V
- EP
- %%Page: 377 377
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2101(File:)S
- 2334(src/fs/device.c)S
- 12 B
- (377)180 4248 A
- 900 V
- 7 LST
- (27295)210 648 A
- (printf()294 1698 A
- 990 V
- (27296)210 648 A
- ("fs:)168 1698 A
- (strange)294 1908 A
- (device)252 2244 A
- (reply)210 2538 A
- (from)168 2790 A
- (%d,)126 3000 A
- (type)168 3168 A
- 3378(=)S
- (%d,)126 3462 A
- (proc)168 3630 A
- 3840(=)S
- (%d\n",)252 3924 A
- 1080 V
- (27297)210 648 A
- (mess_ptr->m_source,)798 2034 A
- 1170 V
- (27298)210 648 A
- (mess_ptr->m_type,)714 2034 A
- (mess_ptr->REP_PROC_NR);)966 2790 A
- 1260 V
- (27299)210 648 A
- (continue;)378 1698 A
- 1350 V
- (27300)210 648 A
- 1362(})S
- 1440 V
- (27301)210 648 A
- (revive(mess_ptr->REP_PROC_NR,)1218 1362 A
- (mess_ptr->REP_STATUS);)924 2622 A
- 1530 V
- (27302)210 648 A
- 1620 V
- (27303)210 648 A
- 1362(r)S
- 1446(=)S
- (receive(task_nr,)672 1530 A
- (mess_ptr);)420 2244 A
- 1710 V
- (27304)210 648 A
- 1110(})S
- 1800 V
- (27305)210 648 A
- 1026(})S
- 2070 V
- (27308)210 648 A
- (/*===========================================================================*)3276 1026 A
- 2160 V
- (27309)210 648 A
- 1068(*)S
- (call_ctty)378 2370 A
- 4596(*)S
- 2250 V
- (27310)210 648 A
- (*===========================================================================*/)3276 1068 A
- 2340 V
- (27311)210 648 A
- (PUBLIC)252 1026 A
- (void)168 1320 A
- (call_ctty(task_nr,)756 1530 A
- (mess_ptr))378 2328 A
- 2430 V
- (27312)210 648 A
- (int)126 1026 A
- (task_nr;)336 1194 A
- 2370(/*)S
- (not)126 2496 A
- (used)168 2664 A
- 2874(-)S
- (for)126 2958 A
- (compatibility)546 3126 A
- (with)168 3714 A
- (dmap_t)252 3924 A
- 4218(*/)S
- 2520 V
- (27313)210 648 A
- (message)294 1026 A
- (*mess_ptr;)420 1362 A
- 2370(/*)S
- (pointer)294 2496 A
- 2832(to)S
- (message)294 2958 A
- (for)126 3294 A
- (task)168 3462 A
- 3672(*/)S
- 2610 V
- (27314)210 648 A
- 1026({)S
- 2700 V
- (27315)210 648 A
- 1026(/*)S
- (This)168 1152 A
- (routine)294 1362 A
- 1698(is)S
- (only)168 1824 A
- (called)252 2034 A
- (for)126 2328 A
- (one)126 2496 A
- (device,)294 2664 A
- (namely)252 3000 A
- (/dev/tty.)378 3294 A
- (Its)126 3756 A
- (job)126 3924 A
- 2790 V
- (27316)210 648 A
- 1068(*)S
- 1152(is)S
- 1278(to)S
- (change)252 1404 A
- (the)126 1698 A
- (message)294 1866 A
- 2202(to)S
- (use)126 2328 A
- (the)126 2496 A
- (controlling)462 2664 A
- (terminal,)378 3168 A
- (instead)294 3588 A
- 3924(of)S
- (the)126 4050 A
- 2880 V
- (27317)210 648 A
- 1068(*)S
- (major/minor)462 1152 A
- (pair)168 1656 A
- (for)126 1866 A
- (/dev/tty)336 2034 A
- (itself.)294 2412 A
- 2970 V
- (27318)210 648 A
- 1068(*/)S
- 3060 V
- (27319)210 648 A
- 3150 V
- (27320)210 648 A
- (int)126 1110 A
- (major_device;)546 1278 A
- 3240 V
- (27321)210 648 A
- 3330 V
- (27322)210 648 A
- 1110(if)S
- ((fp->fp_tty)462 1236 A
- 1740(==)S
- 1866(0))S
- 1992({)S
- 3420 V
- (27323)210 648 A
- 1362(/*)S
- 1488(No)S
- (controlling)462 1614 A
- (tty)126 2118 A
- (present)294 2286 A
- (anymore,)336 2622 A
- (return)252 3000 A
- 3294(an)S
- (I/O)126 3420 A
- (error.)252 3588 A
- 3882(*/)S
- 3510 V
- (27324)210 648 A
- (mess_ptr->REP_STATUS)840 1362 A
- 2244(=)S
- (EIO;)168 2328 A
- 3600 V
- (27325)210 648 A
- (return;)294 1362 A
- 3690 V
- (27326)210 648 A
- 1110(})S
- 3780 V
- (27327)210 648 A
- (major_device)504 1110 A
- 1656(=)S
- ((fp->fp_tty)462 1740 A
- 2244(>>)S
- (MAJOR))252 2370 A
- 2664(&)S
- (BYTE;)210 2748 A
- 3870 V
- (27328)210 648 A
- (task_nr)294 1110 A
- 1446(=)S
- (dmap[major_device].dmap_task;)1218 1530 A
- 3042(/*)S
- (task)168 3168 A
- (for)126 3378 A
- (controlling)462 3546 A
- (tty)126 4050 A
- 4218(*/)S
- 3960 V
- (27329)210 648 A
- (mess_ptr->DEVICE)672 1110 A
- 1824(=)S
- ((fp->fp_tty)462 1908 A
- 2412(>>)S
- (MINOR))252 2538 A
- 2832(&)S
- (BYTE;)210 2916 A
- 4050 V
- (27330)210 648 A
- (call_task(task_nr,)756 1110 A
- (mess_ptr);)420 1908 A
- 4140 V
- (27331)210 648 A
- 1026(})S
- 4410 V
- (27334)210 648 A
- (/*===========================================================================*)3276 1026 A
- 4500 V
- (27335)210 648 A
- 1068(*)S
- (no_dev)252 2370 A
- 4260(*)S
- 4590 V
- (27336)210 648 A
- (*===========================================================================*/)3276 1068 A
- 4680 V
- (27337)210 648 A
- (PUBLIC)252 1026 A
- (void)168 1320 A
- (no_dev(task_nr,)630 1530 A
- (m_ptr))252 2202 A
- 4770 V
- (27338)210 648 A
- (int)126 1026 A
- (task_nr;)336 1194 A
- 2370(/*)S
- (not)126 2496 A
- (used)168 2664 A
- 2874(-)S
- (for)126 2958 A
- (compatibility)546 3126 A
- (with)168 3714 A
- (dmap_t)252 3924 A
- 4218(*/)S
- 4860 V
- (27339)210 648 A
- (message)294 1026 A
- (*m_ptr;)294 1362 A
- 2370(/*)S
- (message)294 2496 A
- (pointer)294 2832 A
- 3168(*/)S
- 4950 V
- (27340)210 648 A
- 1026({)S
- 5040 V
- (27341)210 648 A
- 1026(/*)S
- 1152(No)S
- (device)252 1278 A
- (there.)252 1572 A
- 1866(*/)S
- 5130 V
- (27342)210 648 A
- 5220 V
- (27343)210 648 A
- (m_ptr->REP_STATUS)714 1110 A
- 1866(=)S
- (ENODEV;)294 1950 A
- 5310 V
- (27344)210 648 A
- 1026(})S
- 8418 V
- EP
- %%Page: 378 378
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (378)180 648 A
- 11 R
- 2114(File:)S
- (src/fs/utility.c)615 2347 A
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 990 V
- 7 LST
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 1080 V
- (src/fs/utility.c)672 2034 A
- 1170 V
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 1350 V
- (27400)210 648 A
- 1026(/*)S
- (This)168 1152 A
- (file)168 1362 A
- (contains)336 1572 A
- 1950(a)S
- (few)126 2034 A
- (general)294 2202 A
- (purpose)294 2538 A
- (utility)294 2874 A
- (routines.)378 3210 A
- 1440 V
- (27401)210 648 A
- 1068(*)S
- 1530 V
- (27402)210 648 A
- 1068(*)S
- (The)126 1152 A
- (entry)210 1320 A
- (points)252 1572 A
- (into)168 1866 A
- (this)168 2076 A
- (file)168 2286 A
- (are)126 2496 A
- 1620 V
- (27403)210 648 A
- 1068(*)S
- (clock_time:)462 1236 A
- (ask)126 1782 A
- (the)126 1950 A
- (clock)210 2118 A
- (task)168 2370 A
- (for)126 2580 A
- (the)126 2748 A
- (real)168 2916 A
- (time)168 3126 A
- 1710 V
- (27404)210 648 A
- 1068(*)S
- (copy:)210 1236 A
- (copy)168 1782 A
- 1992(a)S
- (block)210 2076 A
- 2328(of)S
- (data)168 2454 A
- 1800 V
- (27405)210 648 A
- 1068(*)S
- (fetch_name:)462 1236 A
- 1782(go)S
- (get)126 1908 A
- 2076(a)S
- (path)168 2160 A
- (name)168 2370 A
- (from)168 2580 A
- (user)168 2790 A
- (space)210 3000 A
- 1890 V
- (27406)210 648 A
- 1068(*)S
- (no_sys:)294 1236 A
- (reject)252 1782 A
- 2076(a)S
- (system)252 2160 A
- (call)168 2454 A
- (that)168 2664 A
- 2874(FS)S
- (does)168 3000 A
- (not)126 3210 A
- (handle)252 3378 A
- 1980 V
- (27407)210 648 A
- 1068(*)S
- (panic:)252 1236 A
- (something)378 1782 A
- (awful)210 2202 A
- (has)126 2454 A
- (occurred;)378 2622 A
- (MINIX)210 3084 A
- (cannot)252 3336 A
- (continue)336 3630 A
- 2070 V
- (27408)210 648 A
- 1068(*)S
- (conv2:)252 1236 A
- 1782(do)S
- (byte)168 1908 A
- (swapping)336 2118 A
- 2496(on)S
- 2622(a)S
- (16-bit)252 2706 A
- (int)126 3000 A
- 2160 V
- (27409)210 648 A
- 1068(*)S
- (conv4:)252 1236 A
- 1782(do)S
- (byte)168 1908 A
- (swapping)336 2118 A
- 2496(on)S
- 2622(a)S
- (32-bit)252 2706 A
- (long)168 3000 A
- 2250 V
- (27410)210 648 A
- 1068(*/)S
- 2340 V
- (27411)210 648 A
- 2430 V
- (27412)210 648 A
- (#include)336 1026 A
- ("fs.h")252 1404 A
- 2520 V
- (27413)210 648 A
- (#include)336 1026 A
- (<minix/com.h>)546 1404 A
- 2610 V
- (27414)210 648 A
- (#include)336 1026 A
- (<minix/boot.h>)588 1404 A
- 2700 V
- (27415)210 648 A
- (#include)336 1026 A
- (<unistd.h>)420 1404 A
- 2790 V
- (27416)210 648 A
- (#include)336 1026 A
- ("buf.h")294 1404 A
- 2880 V
- (27417)210 648 A
- (#include)336 1026 A
- ("file.h")336 1404 A
- 2970 V
- (27418)210 648 A
- (#include)336 1026 A
- ("fproc.h")378 1404 A
- 3060 V
- (27419)210 648 A
- (#include)336 1026 A
- ("inode.h")378 1404 A
- 3150 V
- (27420)210 648 A
- (#include)336 1026 A
- ("param.h")378 1404 A
- 3240 V
- (27421)210 648 A
- 3330 V
- (27422)210 648 A
- (PRIVATE)294 1026 A
- (int)126 1362 A
- (panicking;)420 1530 A
- 2370(/*)S
- (inhibits)336 2496 A
- (recursive)378 2874 A
- (panics)252 3294 A
- (during)252 3588 A
- (sync)168 3882 A
- 4092(*/)S
- 3420 V
- (27423)210 648 A
- (PRIVATE)294 1026 A
- (message)294 1362 A
- (clock_mess;)462 1698 A
- 3510 V
- (27424)210 648 A
- 3600 V
- (27425)210 648 A
- (/*===========================================================================*)3276 1026 A
- 3690 V
- (27426)210 648 A
- 1068(*)S
- (clock_time)420 2370 A
- 4260(*)S
- 3780 V
- (27427)210 648 A
- (*===========================================================================*/)3276 1068 A
- 3870 V
- (27428)210 648 A
- (PUBLIC)252 1026 A
- (time_t)252 1320 A
- (clock_time())504 1614 A
- 3960 V
- (27429)210 648 A
- 1026({)S
- 4050 V
- (27430)210 648 A
- 1026(/*)S
- (This)168 1152 A
- (routine)294 1362 A
- (returns)294 1698 A
- (the)126 2034 A
- (time)168 2202 A
- 2412(in)S
- (seconds)294 2538 A
- (since)210 2874 A
- (1.1.1970.)378 3126 A
- (MINIX)210 3588 A
- 3840(is)S
- 3966(an)S
- 4140 V
- (27431)210 648 A
- 1068(*)S
- (astrophysically)630 1152 A
- (naive)210 1824 A
- (system)252 2076 A
- (that)168 2370 A
- (assumes)294 2580 A
- (the)126 2916 A
- (earth)210 3084 A
- (rotates)294 3336 A
- 3672(at)S
- 3798(a)S
- (constant)336 3882 A
- 4230 V
- (27432)210 648 A
- 1068(*)S
- (rate)168 1152 A
- (and)126 1362 A
- (that)168 1530 A
- (such)168 1740 A
- (things)252 1950 A
- 2244(as)S
- (leap)168 2370 A
- (seconds)294 2580 A
- 2916(do)S
- (not)126 3042 A
- (exist.)252 3210 A
- 4320 V
- (27433)210 648 A
- 1068(*/)S
- 4410 V
- (27434)210 648 A
- 4500 V
- (27435)210 648 A
- (register)336 1110 A
- (int)126 1488 A
- 1656(k;)S
- 4590 V
- (27436)210 648 A
- 4680 V
- (27437)210 648 A
- (clock_mess.m_type)714 1110 A
- 1866(=)S
- (GET_TIME;)378 1950 A
- 4770 V
- (27438)210 648 A
- 1110(if)S
- 1236(()S
- 1320((k)S
- 1446(=)S
- (sendrec(CLOCK,)588 1530 A
- (&clock_mess)))546 2160 A
- 2748(!=)S
- (OK))126 2874 A
- (panic("clock_time)714 3042 A
- (err",)210 3798 A
- (k);)126 4050 A
- 4860 V
- (27439)210 648 A
- 4950 V
- (27440)210 648 A
- (return()294 1110 A
- ((time_t))336 1446 A
- (clock_mess.NEW_TIME);)882 1824 A
- 5040 V
- (27441)210 648 A
- 1026(})S
- 5310 V
- (27444)210 648 A
- (/*===========================================================================*)3276 1026 A
- 5400 V
- (27445)210 648 A
- 1068(*)S
- (fetch_name)420 2370 A
- 4260(*)S
- 5490 V
- (27446)210 648 A
- (*===========================================================================*/)3276 1068 A
- 5580 V
- (27447)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (fetch_name(path,)672 1488 A
- (len,)168 2202 A
- (flag))210 2412 A
- 5670 V
- (27448)210 648 A
- (char)168 1026 A
- (*path;)252 1236 A
- 2370(/*)S
- (pointer)294 2496 A
- 2832(to)S
- (the)126 2958 A
- (path)168 3126 A
- 3336(in)S
- (user)168 3462 A
- (space)210 3672 A
- 3924(*/)S
- 5760 V
- (27449)210 648 A
- (int)126 1026 A
- (len;)168 1194 A
- 2370(/*)S
- (path)168 2496 A
- (length,)294 2706 A
- (including)378 3042 A
- 3462(0)S
- (byte)168 3546 A
- 3756(*/)S
- 5850 V
- (27450)210 648 A
- (int)126 1026 A
- (flag;)210 1194 A
- 2370(/*)S
- 2496(M3)S
- (means)210 2622 A
- (path)168 2874 A
- (may)126 3084 A
- 3252(be)S
- 3378(in)S
- (message)294 3504 A
- 3840(*/)S
- 5940 V
- (27451)210 648 A
- 1026({)S
- 6030 V
- (27452)210 648 A
- 1026(/*)S
- 1152(Go)S
- (get)126 1278 A
- (path)168 1446 A
- (and)126 1656 A
- (put)126 1824 A
- 1992(it)S
- 2118(in)S
- ('user_path'.)504 2244 A
- 6120 V
- (27453)210 648 A
- 1068(*)S
- 1152(If)S
- ('flag')252 1278 A
- 1572(=)S
- 1656(M3)S
- (and)126 1782 A
- ('len')210 1950 A
- 2202(<=)S
- (M3_STRING,)420 2328 A
- (the)126 2790 A
- (path)168 2958 A
- 3168(is)S
- (present)294 3294 A
- 3630(in)S
- ('message'.)420 3756 A
- 6210 V
- (27454)210 648 A
- 1068(*)S
- 1152(If)S
- 1278(it)S
- 1404(is)S
- (not,)168 1530 A
- 1740(go)S
- (copy)168 1866 A
- 2076(it)S
- (from)168 2202 A
- (user)168 2412 A
- (space.)252 2622 A
- 8418 V
- EP
- %%Page: 379 379
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2114(File:)S
- (src/fs/utility.c)615 2347 A
- 12 B
- (379)180 4248 A
- 900 V
- 7 LST
- (27455)210 648 A
- 1068(*/)S
- 990 V
- (27456)210 648 A
- 1080 V
- (27457)210 648 A
- (register)336 1110 A
- (char)168 1488 A
- (*rpu,)210 1698 A
- (*rpm;)210 1950 A
- 1170 V
- (27458)210 648 A
- (int)126 1110 A
- 1278(r;)S
- 1260 V
- (27459)210 648 A
- 1350 V
- (27460)210 648 A
- 1110(/*)S
- (Check)210 1236 A
- (name)168 1488 A
- (length)252 1698 A
- (for)126 1992 A
- (validity.)378 2160 A
- 2580(*/)S
- 1440 V
- (27461)210 648 A
- 1110(if)S
- ((len)168 1236 A
- 1446(<=)S
- 1572(0))S
- 1698({)S
- 1530 V
- (27462)210 648 A
- (err_code)336 1362 A
- 1740(=)S
- (EINVAL;)294 1824 A
- 1620 V
- (27463)210 648 A
- (return(EGENERIC);)714 1362 A
- 1710 V
- (27464)210 648 A
- 1110(})S
- 1800 V
- (27465)210 648 A
- 1890 V
- (27466)210 648 A
- 1110(if)S
- ((len)168 1236 A
- 1446(>)S
- (PATH_MAX))378 1530 A
- 1950({)S
- 1980 V
- (27467)210 648 A
- (err_code)336 1362 A
- 1740(=)S
- (ENAMETOOLONG;)546 1824 A
- 2070 V
- (27468)210 648 A
- (return(EGENERIC);)714 1362 A
- 2160 V
- (27469)210 648 A
- 1110(})S
- 2250 V
- (27470)210 648 A
- 2340 V
- (27471)210 648 A
- 1110(if)S
- ((flag)210 1236 A
- 1488(==)S
- 1614(M3)S
- 1740(&&)S
- (len)126 1866 A
- 2034(<=)S
- (M3_STRING))420 2160 A
- 2622({)S
- 2430 V
- (27472)210 648 A
- 1362(/*)S
- (Just)168 1488 A
- (copy)168 1698 A
- (the)126 1908 A
- (path)168 2076 A
- (from)168 2286 A
- (the)126 2496 A
- (message)294 2664 A
- 3000(to)S
- ('user_path'.)504 3126 A
- 3672(*/)S
- 2520 V
- (27473)210 648 A
- (rpu)126 1362 A
- 1530(=)S
- (&user_path[0];)588 1614 A
- 2610 V
- (27474)210 648 A
- (rpm)126 1362 A
- 1530(=)S
- (pathname;)378 1614 A
- 2370(/*)S
- (contained)378 2496 A
- 2916(in)S
- (input)210 3042 A
- (message)294 3294 A
- 3630(*/)S
- 2700 V
- (27475)210 648 A
- 1362(do)S
- 1488({)S
- (*rpu++)252 1572 A
- 1866(=)S
- (*rpm++;)294 1950 A
- 2286(})S
- (while)210 2370 A
- ((--len);)336 2622 A
- 2790 V
- (27476)210 648 A
- 1362(r)S
- 1446(=)S
- (OK;)126 1530 A
- 2880 V
- (27477)210 648 A
- 1110(})S
- (else)168 1194 A
- 1404({)S
- 2970 V
- (27478)210 648 A
- 1362(/*)S
- (String)252 1488 A
- 1782(is)S
- (not)126 1908 A
- (contained)378 2076 A
- 2496(in)S
- (the)126 2622 A
- (message.)336 2790 A
- (Get)126 3210 A
- 3378(it)S
- (from)168 3504 A
- (user)168 3714 A
- (space.)252 3924 A
- 4218(*/)S
- 3060 V
- (27479)210 648 A
- 1362(r)S
- 1446(=)S
- (sys_copy(who,)546 1530 A
- 2118(D,)S
- ((phys_bytes))504 2244 A
- (path,)210 2790 A
- 3150 V
- (27480)210 648 A
- (FS_PROC_NR,)462 1698 A
- 2202(D,)S
- ((phys_bytes))504 2328 A
- (user_path,)420 2874 A
- ((phys_bytes))504 3336 A
- (len);)210 3882 A
- 3240 V
- (27481)210 648 A
- 1110(})S
- 3330 V
- (27482)210 648 A
- (return(r);)420 1110 A
- 3420 V
- (27483)210 648 A
- 1026(})S
- 3690 V
- (27486)210 648 A
- (/*===========================================================================*)3276 1026 A
- 3780 V
- (27487)210 648 A
- 1068(*)S
- (no_sys)252 2370 A
- 4260(*)S
- 3870 V
- (27488)210 648 A
- (*===========================================================================*/)3276 1068 A
- 3960 V
- (27489)210 648 A
- (PUBLIC)252 1026 A
- (int)126 1320 A
- (no_sys())336 1488 A
- 4050 V
- (27490)210 648 A
- 1026({)S
- 4140 V
- (27491)210 648 A
- 1026(/*)S
- (Somebody)336 1152 A
- (has)126 1530 A
- (used)168 1698 A
- 1908(an)S
- (illegal)294 2034 A
- (system)252 2370 A
- (call)168 2664 A
- (number)252 2874 A
- 3168(*/)S
- 4230 V
- (27492)210 648 A
- 4320 V
- (27493)210 648 A
- (return(EINVAL);)630 1110 A
- 4410 V
- (27494)210 648 A
- 1026(})S
- 4680 V
- (27497)210 648 A
- (/*===========================================================================*)3276 1026 A
- 4770 V
- (27498)210 648 A
- 1068(*)S
- (panic)210 2370 A
- 4260(*)S
- 4860 V
- (27499)210 648 A
- (*===========================================================================*/)3276 1068 A
- 4950 V
- (27500)210 648 A
- (PUBLIC)252 1026 A
- (void)168 1320 A
- (panic(format,)546 1530 A
- (num))168 2118 A
- 5040 V
- (27501)210 648 A
- (char)168 1026 A
- (*format;)336 1236 A
- 2370(/*)S
- (format)252 2496 A
- (string)252 2790 A
- 3084(*/)S
- 5130 V
- (27502)210 648 A
- (int)126 1026 A
- (num;)168 1194 A
- 2370(/*)S
- (number)252 2496 A
- 2790(to)S
- 2916(go)S
- (with)168 3042 A
- (format)252 3252 A
- (string)252 3546 A
- 3840(*/)S
- 5220 V
- (27503)210 648 A
- 1026({)S
- 5310 V
- (27504)210 648 A
- 1026(/*)S
- (Something)378 1152 A
- (awful)210 1572 A
- (has)126 1824 A
- (happened.)378 1992 A
- (Panics)252 2454 A
- (are)126 2748 A
- (caused)252 2916 A
- (when)168 3210 A
- 3420(an)S
- (internal)336 3546 A
- 5400 V
- (27505)210 648 A
- 1068(*)S
- (inconsistency)546 1152 A
- 1740(is)S
- (detected,)378 1866 A
- (e.g.,)210 2286 A
- 2538(a)S
- (programming)462 2622 A
- (error)210 3126 A
- 3378(or)S
- (illegal)294 3504 A
- (value)210 3840 A
- 4092(of)S
- 4218(a)S
- 5490 V
- (27506)210 648 A
- 1068(*)S
- (defined)294 1152 A
- (constant.)378 1488 A
- 5580 V
- (27507)210 648 A
- 1068(*/)S
- 5670 V
- (27508)210 648 A
- 5760 V
- (27509)210 648 A
- 1110(if)S
- ((panicking))462 1236 A
- (return;)294 1740 A
- 2370(/*)S
- 2496(do)S
- (not)126 2622 A
- (panic)210 2790 A
- (during)252 3042 A
- 3336(a)S
- (sync)168 3420 A
- 3630(*/)S
- 5850 V
- (27510)210 648 A
- (panicking)378 1110 A
- 1530(=)S
- (TRUE;)210 1614 A
- 2370(/*)S
- (prevent)294 2496 A
- (another)294 2832 A
- (panic)210 3168 A
- (during)252 3420 A
- (the)126 3714 A
- (sync)168 3882 A
- 4092(*/)S
- 5940 V
- (27511)210 648 A
- (printf("File)504 1110 A
- (system)252 1656 A
- (panic:)252 1950 A
- 2244(%s)S
- 2370(",)S
- (format);)336 2496 A
- 6030 V
- (27512)210 648 A
- 1110(if)S
- ((num)168 1236 A
- 1446(!=)S
- (NO_NUM))294 1572 A
- (printf("%d",num);)714 1908 A
- 6120 V
- (27513)210 648 A
- (printf("\n");)546 1110 A
- 6210 V
- (27514)210 648 A
- ((void))252 1110 A
- (do_sync();)420 1404 A
- 2370(/*)S
- (flush)210 2496 A
- (everything)420 2748 A
- 3210(to)S
- (the)126 3336 A
- (disk)168 3504 A
- 3714(*/)S
- 8418 V
- EP
- %%Page: 380 380
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 12 B
- (380)180 648 A
- 11 R
- 2114(File:)S
- (src/fs/utility.c)615 2347 A
- 10 R
- 3402(MINIX)S
- 3730(SOURCE)S
- 4153(CODE)S
- 900 V
- 7 LST
- (27515)210 648 A
- (sys_abort(RBT_PANIC);)882 1110 A
- 990 V
- (27516)210 648 A
- 1026(})S
- 1260 V
- (27519)210 648 A
- (/*===========================================================================*)3276 1026 A
- 1350 V
- (27520)210 648 A
- 1068(*)S
- (conv2)210 2370 A
- 4260(*)S
- 1440 V
- (27521)210 648 A
- (*===========================================================================*/)3276 1068 A
- 1530 V
- (27522)210 648 A
- (PUBLIC)252 1026 A
- (unsigned)336 1320 A
- (conv2(norm,)462 1698 A
- 2202(w))S
- 1620 V
- (27523)210 648 A
- (int)126 1026 A
- (norm;)210 1194 A
- 2370(/*)S
- (TRUE)168 2496 A
- 2706(if)S
- 2832(no)S
- (swap,)210 2958 A
- (FALSE)210 3210 A
- (for)126 3462 A
- (byte)168 3630 A
- (swap)168 3840 A
- 4050(*/)S
- 1710 V
- (27524)210 648 A
- (int)126 1026 A
- 1194(w;)S
- 2370(/*)S
- (promotion)378 2496 A
- 2916(of)S
- (16-bit)252 3042 A
- (word)168 3336 A
- 3546(to)S
- 3672(be)S
- (swapped)294 3798 A
- 4134(*/)S
- 1800 V
- (27525)210 648 A
- 1026({)S
- 1890 V
- (27526)210 648 A
- 1026(/*)S
- (Possibly)336 1152 A
- (swap)168 1530 A
- 1740(a)S
- (16-bit)252 1824 A
- (word)168 2118 A
- (between)294 2328 A
- (8086)168 2664 A
- (and)126 2874 A
- (68000)210 3042 A
- (byte)168 3294 A
- (order.)252 3504 A
- 3798(*/)S
- 1980 V
- (27527)210 648 A
- 2070 V
- (27528)210 648 A
- 1110(if)S
- ((norm))252 1236 A
- (return()294 1530 A
- ((unsigned))420 1866 A
- 2328(w)S
- 2412(&)S
- (0xFFFF);)336 2496 A
- 2160 V
- (27529)210 648 A
- (return()294 1110 A
- (((w&BYTE))378 1446 A
- 1866(<<)S
- 1992(8))S
- 2118(|)S
- 2202(()S
- ((w>>8))252 2286 A
- 2580(&)S
- (BYTE));)294 2664 A
- 2250 V
- (27530)210 648 A
- 1026(})S
- 2520 V
- (27533)210 648 A
- (/*===========================================================================*)3276 1026 A
- 2610 V
- (27534)210 648 A
- 1068(*)S
- (conv4)210 2370 A
- 4260(*)S
- 2700 V
- (27535)210 648 A
- (*===========================================================================*/)3276 1068 A
- 2790 V
- (27536)210 648 A
- (PUBLIC)252 1026 A
- (long)168 1320 A
- (conv4(norm,)462 1530 A
- 2034(x))S
- 2880 V
- (27537)210 648 A
- (int)126 1026 A
- (norm;)210 1194 A
- 2370(/*)S
- (TRUE)168 2496 A
- 2706(if)S
- 2832(no)S
- (swap,)210 2958 A
- (FALSE)210 3210 A
- (for)126 3462 A
- (byte)168 3630 A
- (swap)168 3840 A
- 4050(*/)S
- 2970 V
- (27538)210 648 A
- (long)168 1026 A
- 1236(x;)S
- 2370(/*)S
- (32-bit)252 2496 A
- (long)168 2790 A
- 3000(to)S
- 3126(be)S
- (byte)168 3252 A
- (swapped)294 3462 A
- 3798(*/)S
- 3060 V
- (27539)210 648 A
- 1026({)S
- 3150 V
- (27540)210 648 A
- 1026(/*)S
- (Possibly)336 1152 A
- (swap)168 1530 A
- 1740(a)S
- (32-bit)252 1824 A
- (long)168 2118 A
- (between)294 2328 A
- (8086)168 2664 A
- (and)126 2874 A
- (68000)210 3042 A
- (byte)168 3294 A
- (order.)252 3504 A
- 3798(*/)S
- 3240 V
- (27541)210 648 A
- 3330 V
- (27542)210 648 A
- (unsigned)336 1110 A
- (lo,)126 1488 A
- (hi;)126 1656 A
- 3420 V
- (27543)210 648 A
- (long)168 1110 A
- 1320(l;)S
- 3510 V
- (27544)210 648 A
- 3600 V
- (27545)210 648 A
- 1110(if)S
- ((norm))252 1236 A
- (return(x);)420 1530 A
- 2706(/*)S
- (byte)168 2832 A
- (order)210 3042 A
- (was)126 3294 A
- (already)294 3462 A
- 3798(ok)S
- 3924(*/)S
- 3690 V
- (27546)210 648 A
- 1110(lo)S
- 1236(=)S
- (conv2(FALSE,)504 1320 A
- ((int))210 1866 A
- 2118(x)S
- 2202(&)S
- (0xFFFF);)336 2286 A
- 2706(/*)S
- (low-order)378 2832 A
- (half,)210 3252 A
- (byte)168 3504 A
- (swapped)294 3714 A
- 4050(*/)S
- 3780 V
- (27547)210 648 A
- 1110(hi)S
- 1236(=)S
- (conv2(FALSE,)504 1320 A
- ((int))210 1866 A
- ((x>>16))294 2118 A
- 2454(&)S
- (0xFFFF);)336 2538 A
- 3042(/*)S
- (high-order)420 3168 A
- (half,)210 3630 A
- (swapped)294 3882 A
- 4218(*/)S
- 3870 V
- (27548)210 648 A
- 1110(l)S
- 1194(=)S
- 1278(()S
- ((long))252 1362 A
- 1656(lo)S
- (<<16))210 1782 A
- 2034(|)S
- (hi;)126 2118 A
- 3960 V
- (27549)210 648 A
- (return(l);)420 1110 A
- 4050 V
- (27550)210 648 A
- 1026(})S
- 4590 V
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 4680 V
- (src/fs/putk.c)546 2034 A
- 4770 V
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 4950 V
- (27600)210 648 A
- 1026(/*)S
- 1152(FS)S
- (must)168 1278 A
- (occasionally)504 1488 A
- (print)210 2034 A
- (some)168 2286 A
- (message.)336 2496 A
- 2916(It)S
- (uses)168 3042 A
- (the)126 3252 A
- (standard)336 3420 A
- (library)294 3798 A
- 5040 V
- (27601)210 648 A
- 1068(*)S
- (routine)294 1152 A
- (prink().)336 1488 A
- ((The)168 1908 A
- (name)168 2118 A
- ("printf")336 2328 A
- 2706(is)S
- (really)252 2832 A
- 3126(a)S
- (macro)210 3210 A
- (defined)294 3462 A
- 3798(as)S
- ("printk").)420 3924 A
- 5130 V
- (27602)210 648 A
- 1068(*)S
- (Printing)336 1152 A
- 1530(is)S
- (done)168 1656 A
- 1866(by)S
- (calling)294 1992 A
- (the)126 2328 A
- (TTY)126 2496 A
- (task)168 2664 A
- (directly,)378 2874 A
- (not)126 3294 A
- (going)210 3462 A
- (through)294 3714 A
- (FS.)126 4050 A
- 5220 V
- (27603)210 648 A
- 1068(*/)S
- 5310 V
- (27604)210 648 A
- 5400 V
- (27605)210 648 A
- (#include)336 1026 A
- ("fs.h")252 1404 A
- 5490 V
- (27606)210 648 A
- (#include)336 1026 A
- (<minix/com.h>)546 1404 A
- 5580 V
- (27607)210 648 A
- 5670 V
- (27608)210 648 A
- (#define)294 1026 A
- (BUF_SIZE)336 1362 A
- (100)126 2118 A
- 2370(/*)S
- (print)210 2496 A
- (buffer)252 2748 A
- (size)168 3042 A
- 3252(*/)S
- 5760 V
- (27609)210 648 A
- 5850 V
- (27610)210 648 A
- (PRIVATE)294 1026 A
- (int)126 1362 A
- (buf_count;)420 1530 A
- 2370(/*)S
- 2496(#)S
- (characters)420 2580 A
- 3042(in)S
- (the)126 3168 A
- (buffer)252 3336 A
- 3630(*/)S
- 5940 V
- (27611)210 648 A
- (PRIVATE)294 1026 A
- (char)168 1362 A
- (print_buf[BUF_SIZE];)840 1572 A
- 2706(/*)S
- (output)252 2832 A
- 3126(is)S
- (buffered)336 3252 A
- (here)168 3630 A
- 3840(*/)S
- 6030 V
- (27612)210 648 A
- (PRIVATE)294 1026 A
- (message)294 1362 A
- (putch_msg;)420 1698 A
- 2370(/*)S
- (used)168 2496 A
- (for)126 2706 A
- (message)294 2874 A
- 3210(to)S
- (TTY)126 3336 A
- (task)168 3504 A
- 3714(*/)S
- 6120 V
- (27613)210 648 A
- 6210 V
- (27614)210 648 A
- (FORWARD)294 1026 A
- (_PROTOTYPE()462 1362 A
- (void)168 1866 A
- (flush,)252 2076 A
- ((void))252 2370 A
- 4050();)S
- 8418 V
- EP
- %%Page: 381 381
- BP
- /slant 0 def
- /height 0 def
- 630 V
- 10 R
- 648(MINIX)S
- 976(SOURCE)S
- 1399(CODE)S
- 11 R
- 2148(File:)S
- 2381(src/fs/putk.c)S
- 12 B
- (381)180 4248 A
- 900 V
- 7 LST
- (27615)210 648 A
- 990 V
- (27616)210 648 A
- (/*===========================================================================*)3276 1026 A
- 1080 V
- (27617)210 648 A
- 1068(*)S
- (putk)168 2370 A
- 4260(*)S
- 1170 V
- (27618)210 648 A
- (*===========================================================================*/)3276 1068 A
- 1260 V
- (27619)210 648 A
- (PUBLIC)252 1026 A
- (void)168 1320 A
- (putk(c))294 1530 A
- 1350 V
- (27620)210 648 A
- (int)126 1026 A
- 1194(c;)S
- 1440 V
- (27621)210 648 A
- 1026({)S
- 1530 V
- (27622)210 648 A
- 1026(/*)S
- (Accumulate)420 1152 A
- (another)294 1614 A
- (character.)420 1950 A
- 2454(If)S
- 2580(0)S
- 2664(or)S
- (buffer)252 2790 A
- (full,)210 3084 A
- (print)210 3336 A
- (it.)126 3588 A
- 3756(*/)S
- 1620 V
- (27623)210 648 A
- 1710 V
- (27624)210 648 A
- 1110(if)S
- 1236((c)S
- 1362(==)S
- 1488(0)S
- 1572(||)S
- (buf_count)378 1698 A
- 2118(==)S
- (BUF_SIZE))378 2244 A
- (flush();)336 2664 A
- 1800 V
- (27625)210 648 A
- 1110(if)S
- 1236((c)S
- 1362(==)S
- ('\n'))210 1488 A
- (putk('\r');)462 1740 A
- 1890 V
- (27626)210 648 A
- 1110(if)S
- 1236((c)S
- 1362(!=)S
- 1488(0))S
- (print_buf[buf_count++])924 1614 A
- 2580(=)S
- 2664(c;)S
- 1980 V
- (27627)210 648 A
- 1026(})S
- 2250 V
- (27630)210 648 A
- (/*===========================================================================*)3276 1026 A
- 2340 V
- (27631)210 648 A
- 1068(*)S
- (flush)210 2370 A
- 4260(*)S
- 2430 V
- (27632)210 648 A
- (*===========================================================================*/)3276 1068 A
- 2520 V
- (27633)210 648 A
- (PRIVATE)294 1026 A
- (void)168 1362 A
- (flush())294 1572 A
- 2610 V
- (27634)210 648 A
- 1026({)S
- 2700 V
- (27635)210 648 A
- 1026(/*)S
- (Flush)210 1152 A
- (the)126 1404 A
- (print)210 1572 A
- (buffer)252 1824 A
- 2118(by)S
- (calling)294 2244 A
- (TTY)126 2580 A
- (task.)210 2748 A
- 3000(*/)S
- 2790 V
- (27636)210 648 A
- 2880 V
- (27637)210 648 A
- 2970 V
- (27638)210 648 A
- 1110(if)S
- ((buf_count)420 1236 A
- 1698(==)S
- 1824(0))S
- (return;)294 1950 A
- 3060 V
- (27639)210 648 A
- (putch_msg.m_type)672 1110 A
- 1824(=)S
- (DEV_WRITE;)420 1908 A
- 3150 V
- (27640)210 648 A
- (putch_msg.PROC_NR)714 1110 A
- 1908(=)S
- 1992(1;)S
- 3240 V
- (27641)210 648 A
- (putch_msg.TTY_LINE)756 1110 A
- 1908(=)S
- 1992(0;)S
- 3330 V
- (27642)210 648 A
- (putch_msg.ADDRESS)714 1110 A
- 1908(=)S
- (print_buf;)420 1992 A
- 3420 V
- (27643)210 648 A
- (putch_msg.COUNT)630 1110 A
- 1782(=)S
- (buf_count;)420 1866 A
- 3510 V
- (27644)210 648 A
- (call_task(TTY,)588 1110 A
- (&putch_msg);)504 1740 A
- 3600 V
- (27645)210 648 A
- (buf_count)378 1110 A
- 1530(=)S
- 1614(0;)S
- 3690 V
- (27646)210 648 A
- 1026(})S
- 4140 V
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 4230 V
- (./end_of_list)546 2034 A
- 4320 V
- (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
- 8418 V
- EP
- %%Trailer
- %%DocumentFonts: Times-Roman Times-Bold LucidaSans-Typewriter
- %%Pages: 381