|
||||
Warning, cross-references for /kernel/tests/test2.c need to be fixed.
0001 /* The Quest Operating System 0002 * Copyright (C) 2005-2010 Richard West, Boston University 0003 * 0004 * This program is free software: you can redistribute it and/or modify 0005 * it under the terms of the GNU General Public License as published by 0006 * the Free Software Foundation, either version 3 of the License, or 0007 * (at your option) any later version. 0008 * 0009 * This program is distributed in the hope that it will be useful, 0010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0012 * GNU General Public License for more details. 0013 * 0014 * You should have received a copy of the GNU General Public License 0015 * along with this program. If not, see <http://www.gnu.org/licenses/>. 0016 */ 0017 0018 #include "syscall.h" 0019 0020 void 0021 putx (unsigned long l) 0022 { 0023 0024 int i, li; 0025 0026 for (i = 7; i >= 0; i--) 0027 if ((li = (l >> (i << 2)) & 0x0F) > 9) 0028 putchar ('A' + li - 0x0A); 0029 else 0030 putchar ('0' + li); 0031 } 0032 0033 void 0034 print (char *s) 0035 { 0036 while (*s) { 0037 putchar (*s++); 0038 } 0039 } 0040 0041 void 0042 _start () 0043 { 0044 int pid; 0045 int var = 0; 0046 0047 if ((pid = fork ())) { 0048 waitpid (pid); 0049 print ("parent ("); 0050 putx (var); 0051 print (")\n"); 0052 _exit (0); 0053 } else { 0054 print ("child \n"); 0055 var = 1; 0056 _exit (0); 0057 } 0058 } 0059 0060 /* 0061 * Local Variables: 0062 * indent-tabs-mode: nil 0063 * mode: C 0064 * c-file-style: "gnu" 0065 * c-basic-offset: 2 0066 * End: 0067 */ 0068 0069 /* vi: set et sw=2 sts=2: */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 1.2.0 LXR engine. |