1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
/*
* symbian_proto.h
*
* Copyright (c) Nokia 2004-2005. All rights reserved.
* This code is licensed under the same terms as Perl itself.
*
*/
#ifndef SYMBIAN_PROTO_H
#define SYMBIAN_PROTO_H
#include <sys/types.h>
#include <sys/times.h>
#if defined(PERL_CORE) || defined(PERL_EXT)
/* We can't include the <string.h> unconditionally
* since it has prototypes conflicting with the gcc builtins. */
extern void *memchr(const void *s, int c, size_t n);
#ifndef DL_SYMBIAN_XS
/* dl_symbian.xs needs to see the C++ prototype of memset() instead */
extern void *memset(void *s, int c, size_t n);
extern size_t strlen(const char *s);
#endif
extern void *memmove(void *dst, const void *src, size_t n);
extern char *strcat(char *dst, const char *src);
extern char *strchr(const char *s, int c);
extern char *strerror(int errnum);
extern int strncmp(const char *s1, const char *s2, size_t n);
extern char *strrchr(const char *s, int c);
extern int setmode(int fd, long flags);
#ifndef __GNUC__
#define memcpy _e32memcpy /* GCC intrinsic */
extern void *memcpy(const void *s1, const void *s2, size_t n);
extern int strcmp(const char *s1, const char *s2);
extern char* strcpy(char *dst, const char *src);
extern char* strncpy(char *dst, const char *src, size_t n);
#endif
#endif /* PERL_CORE || PERL_EXT */
#if defined(SYMBIAN_DLL_CPP) || defined(SYMBIAN_UTILS_CPP) || defined(PERLBASE_CPP) || defined(PERLUTIL_CPP)
# define PERL_SYMBIAN_START_EXTERN_C extern "C" {
# define PERL_SYMBIAN_IMPORT_C IMPORT_C /* Declarations have IMPORT_C, definitions have EXPORT_C. */
# define PERL_SYMBIAN_END_EXTERN_C }
#else
# define PERL_SYMBIAN_START_EXTERN_C
# define PERL_SYMBIAN_IMPORT_C
# define PERL_SYMBIAN_END_EXTERN_C
#endif
PERL_SYMBIAN_START_EXTERN_C
PERL_SYMBIAN_IMPORT_C int symbian_sys_init(int *argcp, char ***argvp);
PERL_SYMBIAN_IMPORT_C void init_os_extras(void);
PERL_SYMBIAN_IMPORT_C void* symbian_get_vars(void);
PERL_SYMBIAN_IMPORT_C void symbian_set_vars(const void *);
PERL_SYMBIAN_IMPORT_C void symbian_unset_vars(void);
PERL_SYMBIAN_IMPORT_C SSize_t symbian_read_stdin(const int fd, char *b, int n);
PERL_SYMBIAN_IMPORT_C SSize_t symbian_write_stdout(const int fd, const char *b, int n);
PERL_SYMBIAN_IMPORT_C char* symbian_get_error_string(const int error);
PERL_SYMBIAN_IMPORT_C void symbian_sleep_usec(const long usec);
PERL_SYMBIAN_IMPORT_C int symbian_get_cpu_time(long* sec, long* usec);
PERL_SYMBIAN_IMPORT_C clock_t symbian_times(struct tms* buf);
PERL_SYMBIAN_IMPORT_C int symbian_usleep(unsigned int usec);
PERL_SYMBIAN_IMPORT_C int symbian_do_aspawn(void* vreally, void *vmark, void* sp);
PERL_SYMBIAN_IMPORT_C int symbian_do_spawn(const char* command);
PERL_SYMBIAN_IMPORT_C int symbian_do_spawn_nowait(const char* command);
PERL_SYMBIAN_END_EXTERN_C
#endif /* !SYMBIAN_PROTO_H */
|