summaryrefslogtreecommitdiff
path: root/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-fdman.h
diff options
context:
space:
mode:
Diffstat (limited to 'devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-fdman.h')
-rw-r--r--devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-fdman.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-fdman.h b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-fdman.h
new file mode 100644
index 000000000000..5f31a762b2e4
--- /dev/null
+++ b/devel/psptoolchain-newlib/files/patch-newlib-libc-sys-psp-fdman.h
@@ -0,0 +1,47 @@
+--- newlib/libc/sys/psp/fdman.h.orig 1970-01-01 02:00:00.000000000 +0200
++++ newlib/libc/sys/psp/fdman.h 2007-06-01 12:22:26.000000000 +0300
+@@ -0,0 +1,44 @@
++/*
++ * PSP Software Development Kit - http://www.pspdev.org
++ * -----------------------------------------------------------------------
++ * Licensed under the BSD license, see LICENSE in PSPSDK root for details.
++ *
++ * fdman.h - File descriptor management.
++ *
++ * Copyright (c) 2006 Rafael Cabezas <rafpsp@gmail.com>
++ */
++
++#ifndef _FDMAN_H_
++ #define _FDMAN_H_
++
++ #define __PSP_FILENO_MAX 1024
++
++ #define __PSP_IS_FD_VALID(FD) \
++ ( (FD >= 0) && (FD < __PSP_FILENO_MAX) && (__psp_descriptormap[FD] != NULL) )
++
++ #define __PSP_IS_FD_OF_TYPE(FD, TYPE) \
++ ( (__PSP_IS_FD_VALID(FD)) && (__psp_descriptormap[FD]->type == TYPE) )
++
++ typedef enum {
++ __PSP_DESCRIPTOR_TYPE_FILE ,
++ __PSP_DESCRIPTOR_TYPE_PIPE ,
++ __PSP_DESCRIPTOR_TYPE_SOCKET,
++ __PSP_DESCRIPTOR_TYPE_TTY
++ } __psp_fdman_fd_types;
++
++ typedef struct {
++ char * filename;
++ u8 type;
++ u32 sce_descriptor;
++ u32 flags;
++ u32 ref_count;
++ } __psp_descriptormap_type;
++
++ extern __psp_descriptormap_type *__psp_descriptormap[__PSP_FILENO_MAX];
++
++ void __psp_fdman_init();
++ int __psp_fdman_get_new_descriptor();
++ int __psp_fdman_get_dup_descriptor(int fd);
++ void __psp_fdman_release_descriptor(int fd);
++
++#endif