1 /***************************************************************************
2 * Copyright (C) 2007 by www.databasecache.com *
3 * Contact: praba_tuty@databasecache.com *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
15 ***************************************************************************/
19 caddr_t
os::mmap(caddr_t addr
, size_t len
, int prot
, int flags
, int fildes
, off_t off
)
21 return ((caddr_t
)::mmap(addr
,len
,prot
,flags
,fildes
,off
));
24 int os::munmap(caddr_t addr
, size_t len
)
26 return ::munmap(addr
, len
);
30 shared_memory_id
os::shm_create(shared_memory_key key
, size_t size
, int flag
)
32 return ::shmget(key
, size
, IPC_CREAT
| flag
);
35 shared_memory_id
os::shm_open(shared_memory_key key
, size_t size
, int flag
)
37 return ::shmget(key
, size
, flag
);
39 int os::shmctl(int shmid
, int cmd
)
41 return ::shmctl(shmid
, cmd
, NULL
);
44 void* os::shm_attach(shared_memory_id id
, const void *ptr
, int flag
)
46 return ::shmat(id
, ptr
, flag
);
49 int os::shm_detach (void* addr
)
51 return ::shmdt((char*)addr
);
54 double os::floor(double val
)
59 int os::gettimeofday(struct timeval
*tp
)
62 retval
=::gettimeofday(tp
, NULL
);
66 struct tm
* os::localtime(long *secs
)
68 return ::localtime(secs
);
77 return pthread_self();
83 int os::openFile(const char *name
, FileOpenMode flags
, size_t size
)
86 //mode_t mode = S_IRWXU | S_IRGRP | S_IWGRP ;
87 mode_t mode
= (mode_t
)0755 ;
88 retval
=::open(name
, flags
, mode
);
91 os::lseek(retval
, size
-1, SEEK_SET
);
92 char *buf
= (char*)" ";
93 os::write(retval
, buf
, 1);
97 int os::closeFile(int fd
)
102 off_t
os::lseek(int fildes
, off_t offset
, int whence
)
104 return ::lseek(fildes
, offset
, whence
);
107 size_t os::write(int fildes
, char *buf
, size_t size
)
109 return ::write(fildes
, buf
, size
);
112 int os::msync(caddr_t addr
, size_t len
, int flags
)
114 return ::msync(addr
, len
, flags
);
116 int os::fsync(int fildes
)
118 return ::fsync(fildes
);
121 char* os::encrypt(const char *key
, const char *salt
)
123 return ::crypt(key
, salt
);
126 void* os::memset(void *src
, int c
, size_t size
)
128 return::memset(src
, c
, size
);
131 void* os::memcpy(void *src
, const void *dest
, size_t size
)
133 return ::memcpy(src
, dest
, size
);
136 int os::memcmp(const void *s1
, const void *s2
, size_t size
)
138 return ::memcmp(s1
, s2
, size
);
140 sighandler_t
os::signal(int signum
, sighandler_t handler
)
142 return ::signal(signum
, handler
);
145 size_t os::alignLong(size_t size
)
147 return ((size
- 1) | (sizeof(long) - 1)) + 1;
150 size_t os::align(size_t size
)
153 return ((size
- 1) | (sizeof(long) - 1)) + 1;
157 int os::select(int nfds
, fd_set
*readfds
, fd_set
*writefds
,
158 fd_set
*exceptfds
, struct timeval
* timeout
)
160 return ::select(nfds
, readfds
, writefds
, exceptfds
, timeout
);
164 char* os::getenv(const char *envVarName
)
167 retVal
= ::getenv(envVarName
);