diff --git a/libgloss/ChangeLog b/libgloss/ChangeLog index c2555e3e9..b8cf3352d 100644 --- a/libgloss/ChangeLog +++ b/libgloss/ChangeLog @@ -1,3 +1,10 @@ +2007-06-20 Patrick Mansfield + + * spu/jsre.h: Add JSRE_MKSTEMP and JSRE_MKTEMP values. + * spu/mkstemp.c: New file to add mkstemp support via assist call. + * spu/mktemp.c: New file to add mktemp support via assist call. + * spu/Makefile.in: Add mkstemp.o and mktemp.o + 2007-06-20 Patrick Mansfield * spu/jsre.h: Add new JSRE opcodes. diff --git a/libgloss/spu/Makefile.in b/libgloss/spu/Makefile.in index 3c4e60265..d639bb293 100644 --- a/libgloss/spu/Makefile.in +++ b/libgloss/spu/Makefile.in @@ -59,9 +59,9 @@ OBJS = \ dup2.o exit.o fchdir.o fchmod.o fchown.o fdatasync.o fstat.o \ fsync.o ftruncate.o getcwd.o getpagesize.o getpid.o \ gettimeofday.o isatty.o kill.o lchown.o link.o lockf.o lseek.o \ - lstat.o mkdir.o mknod.o nanosleep.o open.o read.o readlink.o \ - rmdir.o sbrk.o stat.o symlink.o sync.o syscalls.o truncate.o \ - unlink.o write.o + lstat.o mkdir.o mknod.o mkstemp.o mktemp.o nanosleep.o open.o \ + read.o readlink.o rmdir.o sbrk.o stat.o symlink.o sync.o \ + syscalls.o truncate.o unlink.o write.o # Object files specific to particular targets. EVALOBJS = ${OBJS} diff --git a/libgloss/spu/jsre.h b/libgloss/spu/jsre.h index f0a750814..d3ba80fe3 100644 --- a/libgloss/spu/jsre.h +++ b/libgloss/spu/jsre.h @@ -76,6 +76,8 @@ Author: Andreas Neukoetter (ti95neuk@de.ibm.com) #define JSRE_DUP2 50 #define JSRE_LOCKF 51 #define JSRE_TRUNCATE 52 +#define JSRE_MKSTEMP 53 +#define JSRE_MKTEMP 54 struct jsre_stat { unsigned int dev; diff --git a/libgloss/spu/mkstemp.c b/libgloss/spu/mkstemp.c new file mode 100644 index 000000000..f94ef4dbb --- /dev/null +++ b/libgloss/spu/mkstemp.c @@ -0,0 +1,41 @@ +/* + Copyright 2007 + International Business Machines Corporation, + Sony Computer Entertainment, Incorporated, + Toshiba Corporation, + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the names of the copyright holders nor the names of their + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include +#include "jsre.h" + +int +mkstemp (char *template) +{ + return __send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_MKSTEMP, &template); +} diff --git a/libgloss/spu/mktemp.c b/libgloss/spu/mktemp.c new file mode 100644 index 000000000..b13f19f5d --- /dev/null +++ b/libgloss/spu/mktemp.c @@ -0,0 +1,41 @@ +/* + Copyright 2007 + International Business Machines Corporation, + Sony Computer Entertainment, Incorporated, + Toshiba Corporation, + + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the names of the copyright holders nor the names of their + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include +#include "jsre.h" + +char * +mktemp (char *template) +{ + return (char *) __send_to_ppe (JSRE_POSIX1_SIGNALCODE, JSRE_MKTEMP, &template); +}