text: /* ------------------------------------------------------------------
   * 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
  
  