os/ossrv/genericopenlibs/cstdlib/INC/ESTLIB.H
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
#ifndef __ESTLIB_H__
sl@0
     2
#define __ESTLIB_H__
sl@0
     3
sl@0
     4
// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     5
// All rights reserved.
sl@0
     6
// This component and the accompanying materials are made available
sl@0
     7
// under the terms of "Eclipse Public License v1.0"
sl@0
     8
// which accompanies this distribution, and is available
sl@0
     9
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
    10
//
sl@0
    11
// Initial Contributors:
sl@0
    12
// Nokia Corporation - initial contribution.
sl@0
    13
//
sl@0
    14
// Contributors:
sl@0
    15
//
sl@0
    16
// Description:
sl@0
    17
// ESTLIB control for multi-thread and multi-process operation
sl@0
    18
// 
sl@0
    19
//
sl@0
    20
sl@0
    21
/**
sl@0
    22
 @file
sl@0
    23
 @internalComponent
sl@0
    24
*/
sl@0
    25
sl@0
    26
#include <e32base.h>
sl@0
    27
#include <stddef.h>
sl@0
    28
sl@0
    29
IMPORT_C void PosixServerName(TDes& aBuffer);
sl@0
    30
sl@0
    31
/**
sl@0
    32
Support for multi-thread operation is achieved using a CPosixServer
sl@0
    33
active object - this can be installed in an active scheduler in the current thread,
sl@0
    34
or run in a separate thread.
sl@0
    35
*/
sl@0
    36
sl@0
    37
IMPORT_C TInt InstallPosixServerActiveObject (TInt aPriority=CActive::EPriorityStandard);
sl@0
    38
IMPORT_C TInt SpawnPosixServerThread();
sl@0
    39
sl@0
    40
/**
sl@0
    41
Support for asynchronous ioctl
sl@0
    42
There are no guarantees about when the parameters will be processed - some implementations may
sl@0
    43
process the parameters in both the ioctl() and the ioctl_complete() functions.
sl@0
    44
Do not wait on the TRequestStatus unless ioctl() returns 0. 
sl@0
    45
*/
sl@0
    46
IMPORT_C int ioctl (int aFid, int aCmd, void* aParam, TRequestStatus& aStatus);
sl@0
    47
IMPORT_C int ioctl_complete (int aFid, int aCmd, void* aParam, TRequestStatus& aStatus);
sl@0
    48
IMPORT_C int ioctl_cancel (int aFid);
sl@0
    49
IMPORT_C int _ioctl_r (struct _reent *r, int aFid, int aCmd, void* aParam, TRequestStatus& aStatus);
sl@0
    50
IMPORT_C int _ioctl_complete_r (struct _reent *r, int aFid, int aCmd, void* aParam, TRequestStatus& aStatus);
sl@0
    51
IMPORT_C int _ioctl_cancel_r (struct _reent *r, int aFid);
sl@0
    52
sl@0
    53
/**
sl@0
    54
Support for crt0 variants
sl@0
    55
Do whatever is necessary to get the command line arguments, environment etc.
sl@0
    56
NB. This calls chdir(), so start the PosixServer before calling this if you want one.
sl@0
    57
*/
sl@0
    58
IMPORT_C void __crt0(int& argc, char**& argv, char**& envp);
sl@0
    59
IMPORT_C void __crt0(int& argc, wchar_t**& argv, wchar_t**& envp);
sl@0
    60
sl@0
    61
sl@0
    62
#endif