epoc32/include/startup.hrh
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
williamr@4
     1
// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
williamr@4
     2
// All rights reserved.
williamr@4
     3
// This component and the accompanying materials are made available
williamr@4
     4
// under the terms of "Eclipse Public License v1.0"
williamr@4
     5
// which accompanies this distribution, and is available
williamr@4
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
williamr@4
     7
//
williamr@4
     8
// Initial Contributors:
williamr@4
     9
// Nokia Corporation - initial contribution.
williamr@4
    10
//
williamr@4
    11
// Contributors:
williamr@4
    12
//
williamr@4
    13
// Description:
williamr@4
    14
// This file has been deprecated and use ssmcmd.hrh instead 
williamr@4
    15
// 
williamr@4
    16
//
williamr@4
    17
williamr@4
    18
#ifndef __STARTUP_HRH__
williamr@4
    19
#define __STARTUP_HRH__
williamr@4
    20
williamr@4
    21
/** Identifiers for different command types.
williamr@4
    22
williamr@4
    23
Note: To add a new command type, extend this enum and add a
williamr@4
    24
new struct to startup.rh. The struct should start with a WORD
williamr@4
    25
member initialised to the newly-added value.
williamr@4
    26
williamr@4
    27
@publishedPartner
williamr@4
    28
@deprecated Instead of this use TSsmCommandType
williamr@4
    29
*/
williamr@4
    30
enum TStartupCommandType
williamr@4
    31
	{
williamr@4
    32
	/**
williamr@4
    33
	This command is used for starting processes.
williamr@4
    34
	*/
williamr@4
    35
	EStartupProcess = 1,
williamr@4
    36
	/**
williamr@4
    37
	This command is used for starting apps.
williamr@4
    38
	*/
williamr@4
    39
	EStartupApp,
williamr@4
    40
	/**
williamr@4
    41
	This command is used for starting or killing the splash screen.
williamr@4
    42
	*/
williamr@4
    43
	EStartupSplashScreen,
williamr@4
    44
	/**
williamr@4
    45
	This command is used to force the apparc server to initialise.
williamr@4
    46
	*/
williamr@4
    47
	EInitAppArcServer,
williamr@4
    48
	/**
williamr@4
    49
	This command is used to call a function within a DLL using
williamr@4
    50
	the ordinal number.
williamr@4
    51
	*/
williamr@4
    52
	EStartupDLL,
williamr@4
    53
	/**
williamr@4
    54
	This command is used to check that all previous processes and
williamr@4
    55
	apps with start_method EDeferredWaitForStart have rendezvoused.
williamr@4
    56
	*/
williamr@4
    57
	EMultipleWait,
williamr@4
    58
	/**
williamr@4
    59
	This command is used for starting processes with extended sysstart V2 functionality.
williamr@4
    60
	*/
williamr@4
    61
	EStartupProcess2,
williamr@4
    62
	/**
williamr@4
    63
	This command is used for starting applications with extended sysstart V2 functionality.
williamr@4
    64
	*/
williamr@4
    65
	EStartupApp2,
williamr@4
    66
	/**
williamr@4
    67
	This command is used for starting AMAStarter with a particular DSC
williamr@4
    68
	*/
williamr@4
    69
	EStartupAMAStarter
williamr@4
    70
	};
williamr@4
    71
williamr@4
    72
/** Identifiers for starting up an application. Presently there are
williamr@4
    73
two methods of startup.
williamr@4
    74
williamr@4
    75
@publishedPartner
williamr@4
    76
@deprecated Instead of this use TSsmCommandType
williamr@4
    77
*/
williamr@4
    78
enum TStartupType
williamr@4
    79
	{
williamr@4
    80
	/**
williamr@4
    81
	For starting exes.
williamr@4
    82
	*/
williamr@4
    83
	EStartProcess = 1,
williamr@4
    84
	/**
williamr@4
    85
	For starting apps.
williamr@4
    86
	*/
williamr@4
    87
	EStartApp
williamr@4
    88
	};
williamr@4
    89
williamr@4
    90
