#include "config.h"
#include <sys/types.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <sys/time.h>
#include <sys/file.h>
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
#include <time.h>
#include "misc.h"
#include "sys_generic.h"
#include "debug.h"
Go to the source code of this file.
Functions | |
INTERNAL int | SYS_Initialize (void) |
Make system wide initialization. | |
INTERNAL int | SYS_Mkdir (const char *path, int perms) |
Attempts to create a directory with some permissions. | |
INTERNAL int | SYS_GetPID (void) |
Gets the running process's ID. | |
INTERNAL int | SYS_Sleep (int iTimeVal) |
Makes the current process sleep for some seconds. | |
INTERNAL int | SYS_USleep (int iTimeVal) |
Makes the current process sleep for some microseconds. | |
INTERNAL int | SYS_OpenFile (const char *pcFile, int flags, int mode) |
Opens/creates a file. | |
INTERNAL int | SYS_CloseFile (int iHandle) |
Opens/creates a file. | |
INTERNAL int | SYS_RemoveFile (const char *pcFile) |
Removes a file. | |
INTERNAL int | SYS_Chmod (const char *path, int mode) |
INTERNAL int | SYS_Chdir (const char *path) |
INTERNAL int | SYS_GetUID (void) |
INTERNAL int | SYS_GetGID (void) |
INTERNAL int | SYS_SeekFile (int iHandle, int iSeekLength) |
INTERNAL int | SYS_ReadFile (int iHandle, char *pcBuffer, int iLength) |
INTERNAL int | SYS_WriteFile (int iHandle, const char *pcBuffer, int iLength) |
INTERNAL int | SYS_GetPageSize (void) |
Gets the memory page size. | |
INTERNAL void * | SYS_MemoryMap (int iSize, int iFid, int iOffset) |
Map the file iFid in memory for reading and writing. | |
INTERNAL void * | SYS_PublicMemoryMap (int iSize, int iFid, int iOffset) |
Map the file iFid in memory only for reading. | |
INTERNAL void | SYS_PublicMemoryUnmap (void *ptr, int iSize) |
Unmap a memory segment. | |
INTERNAL int | SYS_MMapSynchronize (void *begin, int length) |
Writes the changes made in a memory map to the disk mapped file. | |
INTERNAL int | SYS_Fork (void) |
INTERNAL int | SYS_Daemon (int nochdir, int noclose) |
put the process to run in the background. | |
INTERNAL int | SYS_Stat (const char *pcFile, struct stat *psStatus) |
INTERNAL int | SYS_RandomInt (int fStart, int fEnd) |
INTERNAL int | SYS_GetSeed (void) |
INTERNAL void | SYS_Exit (int iRetVal) |
Definition in file sys_unix.c.
INTERNAL int SYS_CloseFile | ( | int | iHandle | ) |
Opens/creates a file.
[in] | iHandle | File descriptor. |
0 | Success. | |
-1 | An error ocurred. |
Definition at line 143 of file sys_unix.c.
Referenced by CreateContextThread(), SCardEstablishContextTH(), SCardUnload(), SHMCleanupSharedSegment(), SHMClientCloseSession(), SHMClientSetupSession(), SHMProcessCommonChannelRequest(), SHMProcessEventsContext(), StatSynchronize(), StatSynchronizeContext(), and SYS_Daemon().
INTERNAL int SYS_Daemon | ( | int | nochdir, | |
int | noclose | |||
) |
put the process to run in the background.
[in] | nochdir | if zero, change the current directory to "/". |
[in] | noclose | if zero, redirect standard imput/output/error to /dev/nulll. |
0 | success. | |
-1 | an error ocurred. |
Definition at line 318 of file sys_unix.c.
References SYS_CloseFile().
INTERNAL int SYS_GetPageSize | ( | void | ) |
Gets the memory page size.
The page size is used when calling the SYS_MemoryMap()
and SYS_PublicMemoryMap()
functions.
Definition at line 207 of file sys_unix.c.
Referenced by SCardEstablishContextTH(), and StatSynchronize().
INTERNAL int SYS_GetPID | ( | void | ) |
Gets the running process's ID.
Definition at line 71 of file sys_unix.c.
Referenced by StatSynchronizeContext().
INTERNAL int SYS_Initialize | ( | void | ) |
Make system wide initialization.
0 | Success. |
Definition at line 43 of file sys_unix.c.
Referenced by SCardEstablishContextTH().
INTERNAL void* SYS_MemoryMap | ( | int | iSize, | |
int | iFid, | |||
int | iOffset | |||
) |
Map the file iFid
in memory for reading and writing.
[in] | iSize | Size of the memmory mapped. |
[in] | iFid | File which will be mapped in memory. |
[in] | iOffset | Start point of the file to be mapped in memory. |
MAP_FAILED | in case of error |
Definition at line 227 of file sys_unix.c.
INTERNAL int SYS_Mkdir | ( | const char * | path, | |
int | perms | |||
) |
Attempts to create a directory with some permissions.
[in] | path | Path of the directory to be created. |
[in] | perms | Permissions to the new directory. |
0 | Success. | |
-1 | An error occurred. |
Definition at line 61 of file sys_unix.c.
INTERNAL int SYS_MMapSynchronize | ( | void * | begin, | |
int | length | |||
) |
Writes the changes made in a memory map to the disk mapped file.
[in] | begin | Start of the block to be written |
[in] | length | Lenght of the block to be written |
0 | Success. | |
-1 | An error ocurred. |
Definition at line 293 of file sys_unix.c.
Referenced by StatSynchronize().
INTERNAL int SYS_OpenFile | ( | const char * | pcFile, | |
int | flags, | |||
int | mode | |||
) |
Opens/creates a file.
[in] | pcFile | path to the file. |
[in] | flags | Open and read/write choices. |
[in] | mode | Permissions to the file. |
>0 | The file descriptor. | |
-1 | An error ocurred. |
Definition at line 127 of file sys_unix.c.
Referenced by SCardEstablishContextTH(), StatSynchronize(), and StatSynchronizeContext().
INTERNAL void* SYS_PublicMemoryMap | ( | int | iSize, | |
int | iFid, | |||
int | iOffset | |||
) |
Map the file iFid
in memory only for reading.
[in] | iSize | Size of the memmory mapped. |
[in] | iFid | File which will be mapped in memory. |
[in] | iOffset | Start point of the file to be mapped in memory. |
Definition at line 255 of file sys_unix.c.
Referenced by SCardEstablishContextTH().
INTERNAL void SYS_PublicMemoryUnmap | ( | void * | ptr, | |
int | iSize | |||
) |
Unmap a memory segment.
ptr | pointer returned by SYS_PublicMemoryMap() | |
iSize | size of the memory segment |
Definition at line 278 of file sys_unix.c.
Referenced by SCardUnload().
INTERNAL int SYS_RemoveFile | ( | const char * | pcFile | ) |
Removes a file.
[in] | pcFile | path to the file. |
0 | Success. | |
-1 | An error ocurred. |
Definition at line 157 of file sys_unix.c.
Referenced by SHMCleanupSharedSegment(), and SHMInitializeCommonSegment().
INTERNAL int SYS_Sleep | ( | int | iTimeVal | ) |
Makes the current process sleep for some seconds.
[in] | iTimeVal | Number of seconds to sleep. |
Definition at line 81 of file sys_unix.c.
Referenced by SVCServiceRunLoop().
INTERNAL int SYS_USleep | ( | int | iTimeVal | ) |
Makes the current process sleep for some microseconds.
[in] | iTimeVal | Number of microseconds to sleep. |
Definition at line 99 of file sys_unix.c.
Referenced by IFDCloseIFD(), SCardBeginTransaction(), SCardConnect(), SCardDisconnect(), SCardEndTransaction(), and SCardGetStatusChange().