uname.c 533 B

123456789101112131415161718192021222324252627
  1. #include <stdlib.h>
  2. #include <string.h>
  3. #include <sys/utsname.h>
  4. int
  5. uname(struct utsname *n)
  6. {
  7. char *osname;
  8. n->sysname = getenv("osname");
  9. if(!n->sysname)
  10. osname = "Plan9";
  11. n->nodename = getenv("sysname");
  12. if(!n->nodename){
  13. n->nodename = getenv("site");
  14. if(!n->nodename)
  15. n->nodename = "?";
  16. }
  17. n->release = "4"; /* edition */
  18. n->version = "0";
  19. n->machine = getenv("cputype");
  20. if(!n->machine)
  21. n->machine = "?";
  22. if(strcmp(n->machine, "386") == 0)
  23. n->machine = "i386"; /* for gnu configure */
  24. return 0;
  25. }