/** Identifiers for each startup state. Used to inform state-aware
williamr@4
    91
applications of a change of state.
williamr@4
    92
williamr@4
    93
@publishedPartner
williamr@4
    94
@deprecated Instead of this use TSsmStartupSubStates
williamr@4
    95
*/
williamr@4
    96
enum TStartupStateIdentifier
williamr@4
    97
	{
williamr@4
    98
	/**
williamr@4
    99
	Undefined state.
williamr@4
   100
	*/
williamr@4
   101
	EStartupStateUndefined = 0x00,
williamr@4
   102
	/**
williamr@4
   103
	@internalComponent
williamr@4
   104
	Reserved for future use.
williamr@4
   105
	*/
williamr@4
   106
	EReservedStartUpState1 = 0x08,
williamr@4
   107
	/**
williamr@4
   108
	Within this state all ROM based(static) components or resources
williamr@4
   109
	that are critical to the operation of the phone function are started.
williamr@4
   110
	*/
williamr@4
   111
	EStartupStateCriticalStatic = 0x10,
williamr@4
   112
	/**
williamr@4
   113
	@internalComponent
williamr@4
   114
	Reserved for future use.
williamr@4
   115
	*/
williamr@4
   116
	EReservedStartUpState2 = 0x18,
williamr@4
   117
	/**
williamr@4
   118
	Within this state all non-ROM based(dynamic) components or resources
williamr@4
   119
	that are critical to the operation of the phone function are started.
williamr@4
   120
	*/
williamr@4
   121
	EStartupStateCriticalDynamic = 0x20,
williamr@4
   122
	/**
williamr@4
   123
	Networking state.
williamr@4
   124
	*/
williamr@4
   125
	EStartupStateNetworkingCritical = 0x28,
williamr@4
   126
	/**
williamr@4
   127
	Within this state all ROM based(static) or non-ROM based(dynamic) components
williamr@4
   128
	or resources that are non-critical to the operation of the phone function
williamr@4
   129
	are started.
williamr@4
   130
	*/
williamr@4
   131
	EStartupStateNonCritical = 0x30,
williamr@4
   132
	/**
williamr@4
   133
	@internalComponent
williamr@4
   134
	Reserved for future use.
williamr@4
   135
	*/
williamr@4
   136
	EReservedStartUpState4 = 0x38,
williamr@4
   137
	/**
williamr@4
   138
	@internalComponent
williamr@4
   139
	Reserved for future use.
williamr@4
   140
	*/
williamr@4
   141
	EReservedStartUpState5 = 0x40
williamr@4
   142
	};
williamr@4
   143
williamr@4
   144
/** Identifiers for each start-up method.
williamr@4
   145
williamr@4
   146
@publishedPartner
williamr@4
   147
@deprecated Instead of this use TSsmExecutionBehaviour
williamr@4
   148
*/
williamr@4
   149
enum TStartMethod
williamr@4
   150
	{
williamr@4
   151
	/**
williamr@4
   152
	By using this type the starter can continue immediately
williamr@4
   153
	with executing its next command.
williamr@4
   154
	*/
williamr@4
   155
	EFireAndForget = 1,
williamr@4
   156
	/**
williamr@4
   157
	By using this type the starter cannot continue with the
williamr@4
   158
	next command until a rendezvous has been made with the started process.
williamr@4
   159
	*/
williamr@4
   160
	EWaitForStart,
williamr@4
   161
	/**
williamr@4
   162
	By using this type the starter will continue with the next command
williamr@4
   163
	before a rendezvous has been made with the current command.
williamr@4
   164
	However the rendezvous will be checked later when a MULTIPLE_WAIT command
williamr@4
   165
	is encountered.
williamr@4
   166
	*/
williamr@4
   167
	EDeferredWaitForStart
williamr@4
   168
	};
williamr@4
   169
williamr@4
   170
williamr@4
   171
williamr@4
   172
/** Identifier for the no of retries on state transition failure.
williamr@4
   173
williamr@4
   174
@publishedPartner
williamr@4
   175
@deprecated 
williamr@4
   176
*/
williamr@4
   177
