Main Page   Data Structures   File List   Data Fields   Globals   Related Pages  

sys_unix.c File Reference

This handles abstract system level calls. More...

#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. More...

INTERNAL int SYS_Mkdir (const char *path, int perms)
 Attempts to create a directory with some permissions. More...

INTERNAL int SYS_GetPID (void)
 Gets the running process's ID. More...

INTERNAL int SYS_Sleep (int iTimeVal)
 Makes the current process sleep for some seconds. More...

INTERNAL int SYS_USleep (int iTimeVal)
 Makes the current process sleep for some microseconds. More...

INTERNAL int SYS_OpenFile (const char *pcFile, int flags, int mode)
 Opens/creates a file. More...

INTERNAL int SYS_CloseFile (int iHandle)
 Opens/creates a file. More...

INTERNAL int SYS_RemoveFile (const char *pcFile)
 Removes a file. More...

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. More...

INTERNAL void * SYS_MemoryMap (int iSize, int iFid, int iOffset)
 Map the file iFid in memory for reading and writing. More...

INTERNAL void * SYS_PublicMemoryMap (int iSize, int iFid, int iOffset)
 Map the file iFid in memory only for reading. More...

INTERNAL void SYS_PublicMemoryUnmap (void *ptr, int iSize)
 Unmap a memory segment. More...

INTERNAL int SYS_MMapSynchronize (void *begin, int length)
 Writes the changes made in a memory map to the disk mapped file. More...

INTERNAL int SYS_Fork (void)
INTERNAL int SYS_Daemon (int nochdir, int noclose)
 put the process to run in the background. More...

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)


Detailed Description

This handles abstract system level calls.

Definition in file sys_unix.c.


Function Documentation

INTERNAL int SYS_CloseFile int    iHandle
 

Opens/creates a file.

am[in] iHandle File descriptor.
Returns:
Error code.
Return values:
0  Success.
-1  An error ocurred.

Definition at line 138 of file sys_unix.c.

Referenced by CreateContextThread, 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.

am[in] nochdir if zero, change the current directory to "/".
am[in] noclose if zero, redirect standard imput/output/error to /dev/nulll.
Returns:
error code.
Return values:
0  success.
-1  an error ocurred.

Definition at line 308 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.

Returns:
Number of bytes per page.

Definition at line 202 of file sys_unix.c.

INTERNAL int SYS_GetPID void   
 

Gets the running process's ID.

Returns:
PID.

Definition at line 71 of file sys_unix.c.

INTERNAL int SYS_Initialize void   
 

Make system wide initialization.

Returns:
Eror code.
Return values:
0  Success.

Definition at line 43 of file sys_unix.c.

INTERNAL void* SYS_MemoryMap int    iSize,
int    iFid,
int    iOffset
 

Map the file iFid in memory for reading and writing.

am[in] iSize Size of the memmory mapped.
am[in] iFid File which will be mapped in memory.
am[in] iOffset Start point of the file to be mapped in memory.
Returns:
Address of the memory map.
Return values:
MAP_FAILED  in case of error

Definition at line 217 of file sys_unix.c.

INTERNAL int SYS_Mkdir const char *    path,
int    perms
 

Attempts to create a directory with some permissions.

am[in] path Path of the directory to be created.
am[in] perms Permissions to the new directory.
Returns:
Eror code.
Return values:
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.

am[in] begin Start of the block to be written
am[in] length Lenght of the block to be written
Returns:
Error code.
Return values:
0  Success.
-1  An error ocurred.

Definition at line 283 of file sys_unix.c.

INTERNAL int SYS_OpenFile const char *    pcFile,
int    flags,
int    mode
 

Opens/creates a file.

am[in] pcFile path to the file.
am[in] flags Open and read/write choices.
am[in] mode Permissions to the file.
Returns:
File descriptor.
Return values:
>0  The file descriptor.
-1  An error ocurred.

Definition at line 124 of file sys_unix.c.

Referenced by SCardEstablishContextTH.

INTERNAL void* SYS_PublicMemoryMap int    iSize,
int    iFid,
int    iOffset
 

Map the file iFid in memory only for reading.

am[in] iSize Size of the memmory mapped.
am[in] iFid File which will be mapped in memory.
am[in] iOffset Start point of the file to be mapped in memory.
Returns:
Address of the memory map.

Definition at line 245 of file sys_unix.c.

Referenced by SCardEstablishContextTH.

INTERNAL void SYS_PublicMemoryUnmap void *    ptr,
int    iSize
 

Unmap a memory segment.

Parameters:
ptr  pointer returned by SYS_PublicMemoryMap()
iSize  size of the memory segment

Definition at line 268 of file sys_unix.c.

Referenced by SCardUnload.

INTERNAL int SYS_RemoveFile const char *    pcFile
 

Removes a file.

am[in] pcFile path to the file.
Returns:
Error code.
Return values:
0  Success.
-1  An error ocurred.

Definition at line 152 of file sys_unix.c.

INTERNAL int SYS_Sleep int    iTimeVal
 

Makes the current process sleep for some seconds.

am[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.

am[in] iTimeVal Number of microseconds to sleep.

Definition at line 99 of file sys_unix.c.

Referenced by SCardBeginTransaction, SCardConnect, SCardDisconnect, SCardEndTransaction, SCardGetStatusChange, and SCardReconnect.


Generated on Wed Apr 2 17:42:52 2008 for pcsc-lite by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002