/* _getenv.c -- Implementation of the low-level _getenv() routine * * Copyright (c) 2004 National Semiconductor Corporation * * The authors hereby grant permission to use, copy, modify, distribute, * and license this software and its documentation for any purpose, provided * that existing copyright notices are retained in all copies and that this * notice is included verbatim in any distributions. No written agreement, * license, or royalty fee is required for any of the authorized uses. * Modifications to this software may be copyrighted by their authors * and need not follow the licensing terms described here, provided that * the new terms are clearly indicated on the first page of each file where * they apply. */ #include <sys/syscall.h> #include <stdlib.h> register char *R2 __asm__("r2"); register char *R3 __asm__("r3"); char * _getenv (const char *name) { char *x; char *y; x = R2; y = (char *) calloc (256, 1); R3 = y; R2 = x; HOST_SERVICE (SVC_GETENV); }