blob: 44f258a49251bb7a54166681e80be20e754a7a42 [file] [log] [blame]
/* ------------------------------------------------------------------
* Copyright (C) 1998-2009 PacketVideo
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied.
* See the License for the specific language governing permissions
* and limitations under the License.
* -------------------------------------------------------------------
*/
// -*- c++ -*-
// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
// OSCL_T H R E A D (T H R E A D I M P L E M E N T A T I O N)
// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
/*! \file oscl_thread.h .This file provides THREAD implementation that can be ported
to three OS LINUX, SYMBIAN, WIN32
*/
#ifndef OSCL_PROCSTATUS_H_INCLUDED
#define OSCL_PROCSTATUS_H_INCLUDED
/**
* Class OsclProcStatus
*/
class OsclProcStatus
{
public:
// Enumerated Error values
/**
* List of enums which contain error codes
*/
enum eOsclProcError
{
SUCCESS_ERROR = 0, // Function returned succesfully
OTHER_ERROR, // Function returned some error
TOO_MANY_THREADS_ERROR, // Cannot create another thread
BAD_THREADID_ADDR_ERROR, // The address for the thread id is not correct
MAX_THRDS_REACHED_ERROR, // No more threads can be created in the system
INVALID_THREAD_ID_ERROR, // Invalid thread identifier
NOT_ENOUGH_MEMORY_ERROR, // Not enough storage is available to process this command
OUTOFMEMORY_ERROR, // Not enough storage is available to complete this operation
NOT_ENOUGH_RESOURCES_ERROR, // Not Enough resources available
THREAD_1_INACTIVE_ERROR, // The signal handler cannot be set
ALREADY_SUSPENDED_ERROR, // Thread is already suspended
NOT_SUSPENDED_ERROR, // Thread cannot be suspended
INVALID_THREAD_ERROR, // Referring to invalid thread
INVALID_PARAM_ERROR, // Invalid parameter passed in the API
NO_PERMISSION_ERROR, // Operation not permitted
INVALID_PRIORITY_ERROR, // Priority is not a valid OSCL priority
PSHARED_NOT_ZERO_ERROR, // Trying to create global semaphore
EXCEED_MAX_COUNT_VARIABLE_ERROR, // Exceeding maximum possible value for semaphore count
THREAD_BLOCK_ERROR, // Thread is blocked
EXCEED_MAX_SEM_COUNT_ERROR, // Out of range of semaphore count
INVALID_HANDLE_ERROR, // Invalid handle
INVALID_OPERATION_ERROR, // Invalid operation
INVALID_FUNCTION_ERROR,
INVALID_ACCESS_ERROR,
INVALID_ARGUMENT_ERROR,
SYSTEM_RESOURCES_UNAVAILABLE_ERROR,
INVALID_POINTER_ERROR,
RELOCK_MUTEX_ERROR,
THREAD_NOT_OWN_MUTEX_ERROR,
MUTEX_LOCKED_ERROR,
WAIT_ABANDONED_ERROR,//thread terminated while waiting
WAIT_TIMEOUT_ERROR, //timed wait expired without acquiring
SEM_NOT_SIGNALED_ERROR, //trywait returned without acquiring
PSHARED_ATTRIBUTE_SETTING_ERROR, // Error at setting pthread attributes
NOT_IMPLEMENTED //function not implemented on this platform.
} ;
};
#endif