enum TNoOfRetries
williamr@4
   178
	{
williamr@4
   179
	/**
williamr@4
   180
 	On state transition failure do not re-attempt the transition.
williamr@4
   181
	*/
williamr@4
   182
	ERetry0,
williamr@4
   183
	/**
williamr@4
   184
 	On state transition failure re-attempt the transition once.
williamr@4
   185
	*/
williamr@4
   186
	ERetry1
williamr@4
   187
	};
williamr@4
   188
williamr@4
   189
williamr@4
   190
/**  Identifier for the action to be taken on state transition
williamr@4
   191
failure (after a re-attempt has already been made if required).
williamr@4
   192
williamr@4
   193
@publishedPartner
williamr@4
   194
@deprecated Instead of this use TSsmRecoveryMethod
williamr@4
   195
*/
williamr@4
   196
enum TActionOnStateTransitionFailure
williamr@4
   197
	{
williamr@4
   198
	/**
williamr@4
   199
 	Ignore the state transition failure. Carry on with actions
williamr@4
   200
 	corresponding to the next state.
williamr@4
   201
	*/
williamr@4
   202
	EIgnoreFailure,
williamr@4
   203
williamr@4
   204
	/**
williamr@4
   205
 	Panic the system starter if state transition failed. This
williamr@4
   206
 	will cause the device to re-boot.
williamr@4
   207
	*/
williamr@4
   208
	EPanicOnFailure
williamr@4
   209
	};
williamr@4
   210
williamr@4
   211
/**  Identifier for the action to be taken on command failure.
williamr@4
   212
This is used with the fail_on_error fields within START_PROCESS_INFO, START_APP_INFO, START_DLL_INFO, and MULTIPLE_WAIT structures.
williamr@4
   213
These structures rely on this enum being a boolean value so it must not hold more than 2 values: EIgnoreCommandFailure=0 and EPanicOnCommandFailure=1.
williamr@4
   214
williamr@4
   215
@publishedPartner
williamr@4
   216
@deprecated Instead of this use TSsmRecoveryMethod
williamr@4
   217
*/
williamr@4
   218
enum TActionOnCommandFailure
williamr@4
   219
	{
williamr@4
   220
	/**
williamr@4
   221
 	Ignore the command failure.
williamr@4
   222
	*/
williamr@4
   223
	EIgnoreCommandFailure,
williamr@4
   224
williamr@4
   225
	/**
williamr@4
   226
 	Panic the system starter if command fails. This
williamr@4
   227
 	will cause the device to re-boot.
williamr@4
   228
	*/
williamr@4
   229
	EPanicOnCommandFailure
williamr@4
   230
	};
williamr@4
   231
williamr@4
   232
/**  Identifier for the action to be taken on command failure.  
williamr@4
   233
This should be used to set the retry_failure_recovery_method when using START_PROCESS_INFO2 or START_APP_INFO2 structures
williamr@4
   234
williamr@4
   235
@publishedPartner
williamr@4
   236
@deprecated Instead of this use TSsmRecoveryMethod
williamr@4
   237
*/
williamr@4
   238
enum TRecoveryMethod
williamr@4
   239
	{
williamr@4
   240
	/**
williamr@4
   241
	Ignore the command failure
williamr@4
   242
	*/
williamr@4
   243
	EIgnoreOnFailure,
williamr@4
   244
	/**
williamr@4
   245
	Reboot the OS
williamr@4
   246
	*/
williamr@4
   247
	ERestartOS,
williamr@4
   248
	/**
williamr@4
   249
	Reboot the OS in a particular mode
williamr@4
   250
	*/
williamr@4
   251
	ERestartOSWithMode,
williamr@4
   252
	/**
williamr@4
   253
	Reboot the OS (with no attempts to restart the component being attempted)
williamr@4
   254
	*/
williamr@4
   255
	ECriticalNoRetries
williamr@4
   256
	};
williamr@4
   257
williamr@4
   258
#endif	// __STARTUP_HRH__
williamr@4
   259