#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) |
| INTERNAL int | SYS_Unlink (const char *pcFile) |
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 140 of file sys_unix.c.
Referenced by CreateContextThread(), main(), SCardEstablishContextTH(), SCardUnload(), SHMCleanupSharedSegment(), SHMClientCloseSession(), SHMClientSetupSession(), SHMProcessCommonChannelRequest(), SHMProcessEventsContext(), 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 310 of file sys_unix.c.
References Log2, SYS_Chdir(), SYS_CloseFile(), and SYS_Fork().
Referenced by main().
| 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 204 of file sys_unix.c.
Referenced by EHInitializeEventStructures(), EHStatusHandlerThread(), and SCardEstablishContextTH().
| INTERNAL int SYS_GetPID | ( | void | ) |
| 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 219 of file sys_unix.c.
Referenced by EHInitializeEventStructures().
| 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.
Referenced by main().
| 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 285 of file sys_unix.c.
Referenced by EHStatusHandlerThread().
| 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 126 of file sys_unix.c.
Referenced by EHInitializeEventStructures(), main(), and SCardEstablishContextTH().
| 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 247 of file sys_unix.c.
References Log2.
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 270 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 154 of file sys_unix.c.
Referenced by EHInitializeEventStructures().
| 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 HPEstablishUSBNotifications(), MSGCheckHandleAssociation(), and 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 EHDestroyEventHandler(), EHStatusHandlerThread(), SCardBeginTransaction(), SCardConnect(), SCardDisconnect(), SCardDisconnectTH(), SCardEndTransaction(), SCardEndTransactionTH(), SCardGetStatusChange(), and SCardReconnect().
1.4.7