epoc32/include/e32const.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
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@2
     1
// Copyright (c) 1994-2009 Nokia Corporation and/or its subsidiary(-ies).
williamr@2
     2
// All rights reserved.
williamr@2
     3
// This component and the accompanying materials are made available
williamr@4
     4
// under the terms of the License "Eclipse Public License v1.0"
williamr@2
     5
// which accompanies this distribution, and is available
williamr@4
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
williamr@2
     7
//
williamr@2
     8
// Initial Contributors:
williamr@2
     9
// Nokia Corporation - initial contribution.
williamr@2
    10
//
williamr@2
    11
// Contributors:
williamr@2
    12
//
williamr@2
    13
// Description:
williamr@2
    14
// e32\include\e32const.h
williamr@2
    15
// 
williamr@2
    16
//
williamr@2
    17
williamr@2
    18
#ifndef __E32CONST_H__
williamr@2
    19
#define __E32CONST_H__
williamr@2
    20
williamr@2
    21
#include <e32err.h>
williamr@2
    22
#include <e32lang.h>
williamr@4
    23
#include <e32reg.h>
williamr@2
    24
williamr@2
    25
williamr@2
    26
/**
williamr@2
    27
@publishedAll
williamr@2
    28
@released
williamr@2
    29
williamr@2
    30
The default width value used when appending and justifying data
williamr@2
    31
in a descriptor.
williamr@2
    32
williamr@2
    33
@see TDes16::AppendJustify()
williamr@2
    34
@see TDes16::Justify()
williamr@2
    35
@see TDes8::AppendJustify()
williamr@2
    36
@see TDes8::Justify()
williamr@2
    37
*/
williamr@2
    38
const TInt KDefaultJustifyWidth=(-1);
williamr@2
    39
williamr@2
    40
williamr@2
    41
williamr@2
    42
/**
williamr@2
    43
@publishedAll
williamr@2
    44
@released
williamr@2
    45
williamr@2
    46
Defines the number of TUids that form a TUidType.
williamr@2
    47
williamr@2
    48
@see TUid
williamr@2
    49
@see TUidType
williamr@2
    50
*/
williamr@2
    51
const TInt KMaxCheckedUid=3;
williamr@2
    52
williamr@2
    53
williamr@2
    54
/**
williamr@2
    55
@publishedAll
williamr@2
    56
@released
williamr@2
    57
williamr@2
    58
Defines the number of 32-bit debug trace mask words.
williamr@2
    59
williamr@2
    60
*/
williamr@2
    61
const TInt KNumTraceMaskWords = 8;
williamr@2
    62
williamr@2
    63
williamr@2
    64
/**
williamr@2
    65
@publishedAll
williamr@2
    66
@released
williamr@2
    67
williamr@2
    68
Defines the maximum length for the text form of a UID name.
williamr@2
    69
williamr@2
    70
@see TUidName
williamr@2
    71
@see TUid::Name()
williamr@2
    72
*/
williamr@2
    73
const TInt KMaxUidName=10;
williamr@2
    74
williamr@2
    75
williamr@2
    76
williamr@2
    77
williamr@2
    78
/**
williamr@2
    79
@publishedAll
williamr@2
    80
@released
williamr@2
    81
williamr@2
    82
Defines the maximum length of a module name.
williamr@2
    83
*/
williamr@2
    84
const TInt KMaxModuleVersionName=10;
williamr@2
    85
williamr@2
    86
williamr@2
    87
williamr@2
    88
williamr@2
    89
/**
williamr@2
    90
@publishedAll
williamr@2
    91
@released
williamr@2
    92
williamr@2
    93
Defines the maximum length of the name of a reference counted object.
williamr@2
    94
williamr@2
    95
@see TName
williamr@2
    96
*/
williamr@2
    97
const TInt KMaxName=0x80;
williamr@2
    98
williamr@2
    99
williamr@2
   100
williamr@2
   101
williamr@2
   102
/**
williamr@2
   103
@publishedAll
williamr@2
   104
@released
williamr@2
   105
williamr@2
   106
Defines the maximum length of the name of a reference counted kernel-side object. 
williamr@2
   107
*/
williamr@2
   108
const TInt KMaxKernelName=0x50;
williamr@2
   109
williamr@2
   110
williamr@2
   111
williamr@2
   112
williamr@2
   113
/**
williamr@2
   114
@publishedAll
williamr@2
   115
@released
williamr@2
   116
williamr@2
   117
Defines the maximum size of a process name.
williamr@2
   118
*/
williamr@2
   119
const TInt KMaxProcessName=(KMaxKernelName-KMaxUidName-KMaxModuleVersionName-4);
williamr@2
   120
williamr@2
   121
williamr@2
   122
williamr@2
   123
williamr@2
   124
/**
williamr@2
   125
@publishedAll
williamr@2
   126
@released
williamr@2
   127
williamr@2
   128
Defines the maximum size of a library name.
williamr@2
   129
*/
williamr@2
   130
const TInt KMaxLibraryName=(KMaxKernelName-KMaxUidName-KMaxModuleVersionName);
williamr@2
   131
williamr@2
   132
williamr@2
   133
williamr@2
   134
williamr@2
   135
/**
williamr@2
   136
@publishedAll
williamr@2
   137
@released
williamr@2
   138
williamr@2
   139
Defines the maximum length of a TInfoName object.
williamr@2
   140
*/
williamr@2
   141
const TInt KMaxInfoName=0x10;
williamr@2
   142
williamr@2
   143
williamr@2
   144
williamr@2
   145
williamr@2
   146
/**
williamr@2
   147
@publishedAll
williamr@2
   148
@released
williamr@2
   149
williamr@2
   150
Defines the maximum length of the full name of a reference counted object.
williamr@2
   151
williamr@2
   152
@see TFullName
williamr@2
   153
*/
williamr@2
   154
const TInt KMaxFullName=(KMaxName<<1);
williamr@2
   155
williamr@2
   156
williamr@2
   157
williamr@2
   158
williamr@2
   159
/**
williamr@2
   160
@publishedAll
williamr@2
   161
@released
williamr@2
   162
williamr@2
   163
The maximum length for a password buffer.
williamr@2
   164
williamr@2
   165
@see TPassword
williamr@2
   166
*/
williamr@2
   167
const TInt KMaxPassword=0x10;
williamr@2
   168
williamr@2
   169
williamr@2
   170
williamr@2
   171
williamr@2
   172
/**
williamr@2
   173
@publishedAll
williamr@2
   174
@released
williamr@2
   175
williamr@2
   176
The maximum length of a category name.
williamr@2
   177
williamr@2
   178
@see TExitCategoryName
williamr@2
   179
*/
williamr@2
   180
const TInt KMaxExitCategoryName=0x10;
williamr@2
   181
williamr@2
   182
williamr@2
   183
williamr@2
   184
williamr@2
   185
/**
williamr@2
   186
@publishedAll
williamr@2
   187
@released
williamr@2
   188
williamr@2
   189
The maximum length of the full text name for a day of the week.
williamr@2
   190
williamr@2
   191
@see TDayName
williamr@2
   192
*/
williamr@2
   193
const TInt KMaxDayName=0x20;
williamr@2
   194
williamr@2
   195
williamr@2
   196
williamr@2
   197
williamr@2
   198
/**
williamr@2
   199
@publishedAll
williamr@2
   200
@released
williamr@2
   201
williamr@2
   202
The maximum length of the abbreviated text name for a day of the week.
williamr@2
   203
williamr@2
   204
@see TDayNameAbb
williamr@2
   205
*/
williamr@2
   206
const TInt KMaxDayNameAbb=0x08;
williamr@2
   207
williamr@2
   208
williamr@2
   209
williamr@2
   210
williamr@2
   211
/**
williamr@2
   212
@publishedAll
williamr@2
   213
@released
williamr@2
   214
williamr@2
   215
Defines the maximum size of arrays or data structures required
williamr@2
   216
to hold the names of the days of the week.
williamr@2
   217
*/
williamr@2
   218
const TInt KMaxDays=7;
williamr@2
   219
williamr@2
   220
williamr@2
   221
williamr@2
   222
williamr@2
   223
/**
williamr@2
   224
@publishedAll
williamr@2
   225
@released
williamr@2
   226
williamr@2
   227
The maximum length of the full text name for a month.
williamr@2
   228
williamr@2
   229
@see TDayName
williamr@2
   230
*/
williamr@2
   231
const TInt KMaxMonthName=0x20;
williamr@2
   232
williamr@2
   233
williamr@2
   234
williamr@2
   235
williamr@2
   236
/**
williamr@2
   237
@publishedAll
williamr@2
   238
@released
williamr@2
   239
williamr@2
   240
The maximum length of the abbreviated text name for a month.
williamr@2
   241
williamr@2
   242
@see TMonthNameAbb
williamr@2
   243
*/
williamr@2
   244
const TInt KMaxMonthNameAbb=0x08;
williamr@2
   245
williamr@2
   246
williamr@2
   247
williamr@2
   248
williamr@2
   249
/**
williamr@2
   250
@publishedAll
williamr@2
   251
@released
williamr@2
   252
williamr@2
   253
Defines the maximum size of arrays or data structures required
williamr@2
   254
to hold the names of the months of the year.
williamr@2
   255
*/
williamr@2
   256
const TInt KMaxMonths=12;
williamr@2
   257
williamr@2
   258
williamr@2
   259
williamr@2
   260
williamr@2
   261
/**
williamr@2
   262
@publishedAll
williamr@2
   263
@released
williamr@2
   264
williamr@2
   265
The maximum length of the text for a date suffix.
williamr@2
   266
williamr@2
   267
@see TDateSuffix
williamr@2
   268
*/
williamr@2
   269
const TInt KMaxSuffix=0x04;
williamr@2
   270
williamr@2
   271
williamr@2
   272
williamr@2
   273
williamr@2
   274
/**
williamr@2
   275
@publishedAll
williamr@2
   276
@released
williamr@2
   277
williamr@2
   278
Defines the maximum size of arrays and data structures required
williamr@2
   279
to hold date suffix strings.
williamr@2
   280
*/
williamr@2
   281
const TInt KMaxSuffixes=31;
williamr@2
   282
williamr@2
   283
williamr@2
   284
williamr@2
   285
williamr@2
   286
/**
williamr@2
   287
@publishedAll
williamr@2
   288
@released
williamr@2
   289
williamr@2
   290
The maximum length of the text for AM and PM.
williamr@2
   291
williamr@2
   292
@see TAmPmName
williamr@2
   293
*/
williamr@2
   294
const TInt KMaxAmPmName=0x04;
williamr@2
   295
williamr@2
   296
williamr@2
   297
williamr@2
   298
williamr@2
   299
/**
williamr@2
   300
@publishedAll
williamr@2
   301
@released
williamr@2
   302
williamr@2
   303
Defines the maximum size of arrays and data structures required
williamr@2
   304
to hold am/pm strings.
williamr@2
   305
*/
williamr@2
   306
const TInt KMaxAmPms=2;
williamr@2
   307
williamr@2
   308
williamr@2
   309
williamr@2
   310
williamr@2
   311
/**
williamr@2
   312
@publishedAll
williamr@2
   313
@released
williamr@2
   314
williamr@2
   315
Defines the maximum number of date separator characters in a date string.
williamr@2
   316
*/
williamr@2
   317
const TInt KMaxDateSeparators=4;
williamr@2
   318
williamr@2
   319
williamr@2
   320
williamr@2
   321
williamr@2
   322
/**
williamr@2
   323
@publishedAll
williamr@2
   324
@released
williamr@2
   325
williamr@2
   326
Defines the maximum number of time separator characters in a time string.
williamr@2
   327
*/
williamr@2
   328
const TInt KMaxTimeSeparators=4;
williamr@2
   329
williamr@2
   330
williamr@2
   331
williamr@2
   332
williamr@2
   333
/**
williamr@2
   334
@publishedAll
williamr@2
   335
@released
williamr@2
   336
williamr@2
   337
Defines the maximum size of data structures to hold the translate tables
williamr@2
   338
for Western European alphabetic conversions.
williamr@2
   339
*/
williamr@2
   340
const TInt KMaxTranslateTable=0x100;
williamr@2
   341
williamr@2
   342
williamr@2
   343
williamr@2
   344
williamr@2
   345
/**
williamr@2
   346
@publishedAll
williamr@2
   347
@released
williamr@2
   348
williamr@2
   349
The maximum length of the text for a currency symbol.
williamr@2
   350
williamr@2
   351
@see TCurrencySymbol
williamr@2
   352
*/
williamr@2
   353
const TInt KMaxCurrencySymbol=0x08;
williamr@2
   354
williamr@2
   355
williamr@2
   356
williamr@2
   357
williamr@2
   358
/**
williamr@2
   359
@publishedAll
williamr@2
   360
@released
williamr@2
   361
williamr@2
   362
The maximum length of the short date format specification text.
williamr@2
   363
williamr@2
   364
@see TShortDateFormatSpec
williamr@2
   365
*/
williamr@2
   366
const TInt KMaxShortDateFormatSpec=40;
williamr@2
   367
williamr@2
   368
williamr@2
   369
williamr@2
   370
williamr@2
   371
/**
williamr@2
   372
@publishedAll
williamr@2
   373
@released
williamr@2
   374
williamr@2
   375
The maximum length of the short date format specification text.
williamr@2
   376
williamr@2
   377
@see TLongDateFormatSpec
williamr@2
   378
*/
williamr@2
   379
const TInt KMaxLongDateFormatSpec=80;
williamr@2
   380
williamr@2
   381
williamr@2
   382
williamr@2
   383
williamr@2
   384
/**
williamr@2
   385
@publishedAll
williamr@2
   386
@released
williamr@2
   387
williamr@2
   388
The maximum length of the time string formatting commands.
williamr@2
   389
williamr@2
   390
@see TTimeFormatSpec
williamr@2
   391
*/
williamr@2
   392
const TInt KMaxTimeFormatSpec=60;
williamr@2
   393
williamr@2
   394
williamr@2
   395
williamr@2
   396
williamr@2
   397
/**
williamr@2
   398
@publishedAll
williamr@2
   399
@released
williamr@2
   400
williamr@2
   401
Defines the maximum length of a filename.
williamr@2
   402
*/
williamr@2
   403
const TInt KMaxFileName=0x100;
williamr@2
   404
williamr@2
   405
williamr@2
   406
williamr@2
   407
williamr@2
   408
/**
williamr@2
   409
@publishedAll
williamr@2
   410
@released
williamr@2
   411
williamr@2
   412
The maximum length of the character representation of version information.
williamr@2
   413
williamr@2
   414
@see TVersion::Name()
williamr@2
   415
*/
williamr@2
   416
const TInt KMaxVersionName=0x10;
williamr@2
   417
williamr@2
   418
williamr@2
   419
williamr@2
   420
williamr@2
   421
/**
williamr@2
   422
@publishedAll
williamr@2
   423
@released
williamr@2
   424
williamr@2
   425
Defines the maximum length of a path.
williamr@2
   426
williamr@2
   427
@see TPath
williamr@2
   428
*/
williamr@2
   429
const TInt KMaxPath=0x100;
williamr@2
   430
williamr@2
   431
williamr@2
   432
williamr@2
   433
williamr@2
   434
/**
williamr@2
   435
@publishedAll
williamr@2
   436
@released
williamr@2
   437
williamr@2
   438
Defines the maximum length of a TDeviceInfo object.
williamr@2
   439
williamr@2
   440
@see TDeviceInfo
williamr@2
   441
*/
williamr@2
   442
const TInt KMaxDeviceInfo=0x80;
williamr@2
   443
williamr@2
   444
williamr@2
   445
williamr@2
   446
williamr@2
   447
/**
williamr@2
   448
@publishedAll
williamr@2
   449
@released
williamr@2
   450
williamr@2
   451
The maximum size of the password required to unlock a media drive.
williamr@2
   452
*/
williamr@2
   453
const TInt KMaxMediaPassword=16;
williamr@2
   454
williamr@2
   455
williamr@2
   456
williamr@2
   457
williamr@2
   458
/**
williamr@2
   459
@publishedAll
williamr@2
   460
@released
williamr@2
   461
williamr@2
   462
Defines the minimum size of a new heap.
williamr@2
   463
williamr@2
   464
Functions that require a new heap to be allocated will either panic,
williamr@2
   465
or will reset the required heap size to this value if a smaller heap
williamr@2
   466
size is specified.
williamr@2
   467
williamr@2
   468
@see UserHeap
williamr@2
   469
@see RThread::Create()
williamr@2
   470
*/
williamr@2
   471
const TInt KMinHeapSize=0x100;
williamr@2
   472
williamr@2
   473
williamr@2
   474
williamr@2
   475
williamr@2
   476
/**
williamr@2
   477
@publishedAll
williamr@2
   478
@released
williamr@2
   479
williamr@2
   480
Not used by Symbian OS.
williamr@2
   481
*/
williamr@2
   482
const TInt KDstHome=0x01;
williamr@2
   483
williamr@2
   484
williamr@2
   485
williamr@2
   486
williamr@2
   487
/**
williamr@2
   488
@publishedAll
williamr@2
   489
@released
williamr@2
   490
williamr@2
   491
Not used by Symbian OS.
williamr@2
   492
*/
williamr@2
   493
const TInt KDstEuropean=0x02;
williamr@2
   494
williamr@2
   495
williamr@2
   496
williamr@2
   497
williamr@2
   498
/**
williamr@2
   499
@publishedAll
williamr@2
   500
@released
williamr@2
   501
williamr@2
   502
Not used by Symbian OS.
williamr@2
   503
*/
williamr@2
   504
const TInt KDstNorthern=0x04;
williamr@2
   505
williamr@2
   506
williamr@2
   507
williamr@2
   508
williamr@2
   509
/**
williamr@2
   510
@publishedAll
williamr@2
   511
@released
williamr@2
   512
williamr@2
   513
Not used by Symbian OS.
williamr@2
   514
*/
williamr@2
   515
const TInt KDstSouthern=0x08;
williamr@2
   516
williamr@2
   517
williamr@2
   518
williamr@2
   519
williamr@2
   520
/**
williamr@2
   521
@publishedAll
williamr@2
   522
@released
williamr@2
   523
williamr@2
   524
A default stack size that can be used when creating threads.
williamr@2
   525
*/
williamr@4
   526
#ifdef __X86GCC__
williamr@4
   527
const TInt KDefaultStackSize=0x4000;
williamr@4
   528
#else
williamr@2
   529
const TInt KDefaultStackSize=0x2000;
williamr@4
   530
#endif // __X86GCC__
williamr@2
   531
williamr@2
   532
williamr@2
   533
williamr@2
   534
williamr@2
   535
/**
williamr@2
   536
@publishedAll
williamr@2
   537
@released
williamr@2
   538
williamr@2
   539
Indicates an undefined character, used internally when formatting text. 
williamr@2
   540
*/
williamr@2
   541
const TUint KNoChar=0xffffffffu;
williamr@2
   542
williamr@2
   543
williamr@2
   544
williamr@2
   545
williamr@2
   546
/**
williamr@2
   547
@publishedAll
williamr@2
   548
@released
williamr@2
   549
williamr@2
   550
Defines an index value that is interpreted by the TKey class,
williamr@2
   551
and derived classes, as having a specific meaning.
williamr@2
   552
williamr@2
   553
@see TKey::SetPtr()
williamr@2
   554
@see TKey::At()
williamr@2
   555
*/
williamr@2
   556
const TInt KIndexPtr=(-1);
williamr@2
   557
williamr@2
   558
williamr@2
   559
williamr@2
   560
williamr@2
   561
/**
williamr@2
   562
@publishedAll
williamr@2
   563
@released
williamr@2
   564
williamr@2
   565
A flag used by the kernel to mark a handle as not being closable.
williamr@2
   566
*/
williamr@2
   567
const TInt KHandleNoClose=0x00008000;
williamr@2
   568
williamr@2
   569
williamr@2
   570
williamr@2
   571
williamr@2
   572
/**
williamr@2
   573
@publishedAll
williamr@2
   574
@released
williamr@2
   575
williamr@2
   576
A flag used by the kernel to mark a handle as being local.
williamr@2
   577
*/
williamr@2
   578
const TInt KHandleFlagLocal=0x40000000;
williamr@2
   579
williamr@2
   580
williamr@2
   581
williamr@2
   582
williamr@2
   583
/**
williamr@2
   584
@publishedAll
williamr@2
   585
@released
williamr@2
   586
williamr@2
   587
A flag used by the Kernel to indicate the current process.
williamr@2
   588
*/
williamr@2
   589
const TInt KCurrentProcessHandle=0xffff0000|KHandleNoClose;
williamr@2
   590
williamr@2
   591
williamr@2
   592
williamr@2
   593
williamr@2
   594
/**
williamr@2
   595
@publishedAll
williamr@2
   596
@released
williamr@2
   597
williamr@2
   598
A flag used by the Kernel to indicate the current thread.
williamr@2
   599
*/
williamr@2
   600
const TInt KCurrentThreadHandle=0xffff0001|KHandleNoClose;
williamr@2
   601
williamr@2
   602
williamr@2
   603
williamr@2
   604
williamr@2
   605
/**
williamr@2
   606
@publishedAll
williamr@2
   607
@released
williamr@2
   608
williamr@2
   609
Defines a handle number value of zero.
williamr@2
   610
williamr@2
   611
@see RHandleBase
williamr@2
   612
*/
williamr@2
   613
const TInt KNullHandle=0;
williamr@2
   614
williamr@2
   615
williamr@2
   616
williamr@2
   617
williamr@2
   618
/**
williamr@2
   619
@publishedAll
williamr@2
   620
@released
williamr@2
   621
williamr@2
   622
Defines a default unit. Not generally used by Symbian OS.
williamr@2
   623
*/
williamr@2
   624
const TInt KDefaultUnit=0x00;
williamr@2
   625
williamr@2
   626
williamr@2
   627
williamr@2
   628
williamr@2
   629
/**
williamr@2
   630
@publishedAll
williamr@2
   631
@released
williamr@2
   632
williamr@2
   633
The device unit that must be passed in a call
williamr@2
   634
to RBusLogicalChannel::DoCreate(), if units are not permitted.
williamr@2
   635
williamr@2
   636
@see RBusLogicalChannel
williamr@2
   637
*/
williamr@2
   638
const TInt KNullUnit=0xffffffff;
williamr@2
   639
williamr@2
   640
williamr@2
   641
williamr@2
   642
williamr@2
   643
/**
williamr@2
   644
@publishedAll
williamr@2
   645
@released
williamr@2
   646
williamr@2
   647
The maximum unit number that can be passed in a call
williamr@2
   648
to RBusLogicalChannel::DoCreate().
williamr@2
   649
williamr@2
   650
@see RBusLogicalChannel
williamr@2
   651
*/
williamr@2
   652
const TInt KMaxUnits=0x20;
williamr@2
   653
williamr@2
   654
williamr@2
   655
williamr@2
   656
williamr@2
   657
/**
williamr@2
   658
@publishedAll
williamr@2
   659
@released
williamr@2
   660
williamr@2
   661
Defines the maximum number of message arguments that can be passed
williamr@2
   662
across the user side/kernel side boundary.
williamr@2
   663
*/
williamr@2
   664
const TInt KMaxMessageArguments=0x04;
williamr@2
   665
williamr@2
   666
williamr@2
   667
williamr@2
   668
williamr@2
   669
/**
williamr@2
   670
@publishedAll
williamr@2
   671
@released
williamr@2
   672
williamr@2
   673
The default width of the character representation of a real number, used by
williamr@2
   674
the default constructor of a TRealFormat object and the formatting functions
williamr@2
   675
of descriptors.
williamr@2
   676
williamr@2
   677
@see TRealFormat
williamr@2
   678
@see TDes16::AppendFormat()
williamr@2
   679
@see TDes8::AppendFormat()
williamr@2
   680
*/
williamr@2
   681
const TInt KDefaultRealWidth=20;
williamr@2
   682
williamr@2
   683
williamr@2
   684
williamr@2
   685
williamr@2
   686
/**
williamr@2
   687
@publishedAll
williamr@2
   688
@released
williamr@2
   689
williamr@2
   690
The default value used by UserHeap::ChunkHeap() for defining increments to
williamr@2
   691
the size of a chunk, when no explicit value specified by the caller.
williamr@2
   692
williamr@2
   693
@see UserHeap::ChunkHeap()
williamr@2
   694
*/
williamr@2
   695
const TInt KMinHeapGrowBy=0x1000;
williamr@2
   696
williamr@2
   697
williamr@2
   698
williamr@2
   699
williamr@2
   700
/**
williamr@2
   701
@publishedAll
williamr@2
   702
@released
williamr@2
   703
williamr@2
   704
Not used by Symbian OS.
williamr@2
   705
*/
williamr@2
   706
const TInt KMaxExponentConversion=99;
williamr@2
   707
williamr@2
   708
williamr@2
   709
williamr@2
   710
williamr@2
   711
/**
williamr@2
   712
@publishedAll
williamr@2
   713
@released
williamr@2
   714
williamr@2
   715
Defines a Null UID value.
williamr@2
   716
williamr@2
   717
@see TUid
williamr@2
   718
*/
williamr@2
   719
const TInt KNullUidValue=0;
williamr@2
   720
williamr@2
   721
williamr@2
   722
williamr@2
   723
williamr@2
   724
/**
williamr@2
   725
@publishedAll
williamr@2
   726
@deprecated
williamr@2
   727
williamr@2
   728
The timer granularity used by a CDeltaTimer object is
williamr@2
   729
now the tick period and this constant is obsolete.
williamr@2
   730
williamr@2
   731
@see CDeltaTimer
williamr@2
   732
*/
williamr@2
   733
const TInt KDeltaTimerDefaultGranularity=100000;
williamr@2
   734
williamr@2
   735
williamr@2
   736
williamr@2
   737
williamr@2
   738
/**
williamr@2
   739
@publishedAll
williamr@2
   740
@released
williamr@2
   741
williamr@2
   742
The largest possible value for a TInt8.
williamr@2
   743
*/
williamr@2
   744
const TInt KMaxTInt8=0x7f;
williamr@2
   745
williamr@2
   746
williamr@2
   747
williamr@2
   748
williamr@2
   749
/**
williamr@2
   750
@publishedAll
williamr@2
   751
@released
williamr@2
   752
williamr@2
   753
The smallest possible value for a TInt8.
williamr@2
   754
*/
williamr@2
   755
const TInt KMinTInt8=(-128);
williamr@2
   756
williamr@2
   757
williamr@2
   758
williamr@2
   759
williamr@2
   760
/**
williamr@2
   761
@publishedAll
williamr@2
   762
@released
williamr@2
   763
williamr@2
   764
The largest possible value for a TUint8.
williamr@2
   765
*/
williamr@2
   766
const TUint KMaxTUint8=0xffu;
williamr@2
   767
williamr@2
   768
williamr@2
   769
williamr@2
   770
williamr@2
   771
/**
williamr@2
   772
@publishedAll
williamr@2
   773
@released
williamr@2
   774
williamr@2
   775
The largest possible value for a TInt16.
williamr@2
   776
*/
williamr@2
   777
const TInt KMaxTInt16=0x7fff;
williamr@2
   778
williamr@2
   779
williamr@2
   780
williamr@2
   781
williamr@2
   782
/**
williamr@2
   783
@publishedAll
williamr@2
   784
@released
williamr@2
   785
williamr@2
   786
The smallest possible value for a TInt16.
williamr@2
   787
*/
williamr@2
   788
const TInt KMinTInt16=(-32768);
williamr@2
   789
williamr@2
   790
williamr@2
   791
williamr@2
   792
williamr@2
   793
/**
williamr@2
   794
@publishedAll
williamr@2
   795
@released
williamr@2
   796
williamr@2
   797
The largest possible value for a TUint16.
williamr@2
   798
*/
williamr@2
   799
const TUint KMaxTUint16=0xffffu;
williamr@2
   800
williamr@2
   801
williamr@2
   802
williamr@2
   803
williamr@2
   804
/**
williamr@2
   805
@publishedAll
williamr@2
   806
@released
williamr@2
   807
williamr@2
   808
The largest possible value for a TInt32.
williamr@2
   809
*/
williamr@2
   810
const TInt KMaxTInt32=0x7fffffff;
williamr@2
   811
williamr@2
   812
williamr@2
   813
williamr@2
   814
williamr@2
   815
/**
williamr@2
   816
@publishedAll
williamr@2
   817
@released
williamr@2
   818
williamr@2
   819
The smallest possible value for a TInt32.
williamr@2
   820
*/
williamr@2
   821
const TInt KMinTInt32=(TInt)0x80000000;
williamr@2
   822
williamr@2
   823
williamr@2
   824
williamr@2
   825
williamr@2
   826
/**
williamr@2
   827
@publishedAll
williamr@2
   828
@released
williamr@2
   829
williamr@2
   830
The largest possible value for a TUint32.
williamr@2
   831
*/
williamr@2
   832
const TUint KMaxTUint32=0xffffffffu;
williamr@2
   833
williamr@2
   834
williamr@2
   835
williamr@2
   836
williamr@2
   837
/**
williamr@2
   838
@publishedAll
williamr@2
   839
@released
williamr@2
   840
williamr@2
   841
The largest possible value for a TInt.
williamr@2
   842
*/
williamr@2
   843
const TInt KMaxTInt=0x7fffffff;
williamr@2
   844
williamr@2
   845
williamr@2
   846
williamr@2
   847
williamr@2
   848
/**
williamr@2
   849
@publishedAll
williamr@2
   850
@released
williamr@2
   851
williamr@2
   852
The smallest possible value for a TInt.
williamr@2
   853
*/
williamr@2
   854
const TInt KMinTInt=(TInt)0x80000000;
williamr@2
   855
williamr@2
   856
williamr@2
   857
williamr@2
   858
williamr@2
   859
/**
williamr@2
   860
@publishedAll
williamr@2
   861
@released
williamr@2
   862
williamr@2
   863
The largest possible value for a TUint.
williamr@2
   864
*/
williamr@2
   865
const TUint KMaxTUint=0xffffffffu;
williamr@2
   866
williamr@2
   867
williamr@2
   868
williamr@2
   869
williamr@2
   870
/**
williamr@2
   871
@publishedAll
williamr@2
   872
@released
williamr@2
   873
williamr@2
   874
The largest possible value for a TInt64.
williamr@2
   875
*/
williamr@2
   876
const TInt64 KMaxTInt64 = I64LIT(0x7fffffffffffffff);
williamr@2
   877
williamr@2
   878
williamr@2
   879
williamr@2
   880
williamr@2
   881
/**
williamr@2
   882
@publishedAll
williamr@2
   883
@released
williamr@2
   884
williamr@2
   885
The smallest possible value for a TInt64.
williamr@2
   886
*/
williamr@2
   887
const TInt64 KMinTInt64 = UI64LIT(0x8000000000000000);
williamr@2
   888
williamr@2
   889
williamr@2
   890
williamr@2
   891
williamr@2
   892
/**
williamr@2
   893
@publishedAll
williamr@2
   894
@released
williamr@2
   895
williamr@2
   896
The largest possible value for a TUint64.
williamr@2
   897
*/
williamr@2
   898
const TUint64 KMaxTUint64 = UI64LIT(0xffffffffffffffff);
williamr@2
   899
williamr@2
   900
williamr@2
   901
williamr@2
   902
williamr@2
   903
/**
williamr@2
   904
@publishedAll
williamr@2
   905
@released
williamr@2
   906
williamr@2
   907
Defines the character *, and represents any number of characters in any
williamr@2
   908
part of a path component, filename or extension.
williamr@2
   909
williamr@2
   910
It is used in a TParse file specification.
williamr@2
   911
williamr@2
   912
@see TParse
williamr@2
   913
*/
williamr@2
   914
const TUint KMatchAny='*';
williamr@2
   915
williamr@2
   916
williamr@2
   917
williamr@2
   918
williamr@2
   919
/**
williamr@2
   920
@publishedAll
williamr@2
   921
@released
williamr@2
   922
williamr@2
   923
Defines the character ?, and represents a single character in
williamr@2
   924
a path component, filename or extension.
williamr@2
   925
williamr@2
   926
It is used in a TParse file specification.
williamr@2
   927
williamr@2
   928
@see TParse
williamr@2
   929
*/
williamr@2
   930
const TUint KMatchOne='?';
williamr@2
   931
williamr@2
   932
williamr@2
   933
williamr@2
   934
williamr@2
   935
/**
williamr@2
   936
@publishedAll
williamr@2
   937
@released
williamr@2
   938
williamr@2
   939
Defines the maximum number of local drives.
williamr@2
   940
*/
williamr@2
   941
const TInt KMaxLocalDrives=16;
williamr@2
   942
williamr@2
   943
williamr@2
   944
williamr@2
   945
williamr@2
   946
/**
williamr@2
   947
@publishedAll
williamr@2
   948
@released
williamr@2
   949
williamr@2
   950
Defines the maximum number of peripheral bus sockets.
williamr@2
   951
*/
williamr@2
   952
const TInt KMaxPBusSockets=4;
williamr@2
   953
williamr@2
   954
williamr@2
   955
williamr@2
   956
williamr@2
   957
/**
williamr@2
   958
@publishedAll
williamr@2
   959
@released
williamr@2
   960
williamr@2
   961
Not used by Symbian OS.
williamr@2
   962
*/
williamr@2
   963
const TInt KNoCallEntryPoint = 0x01;
williamr@2
   964
williamr@2
   965
williamr@2
   966
williamr@2
   967
williamr@2
   968
/**
williamr@2
   969
@publishedAll
williamr@2
   970
@released
williamr@2
   971
williamr@2
   972
The value to which CActive::iStatus is set by an active object's
williamr@2
   973
service provider before the service provider initiates an asynchronous request.
williamr@2
   974
williamr@2
   975
@see CActive
williamr@2
   976
*/
williamr@2
   977
const TInt KRequestPending=(-KMaxTInt);
williamr@2
   978
williamr@2
   979
williamr@2
   980
williamr@2
   981
williamr@2
   982
// Drive capabilities
williamr@2
   983
williamr@2
   984
/**
williamr@2
   985
@publishedAll
williamr@2
   986
@released
williamr@2
   987
williamr@2
   988
Defines the possible media types. 
williamr@2
   989
*/
williamr@2
   990
enum TMediaType
williamr@2
   991
	{
williamr@2
   992
	EMediaNotPresent,
williamr@2
   993
	
williamr@2
   994
	EMediaUnknown,
williamr@2
   995
	
williamr@2
   996
	EMediaFloppy,
williamr@2
   997
	
williamr@2
   998
	/** Solid-state media. */
williamr@2
   999
	EMediaHardDisk,
williamr@2
  1000
	
williamr@2
  1001
	EMediaCdRom,
williamr@2
  1002
	
williamr@2
  1003
	EMediaRam,
williamr@2
  1004
	
williamr@2
  1005
	EMediaFlash,
williamr@2
  1006
	
williamr@2
  1007
	EMediaRom,
williamr@2
  1008
	
williamr@2
  1009
	EMediaRemote,
williamr@2
  1010
	
williamr@2
  1011
	EMediaNANDFlash,
williamr@2
  1012
	
williamr@2
  1013
	/** Rotating media. */
williamr@2
  1014
	EMediaRotatingMedia  
williamr@2
  1015
	};
williamr@2
  1016
williamr@2
  1017
williamr@2
  1018
williamr@2
  1019
williamr@2
  1020
/**
williamr@2
  1021
@publishedAll
williamr@2
  1022
@released
williamr@2
  1023
williamr@2
  1024
Defines the state of a battery, if supported.
williamr@2
  1025
*/
williamr@2
  1026
enum TBatteryState {EBatNotSupported,EBatGood,EBatLow};
williamr@2
  1027
williamr@2
  1028
williamr@4
  1029
/**
williamr@4
  1030
@publishedAll
williamr@4
  1031
@released
williamr@4
  1032
williamr@4
  1033
Defines the possible connection types used to interface to the media.
williamr@4
  1034
*/
williamr@4
  1035
enum TConnectionBusType {EConnectionBusInternal, EConnectionBusUsb};
williamr@2
  1036
williamr@2
  1037
williamr@2
  1038
/**
williamr@2
  1039
@publishedAll
williamr@2
  1040
@released
williamr@2
  1041
williamr@2
  1042
Drive attribute - drive is local.
williamr@2
  1043
*/
williamr@2
  1044
const TUint KDriveAttLocal=0x01;
williamr@2
  1045
williamr@2
  1046
williamr@2
  1047
williamr@2
  1048
williamr@2
  1049
/**
williamr@2
  1050
@publishedAll
williamr@2
  1051
@released
williamr@2
  1052
williamr@2
  1053
Drive attribute - ROM drive.
williamr@2
  1054
*/
williamr@2
  1055
const TUint KDriveAttRom=0x02;
williamr@2
  1056
williamr@2
  1057
williamr@2
  1058
williamr@2
  1059
williamr@2
  1060
/**
williamr@2
  1061
@publishedAll
williamr@2
  1062
@released
williamr@2
  1063
williamr@2
  1064
Drive attribute - output from a process on one drive is redirected
williamr@2
  1065
to another drive.
williamr@2
  1066
*/
williamr@2
  1067
const TUint KDriveAttRedirected=0x04;
williamr@2
  1068
williamr@2
  1069
williamr@2
  1070
williamr@2
  1071
williamr@2
  1072
/**
williamr@2
  1073
@publishedAll
williamr@2
  1074
@released
williamr@2
  1075
williamr@2
  1076
Drive attribute - drive letter has been substituted (assigned a path).
williamr@2
  1077
*/
williamr@2
  1078
const TUint KDriveAttSubsted=0x08;
williamr@2
  1079
williamr@2
  1080
williamr@2
  1081
williamr@2
  1082
williamr@2
  1083
/**
williamr@2
  1084
@publishedAll
williamr@2
  1085
@released
williamr@2
  1086
williamr@2
  1087
Drive attribute - drive is internal (not removable).
williamr@2
  1088
*/
williamr@2
  1089
const TUint KDriveAttInternal=0x10;
williamr@2
  1090
williamr@2
  1091
williamr@2
  1092
williamr@2
  1093
williamr@2
  1094
/**
williamr@2
  1095
@publishedAll
williamr@2
  1096
@released
williamr@2
  1097
williamr@2
  1098
Drive attribute - drive is removable.
williamr@2
  1099
*/
williamr@2
  1100
const TUint KDriveAttRemovable=0x20;
williamr@2
  1101
williamr@2
  1102
williamr@2
  1103
williamr@2
  1104
williamr@2
  1105
/**
williamr@2
  1106
@publishedAll
williamr@2
  1107
@released
williamr@2
  1108
williamr@2
  1109
Drive attribute - drive is remote.
williamr@2
  1110
*/
williamr@2
  1111
const TUint KDriveAttRemote=0x40;
williamr@2
  1112
williamr@2
  1113
williamr@2
  1114
williamr@2
  1115
williamr@2
  1116
/**
williamr@2
  1117
@publishedAll
williamr@2
  1118
@released
williamr@2
  1119
williamr@2
  1120
Drive attribute -.
williamr@2
  1121
*/
williamr@2
  1122
const TUint KDriveAttTransaction=0x80;
williamr@2
  1123
williamr@2
  1124
williamr@2
  1125
/**
williamr@2
  1126
@publishedAll
williamr@2
  1127
@released
williamr@2
  1128
williamr@2
  1129
Drive attribute - drive is used for paging.
williamr@2
  1130
*/
williamr@2
  1131
const TUint KDriveAttPageable=0x100;
williamr@2
  1132
williamr@2
  1133
williamr@2
  1134
williamr@2
  1135
/**
williamr@2
  1136
@publishedAll
williamr@2
  1137
@released
williamr@2
  1138
williamr@2
  1139
Drive attribute - drive is logically removable (can be taken offline from Symbian OS).
williamr@2
  1140
If not logically removable then physically removable e.g. a card can be take out.
williamr@2
  1141
*/
williamr@2
  1142
const TUint KDriveAttLogicallyRemovable=0x200; 
williamr@2
  1143
williamr@2
  1144
williamr@2
  1145
/**
williamr@2
  1146
@publishedAll
williamr@2
  1147
@released
williamr@2
  1148
williamr@2
  1149
Drive attribute - drive is hidden.
williamr@2
  1150
A drive which has its hidden attribute set would be excluded from the list of available drives.
williamr@2
  1151
*/
williamr@2
  1152
const TUint KDriveAttHidden=0x400; 
williamr@2
  1153
williamr@2
  1154
williamr@2
  1155
/**
williamr@2
  1156
@publishedAll
williamr@2
  1157
@released
williamr@2
  1158
williamr@4
  1159
Drive attribute - drive is external.
williamr@4
  1160
*/
williamr@4
  1161
const TUint KDriveAttExternal=0x800;
williamr@4
  1162
williamr@4
  1163
williamr@4
  1164
/**
williamr@4
  1165
@publishedAll
williamr@4
  1166
@released
williamr@4
  1167
williamr@2
  1168
Drive attribute - It can be set in a search in order to instruct that all drives should be returned.
williamr@2
  1169
*/
williamr@2
  1170
const TUint KDriveAttAll=0x100000;
williamr@2
  1171
williamr@2
  1172
williamr@2
  1173
/**
williamr@2
  1174
@publishedAll
williamr@2
  1175
@released
williamr@2
  1176
williamr@2
  1177
Drive attribute - It can be set in combination with other drive attributes in order to exclude during a drive search, drives with 
williamr@2
  1178
these attributes set. 
williamr@2
  1179
*/
williamr@2
  1180
const TUint KDriveAttExclude=0x40000;
williamr@2
  1181
williamr@2
  1182
williamr@2
  1183
williamr@2
  1184
/**
williamr@2
  1185
@publishedAll
williamr@2
  1186
@released
williamr@2
  1187
williamr@2
  1188
Drive attribute - It can be set in combination with other drive attributes in order to search and return exclusively drives with these attributes set.
williamr@2
  1189
*/
williamr@2
  1190
const TUint KDriveAttExclusive=0x80000;
williamr@2
  1191
williamr@2
  1192
williamr@4
  1193
williamr@2
  1194
/**
williamr@2
  1195
@internalTechnology
williamr@2
  1196
williamr@2
  1197
Used as a mask in order to extract the actual drive attributes.
williamr@2
  1198
williamr@2
  1199
*/
williamr@2
  1200
const TUint KDriveAttMatchedFlags=0xFFF;
williamr@2
  1201
williamr@2
  1202
williamr@4
  1203
williamr@2
  1204
/**
williamr@2
  1205
@internalTechnology
williamr@2
  1206
williamr@2
  1207
Used as a mask in order to extract the extra(ex KDriveAttAll ,KDriveAttExclude, KDriveAttExclusive ,0) drive attributes.
williamr@2
  1208
*/
williamr@2
  1209
const TUint KDriveAttMatchedAtt=0x0FFF0000;
williamr@2
  1210
williamr@2
  1211
williamr@4
  1212
williamr@4
  1213
williamr@2
  1214
/**
williamr@2
  1215
@publishedAll
williamr@2
  1216
@released
williamr@2
  1217
williamr@2
  1218
Media attribute - the media capacity can change over time.
williamr@2
  1219
*/
williamr@2
  1220
const TUint KMediaAttVariableSize=0x01;
williamr@2
  1221
williamr@2
  1222
williamr@2
  1223
williamr@2
  1224
williamr@2
  1225
/**
williamr@2
  1226
@publishedAll
williamr@2
  1227
@released
williamr@2
  1228
williamr@2
  1229
Media attribute - media is dual density.
williamr@2
  1230
*/
williamr@2
  1231
const TUint KMediaAttDualDensity=0x02;
williamr@2
  1232
williamr@2
  1233
williamr@2
  1234
williamr@2
  1235
williamr@2
  1236
/**
williamr@2
  1237
@publishedAll
williamr@2
  1238
@released
williamr@2
  1239
williamr@2
  1240
Media attribute - media is formattable.
williamr@2
  1241
*/
williamr@2
  1242
const TUint KMediaAttFormattable=0x04;
williamr@2
  1243
williamr@2
  1244
williamr@2
  1245
williamr@2
  1246
williamr@2
  1247
/**
williamr@2
  1248
@publishedAll
williamr@2
  1249
@released
williamr@2
  1250
williamr@2
  1251
Media attribute - media is write-protected.
williamr@2
  1252
*/
williamr@2
  1253
const TUint KMediaAttWriteProtected=0x08;
williamr@2
  1254
williamr@2
  1255
williamr@2
  1256
williamr@2
  1257
williamr@2
  1258
/**
williamr@2
  1259
@publishedAll
williamr@2
  1260
@released
williamr@2
  1261
williamr@2
  1262
Media attribute - media is lockable; this is provided for
williamr@2
  1263
lockable multi-media cards
williamr@2
  1264
*/
williamr@2
  1265
const TUint KMediaAttLockable=0x10;
williamr@2
  1266
williamr@2
  1267
williamr@2
  1268
williamr@2
  1269
williamr@2
  1270
/**
williamr@2
  1271
@publishedAll
williamr@2
  1272
@released
williamr@2
  1273
williamr@2
  1274
Media attribute - media is locked; this is provided for
williamr@2
  1275
lockable multi-media cards
williamr@2
  1276
*/
williamr@2
  1277
const TUint KMediaAttLocked=0x20;
williamr@2
  1278
williamr@2
  1279
williamr@2
  1280
williamr@2
  1281
/**
williamr@2
  1282
@publishedAll
williamr@2
  1283
@released
williamr@2
  1284
williamr@2
  1285
Media attribute - media has password.
williamr@2
  1286
*/
williamr@2
  1287
const TUint KMediaAttHasPassword=0x40;
williamr@2
  1288
williamr@2
  1289
/**
williamr@2
  1290
@publishedAll
williamr@2
  1291
@released
williamr@2
  1292
*/
williamr@2
  1293
const TUint KMediaAttReadWhileWrite=0x80;
williamr@2
  1294
williamr@2
  1295
/**
williamr@2
  1296
@publishedAll
williamr@2
  1297
@released
williamr@2
  1298
williamr@2
  1299
Media attribute - media supports TBusLocalDrive::DeleteNotify()
williamr@2
  1300
*/
williamr@2
  1301
const TUint KMediaAttDeleteNotify=0x100;
williamr@2
  1302
williamr@2
  1303
/**
williamr@2
  1304
@publishedAll
williamr@2
  1305
@released
williamr@2
  1306
williamr@2
  1307
Media attribute - media supports paging
williamr@2
  1308
*/
williamr@2
  1309
const TUint KMediaAttPageable=0x200;
williamr@2
  1310
williamr@2
  1311
williamr@2
  1312
williamr@2
  1313
/**
williamr@2
  1314
@publishedAll
williamr@2
  1315
@released
williamr@2
  1316
williamr@2
  1317
Identifies a FAT file system
williamr@2
  1318
*/
williamr@2
  1319
const TUint KDriveFileSysFAT=0x01;
williamr@2
  1320
williamr@2
  1321
williamr@2
  1322
williamr@2
  1323
williamr@2
  1324
/**
williamr@2
  1325
@publishedAll
williamr@2
  1326
@released
williamr@2
  1327
williamr@2
  1328
Identifies a ROM file system.
williamr@2
  1329
*/
williamr@2
  1330
const TUint KDriveFileSysROM=0x02;
williamr@2
  1331
williamr@2
  1332
williamr@2
  1333
williamr@2
  1334
williamr@2
  1335
/**
williamr@2
  1336
@publishedAll
williamr@2
  1337
@released
williamr@2
  1338
williamr@2
  1339
Identifies an LFFS file system.
williamr@2
  1340
*/
williamr@2
  1341
const TUint KDriveFileSysLFFS=0x03;
williamr@2
  1342
williamr@2
  1343
williamr@2
  1344
williamr@2
  1345
williamr@2
  1346
/**
williamr@2
  1347
@publishedAll
williamr@2
  1348
@released
williamr@2
  1349
williamr@2
  1350
Identifies a read-only file system.
williamr@2
  1351
*/
williamr@2
  1352
const TUint KDriveFileSysROFS=0x04;
williamr@2
  1353
williamr@2
  1354
williamr@2
  1355
williamr@2
  1356
williamr@2
  1357
/**
williamr@2
  1358
@publishedAll
williamr@2
  1359
@released
williamr@2
  1360
williamr@2
  1361
Identifies a non-file system.  That is a partition without any file system layer.
williamr@2
  1362
*/
williamr@2
  1363
const TUint KDriveFileNone=0x05;
williamr@2
  1364
williamr@2
  1365
williamr@2
  1366
williamr@2
  1367
williamr@2
  1368
/**
williamr@2
  1369
@publishedAll
williamr@2
  1370
@released
williamr@2
  1371
williamr@2
  1372
An enumerator with a single enumeration value that defines the Boolean value 
williamr@2
  1373
false in Symbian OS.
williamr@2
  1374
williamr@2
  1375
@see TBool
williamr@2
  1376
*/
williamr@2
  1377
enum TFalse {
williamr@2
  1378
            /**
williamr@2
  1379
            Defines the value false that is passed to a TBool type.
williamr@2
  1380
            */
williamr@2
  1381
            EFalse=FALSE
williamr@2
  1382
            };
williamr@2
  1383
            
williamr@2
  1384
            
williamr@2
  1385
            
williamr@2
  1386
            
williamr@2
  1387
/**
williamr@2
  1388
@publishedAll
williamr@2
  1389
@released
williamr@2
  1390
williamr@2
  1391
An enumerator with a single enumeration value that defines the Boolean value 
williamr@2
  1392
true in Symbian OS.
williamr@2
  1393
williamr@2
  1394
@see TBool
williamr@2
  1395
*/
williamr@2
  1396
enum TTrue {
williamr@2
  1397
           /**
williamr@2
  1398
           Defines the value true that is passed to a TBool type.
williamr@2
  1399
           */
williamr@2
  1400
           ETrue=TRUE
williamr@2
  1401
           };
williamr@2
  1402
williamr@2
  1403
williamr@2
  1404
williamr@2
  1405
williamr@2
  1406
/**
williamr@2
  1407
@publishedAll
williamr@2
  1408
@released
williamr@2
  1409
williamr@2
  1410
Defines flags that can be used to indicate whether duplicates, for example in 
williamr@2
  1411
a list, are allowed.
williamr@2
  1412
*/
williamr@2
  1413
enum TAllowDuplicates {
williamr@2
  1414
                      /**
williamr@2
  1415
                      No duplicates allowed.
williamr@2
  1416
                      */
williamr@2
  1417
                      ENoDuplicates,
williamr@2
  1418
                      
williamr@2
  1419
                      /**
williamr@2
  1420
                      Duplicates allowed.
williamr@2
  1421
                      */
williamr@2
  1422
                      EAllowDuplicates
williamr@2
  1423
                      };
williamr@2
  1424
williamr@2
  1425
williamr@2
  1426
williamr@2
  1427
williamr@2
  1428
/**
williamr@2
  1429
@publishedAll
williamr@2
  1430
@released
williamr@2
  1431
williamr@2
  1432
An enumeration whose enumerators determine the number system to be used
williamr@2
  1433
when converting numbers into a character format.
williamr@2
  1434
williamr@2
  1435
@see TDes8::Num()
williamr@2
  1436
@see TDes8::NumUC()
williamr@2
  1437
@see TDes8::AppendNum()
williamr@2
  1438
@see TDes8::AppendNumUC()
williamr@2
  1439
@see TDes16::Num()
williamr@2
  1440
@see TDes16::NumUC()
williamr@2
  1441
@see TDes16::AppendNum()
williamr@2
  1442
@see TDes16::AppendNumUC()
williamr@2
  1443
*/
williamr@2
  1444
enum TRadix {
williamr@2
  1445
            /**
williamr@2
  1446
            Convert number into binary character representation.
williamr@2
  1447
            */
williamr@2
  1448
            EBinary=2,
williamr@2
  1449
            /**
williamr@2
  1450
            Convert number into octal character representation.
williamr@2
  1451
            */            
williamr@2
  1452
            EOctal=8,
williamr@2
  1453
            /**
williamr@2
  1454
            Convert number into decimal character representation.
williamr@2
  1455
            */            
williamr@2
  1456
            EDecimal=10,
williamr@2
  1457
          	/**
williamr@2
  1458
          	Convert number into hexadecimal character representation.
williamr@2
  1459
          	*/            
williamr@2
  1460
            EHex=16
williamr@2
  1461
            };
williamr@2
  1462
williamr@2
  1463
williamr@2
  1464
williamr@2
  1465
williamr@2
  1466
williamr@2
  1467
/**
williamr@2
  1468
@publishedAll
williamr@2
  1469
@released
williamr@2
  1470
williamr@2
  1471
The mask for the dialect bits
williamr@2
  1472
*/
williamr@2
  1473
const TUint KDialectMask=0x03FF;
williamr@2
  1474
williamr@2
  1475
williamr@2
  1476
williamr@2
  1477
williamr@2
  1478
williamr@2
  1479
/**
williamr@2
  1480
@publishedAll
williamr@2
  1481
@released
williamr@2
  1482
williamr@2
  1483
Defines the date formats.
williamr@2
  1484
*/
williamr@2
  1485
enum TDateFormat {
williamr@2
  1486
                 /**
williamr@2
  1487
                 US format (mm/dd/yyyy)
williamr@2
  1488
                 */
williamr@2
  1489
                 EDateAmerican,
williamr@2
  1490
                 
williamr@2
  1491
                 /**
williamr@2
  1492
                 European format (dd/mm/yyyy)
williamr@2
  1493
                 */                 
williamr@2
  1494
                 EDateEuropean,
williamr@2
  1495
                 
williamr@2
  1496
                 /**
williamr@2
  1497
                 Japanese format (yyyy/mm/dd)
williamr@2
  1498
                 */
williamr@2
  1499
                 EDateJapanese};
williamr@2
  1500
williamr@2
  1501
williamr@2
  1502
williamr@2
  1503
williamr@2
  1504
/**
williamr@2
  1505
@publishedAll
williamr@2
  1506
@released
williamr@2
  1507
williamr@2
  1508
Defines the time formats as either 12 hour or 24 hour.
williamr@2
  1509
*/
williamr@2
  1510
enum TTimeFormat {
williamr@2
  1511
                 ETime12,
williamr@2
  1512
                 ETime24
williamr@2
  1513
                 };
williamr@2
  1514
williamr@2
  1515
williamr@2
  1516
williamr@2
  1517
williamr@2
  1518
/**
williamr@2
  1519
@publishedAll
williamr@2
  1520
@released
williamr@2
  1521
williamr@2
  1522
Defines the clock display formats, as either analog or digital.
williamr@2
  1523
*/
williamr@2
  1524
enum TClockFormat {
williamr@2
  1525
                  EClockAnalog,
williamr@2
  1526
                  EClockDigital
williamr@2
  1527
                  };
williamr@2
  1528
williamr@2
  1529
williamr@2
  1530
williamr@2
  1531
williamr@2
  1532
/** 
williamr@2
  1533
@publishedAll
williamr@2
  1534
@released
williamr@2
  1535
williamr@2
  1536
Enumerates the units of measurement as either Imperial or Metric.
williamr@2
  1537
*/
williamr@2
  1538
enum TUnitsFormat {
williamr@2
  1539
                  EUnitsImperial,
williamr@2
  1540
                  EUnitsMetric
williamr@2
  1541
                  };
williamr@2
  1542
williamr@2
  1543
williamr@2
  1544
williamr@2
  1545
williamr@2
  1546
/**
williamr@2
  1547
@publishedAll
williamr@2
  1548
@released
williamr@2
  1549
williamr@2
  1550
Identifies a time as being am or pm.
williamr@2
  1551
*/
williamr@2
  1552
enum TAmPm {
williamr@2
  1553
           EAm,
williamr@2
  1554
           EPm
williamr@2
  1555
           };
williamr@2
  1556
williamr@2
  1557
williamr@2
  1558
williamr@2
  1559
williamr@2
  1560
/**
williamr@2
  1561
@publishedAll
williamr@2
  1562
@released
williamr@2
  1563
williamr@2
  1564
Defines whether:
williamr@2
  1565
williamr@2
  1566
1. the currency symbol is located before or after the currency amount.
williamr@2
  1567
williamr@2
  1568
2. the am/pm text is located before or after the time.
williamr@2
  1569
*/
williamr@2
  1570
enum TLocalePos 
williamr@2
  1571
	{
williamr@2
  1572
	/**
williamr@2
  1573
	The currency symbol is located before the currency amount.
williamr@2
  1574
	The am/pm text is located before the time.
williamr@2
  1575
	*/
williamr@2
  1576
	ELocaleBefore,
williamr@2
  1577
	
williamr@2
  1578
	/**
williamr@2
  1579
	The currency symbol is located after the currency amount.
williamr@2
  1580
	The am/pm text is located after the time.
williamr@2
  1581
	*/
williamr@2
  1582
	ELocaleAfter
williamr@2
  1583
	};
williamr@2
  1584
williamr@2
  1585
williamr@2
  1586
williamr@2
  1587
williamr@2
  1588
/**
williamr@2
  1589
@publishedAll
williamr@2
  1590
@released
williamr@2
  1591
williamr@2
  1592
Number Modes available to select.
williamr@2
  1593
*/
williamr@2
  1594
enum TDigitType
williamr@2
  1595
	{
williamr@2
  1596
	EDigitTypeUnknown = 0x0000,
williamr@2
  1597
	EDigitTypeWestern = 0x0030,
williamr@2
  1598
	EDigitTypeArabicIndic = 0x0660,
williamr@2
  1599
	EDigitTypeEasternArabicIndic = 0x6F0,
williamr@2
  1600
	EDigitTypeDevanagari = 0x0966,
williamr@2
  1601
	EDigitTypeBengali = 0x09E6,
williamr@2
  1602
	EDigitTypeGurmukhi = 0x0A66,
williamr@2
  1603
	EDigitTypeGujarati = 0x0AE6,
williamr@2
  1604
	EDigitTypeOriya = 0x0B66,
williamr@2
  1605
	EDigitTypeTamil = 0x0BE6,
williamr@2
  1606
	EDigitTypeTelugu = 0x0C66,
williamr@2
  1607
	EDigitTypeKannada = 0x0CE6,
williamr@2
  1608
	EDigitTypeMalayalam = 0x0D66,
williamr@2
  1609
	EDigitTypeThai = 0x0E50,
williamr@2
  1610
	EDigitTypeLao = 0x0ED0,
williamr@2
  1611
	EDigitTypeTibetan = 0x0F20,
williamr@2
  1612
	EDigitTypeMayanmar = 0x1040,
williamr@2
  1613
	EDigitTypeKhmer = 0x17E0,
williamr@2
  1614
	EDigitTypeAllTypes = 0xFFFF
williamr@2
  1615
	};
williamr@2
  1616
williamr@2
  1617
williamr@2
  1618
williamr@2
  1619
williamr@2
  1620
/**
williamr@2
  1621
@publishedAll
williamr@2
  1622
@released
williamr@2
  1623
williamr@2
  1624
Defines the daylight saving zones.
williamr@2
  1625
*/
williamr@2
  1626
enum TDaylightSavingZone
williamr@2
  1627
	{
williamr@2
  1628
	/**
williamr@2
  1629
	The home daylight saving zone. Its value is usually the same as that of the 
williamr@2
  1630
	zone in which the home city is located, but may differ. In this case, the 
williamr@2
  1631
	value for home overrides the value of the zone in which home is located.
williamr@2
  1632
	*/
williamr@2
  1633
	EDstHome=0x40000000,
williamr@2
  1634
	
williamr@2
  1635
	/**
williamr@2
  1636
	No daylight saving zone.
williamr@2
  1637
	*/
williamr@2
  1638
	EDstNone=0,
williamr@2
  1639
	
williamr@2
  1640
	/**
williamr@2
  1641
	The European daylight saving zone.
williamr@2
  1642
	*/
williamr@2
  1643
	EDstEuropean=1,
williamr@2
  1644
	
williamr@2
  1645
	/**
williamr@2
  1646
	The Northern hemisphere (non-European) daylight saving zone.
williamr@2
  1647
	*/
williamr@2
  1648
	EDstNorthern=2,
williamr@2
  1649
	
williamr@2
  1650
	/**
williamr@2
  1651
	Southern hemisphere daylight saving zone.
williamr@2
  1652
	*/
williamr@2
  1653
	EDstSouthern=4
williamr@2
  1654
	};
williamr@2
  1655
williamr@2
  1656
williamr@2
  1657
williamr@2
  1658
williamr@2
  1659
/**
williamr@2
  1660
@internalComponent
williamr@2
  1661
williamr@2
  1662
Indicates how negative currency values are formatted.
williamr@2
  1663
*/
williamr@2
  1664
enum TNegativeCurrencyFormat // must match TLocale:: version, included here so ELOCL.DLL can see it
williamr@2
  1665
	{
williamr@2
  1666
	E_NegC_LeadingMinusSign,
williamr@2
  1667
	E_NegC_InBrackets,// this one must be non-zero for binary compatibility with the old TBool TLocale::iCurrencyNegativeInBrackets which was exposed in the binary interface because it was accessed via *inline* functions
williamr@2
  1668
	E_NegC_InterveningMinusSignWithSpaces,
williamr@2
  1669
	E_NegC_InterveningMinusSignWithoutSpaces,
williamr@2
  1670
	E_NegC_TrailingMinusSign
williamr@2
  1671
	};
williamr@2
  1672
williamr@2
  1673
/**
williamr@2
  1674
@internalComponent
williamr@2
  1675
williamr@2
  1676
williamr@2
  1677
Indicates how the device universal time is maintained
williamr@2
  1678
*/
williamr@2
  1679
enum TDeviceTimeState // must match TLocale:: version
williamr@2
  1680
	{
williamr@2
  1681
	/** Universal time is maintained by the device RTC and the user selection 
williamr@2
  1682
	of the locale of the device indicating offset from GMT and daylight saving*/
williamr@2
  1683
	EDeviceUserTime,
williamr@2
  1684
williamr@2
  1685
	/** Universal time and offset from GMT is supplied by the mobile network
williamr@2
  1686
	and maintained by device RTC */
williamr@2
  1687
	ENITZNetworkTimeSync
williamr@2
  1688
	};
williamr@2
  1689
williamr@4
  1690
/**
williamr@4
  1691
@internalComponent
williamr@4
  1692
williamr@4
  1693
Indicates the type of conversion required for FAT filenames
williamr@4
  1694
*/
williamr@4
  1695
enum TFatFilenameConversionType
williamr@4
  1696
	{
williamr@4
  1697
	/** Undefined conversion scheme; conversion obtained is whatever the
williamr@4
  1698
	default policy is for this version of the OS. */
williamr@4
  1699
	EFatConversionDefault = 0,
williamr@4
  1700
	/** x-fat<nnn>.dll is loaded, where <nnn> is the FAT filename conversion number. */
williamr@4
  1701
	EFatConversionNonStandard = 1,
williamr@4
  1702
	/** cp<nnn>.dll is loaded, where <nnn> is the FAT filename conversion number. */
williamr@4
  1703
	EFatConversionMicrosoftCodePage = 2
williamr@4
  1704
	};
williamr@2
  1705
williamr@2
  1706
williamr@2
  1707
/**
williamr@2
  1708
@publishedAll
williamr@2
  1709
@released
williamr@2
  1710
williamr@2
  1711
Defines the days of the week.
williamr@2
  1712
williamr@2
  1713
The enumerator symbol names correspond with the days of the week,
williamr@2
  1714
i.e. EMonday refers to Monday etc.
williamr@2
  1715
*/
williamr@2
  1716
enum TDay
williamr@2
  1717
	{
williamr@2
  1718
	EMonday,
williamr@2
  1719
	ETuesday,
williamr@2
  1720
	EWednesday,
williamr@2
  1721
	EThursday,
williamr@2
  1722
	EFriday,
williamr@2
  1723
	ESaturday,
williamr@2
  1724
	ESunday
williamr@2
  1725
	};
williamr@2
  1726
williamr@2
  1727
williamr@2
  1728
williamr@2
  1729
williamr@2
  1730
/**
williamr@2
  1731
@publishedAll
williamr@2
  1732
@released
williamr@2
  1733
williamr@2
  1734
Defines the months of the year.
williamr@2
  1735
williamr@2
  1736
The enumerator symbol names correspond with the months of the year,
williamr@2
  1737
i.e. EJanuary refers to January etc.
williamr@2
  1738
*/
williamr@2
  1739
enum TMonth
williamr@2
  1740
	{
williamr@2
  1741
	EJanuary,
williamr@2
  1742
	EFebruary,
williamr@2
  1743
	EMarch,
williamr@2
  1744
	EApril,
williamr@2
  1745
	EMay,
williamr@2
  1746
	EJune,
williamr@2
  1747
	EJuly,
williamr@2
  1748
	EAugust,
williamr@2
  1749
	ESeptember,
williamr@2
  1750
	EOctober,
williamr@2
  1751
	ENovember,
williamr@2
  1752
	EDecember
williamr@2
  1753
	};
williamr@2
  1754
williamr@2
  1755
williamr@2
  1756
williamr@2
  1757
williamr@2
  1758
/**
williamr@2
  1759
@publishedAll
williamr@2
  1760
@released
williamr@2
  1761
williamr@2
  1762
Handle ownership flags.
williamr@2
  1763
williamr@2
  1764
The flags indicate whether a handle being opened is owned by a process or 
williamr@2
  1765
a thread.
williamr@2
  1766
williamr@2
  1767
Ownership by a process means that the handle instance can be used by all
williamr@2
  1768
threads in the process to access the Kernel side object that the
williamr@2
  1769
handle represents.
williamr@2
  1770
williamr@2
  1771
Ownership by a thread means that the handle instance can only be used by the 
williamr@2
  1772
thread that creates or opens the handle.
williamr@2
  1773
williamr@2
  1774
An enumerator of this type is passed to all member functions of RHandleBase, 
williamr@2
  1775
and classes derived from RHandleBase, which open a handle.
williamr@2
  1776
*/
williamr@2
  1777
enum TOwnerType {
williamr@2
  1778
	             /**
williamr@2
  1779
	             Ownership of the handle is to be vested in the process.
williamr@2
  1780
	             */
williamr@2
  1781
                 EOwnerProcess,
williamr@2
  1782
                 
williamr@2
  1783
                 /**
williamr@2
  1784
                 Ownership of the handle is to be vested in the thread.
williamr@2
  1785
                 */
williamr@2
  1786
                 EOwnerThread
williamr@2
  1787
                };
williamr@2
  1788
williamr@2
  1789
williamr@2
  1790
williamr@2
  1791
williamr@2
  1792
const TInt KCreateProtectedObject = (TInt)0x80000000;
williamr@2
  1793
williamr@2
  1794
williamr@2
  1795
williamr@2
  1796
williamr@2
  1797
williamr@2
  1798
/**
williamr@2
  1799
@publishedAll
williamr@2
  1800
@released
williamr@2
  1801
williamr@2
  1802
Defines process priorities.
williamr@2
  1803
williamr@2
  1804
The enumerator values are passed to RProcess::SetPriority().
williamr@2
  1805
williamr@2
  1806
The priorities are listed in relative order stating with the lowest.
williamr@2
  1807
*/
williamr@2
  1808
enum TProcessPriority
williamr@2
  1809
	{
williamr@2
  1810
	EPriorityLow=150,
williamr@2
  1811
	EPriorityBackground=250,
williamr@2
  1812
	EPriorityForeground=350,
williamr@2
  1813
	EPriorityHigh=450,
williamr@2
  1814
	EPriorityWindowServer=650,
williamr@2
  1815
	EPriorityFileServer=750,
williamr@2
  1816
	EPriorityRealTimeServer=850,
williamr@2
  1817
	EPrioritySupervisor=950
williamr@2
  1818
	};
williamr@2
  1819
williamr@2
  1820
williamr@2
  1821
williamr@2
  1822
williamr@2
  1823
/**
williamr@2
  1824
@publishedAll
williamr@2
  1825
@released
williamr@2
  1826
williamr@2
  1827
Defines thread priorities.
williamr@2
  1828
williamr@2
  1829
The enumerator values are passed to RThread::SetPriority().
williamr@2
  1830
williamr@2
  1831
The relative priorities are listed in order starting with the lowest.
williamr@2
  1832
williamr@2
  1833
The absolute thread priorities are listed in order starting with the lowest.
williamr@2
  1834
*/
williamr@2
  1835
enum TThreadPriority
williamr@2
  1836
	{
williamr@2
  1837
	EPriorityNull=(-30),
williamr@2
  1838
	EPriorityMuchLess=(-20),
williamr@2
  1839
	EPriorityLess=(-10),
williamr@2
  1840
	EPriorityNormal=0,
williamr@2
  1841
	EPriorityMore=10,
williamr@2
  1842
	EPriorityMuchMore=20,
williamr@2
  1843
	EPriorityRealTime=30,
williamr@2
  1844
	EPriorityAbsoluteVeryLow=100,
williamr@2
  1845
	EPriorityAbsoluteLowNormal=150,
williamr@2
  1846
	EPriorityAbsoluteLow=200,
williamr@2
  1847
	EPriorityAbsoluteBackgroundNormal=250,
williamr@2
  1848
	EPriorityAbsoluteBackground=300,
williamr@2
  1849
	EPriorityAbsoluteForegroundNormal=350,
williamr@2
  1850
	EPriorityAbsoluteForeground=400,
williamr@2
  1851
	EPriorityAbsoluteHighNormal=450,
williamr@2
  1852
	EPriorityAbsoluteHigh=500,
williamr@2
  1853
	EPriorityAbsoluteRealTime1=810,
williamr@2
  1854
	EPriorityAbsoluteRealTime2=820,
williamr@2
  1855
	EPriorityAbsoluteRealTime3=830,
williamr@2
  1856
	EPriorityAbsoluteRealTime4=840,
williamr@2
  1857
	EPriorityAbsoluteRealTime5=850,
williamr@2
  1858
	EPriorityAbsoluteRealTime6=860,
williamr@2
  1859
	EPriorityAbsoluteRealTime7=870, 
williamr@2
  1860
	EPriorityAbsoluteRealTime8=880
williamr@2
  1861
	};
williamr@2
  1862
williamr@2
  1863
williamr@2
  1864
/**
williamr@2
  1865
@publishedAll
williamr@2
  1866
@released
williamr@2
  1867
williamr@2
  1868
A list of exception types which a thread's exception handler might deal with.
williamr@2
  1869
An enumerator of this type is passed to User::IsExceptionHandled()
williamr@2
  1870
and User::RaiseException().
williamr@2
  1871
williamr@2
  1872
While an exception handler can deal with exceptions as listed in the exception
williamr@2
  1873
constants set, a TExcType is simply a type of exception.
williamr@2
  1874
For example, EExcIntegerDivideByZero and EExcIntegerOverflow are types
williamr@2
  1875
of KExceptionInteger exception.
williamr@2
  1876
*/
williamr@2
  1877
enum TExcType
williamr@2
  1878
	{
williamr@2
  1879
	EExcGeneral=0, ///<A miscellaneous exception.
williamr@2
  1880
	EExcIntegerDivideByZero=1, ///<An attempt was made to divide an integer by zero.
williamr@2
  1881
	EExcSingleStep=2, ///<Raised after executing an instruction, when CPU is in single-step mode.
williamr@2
  1882
	EExcBreakPoint=3, ///<A break point was hit.
williamr@2
  1883
	EExcIntegerOverflow=4, ///<An integer value overflowed.
williamr@2
  1884
	EExcBoundsCheck=5, ///<Access to an out of bounds array element was caught.
williamr@2
  1885
	EExcInvalidOpCode=6, ///<The CPU reached an invalid instruction.
williamr@2
  1886
	EExcDoubleFault=7, ///<A fault occurred while handling a previous exception or interrupt.
williamr@2
  1887
	EExcStackFault=8, ///<The thread ran out of stack space.
williamr@2
  1888
	EExcAccessViolation=9, ///<The thread attempted to access memory in an unauthorized area.
williamr@2
  1889
	EExcPrivInstruction=10, ///<Attempted to execute an instruction in wrong machine mode.
williamr@2
  1890
	EExcAlignment=11, ///<The thread tried to read or write non-aligned data.
williamr@2
  1891
	EExcPageFault=12, ///<Thread could not access the memory page requested.
williamr@2
  1892
	EExcFloatDenormal=13, ///<An operand in a floating point operation was denormal.
williamr@2
  1893
	EExcFloatDivideByZero=14, ///<An attempt was made to divide a floating point number by zero.
williamr@2
  1894
	EExcFloatInexactResult=15, ///<The result of a floating point operation could not be represented precisely.
williamr@2
  1895
	EExcFloatInvalidOperation=16, ///<The result of a floating point operation was an ill-defined quantity.
williamr@2
  1896
	EExcFloatOverflow=17, ///<The result of a floating point operation was too large to be represented.
williamr@2
  1897
	EExcFloatStackCheck=18, ///<The result of a floating point operation caused the stack to over or underflow.
williamr@2
  1898
	EExcFloatUnderflow=19, ///<The result of a floating point operation was too small to be represented.
williamr@2
  1899
	EExcAbort=20, ///<This exception is not raised by the Kernel, though it may be raised by a user thread on itself.
williamr@2
  1900
	EExcKill=21, ///<This exception is not raised by the Kernel, though it may be raised by a user thread on itself.
williamr@2
  1901
	EExcUserInterrupt=22, ///<May be used to indicate a general exception.
williamr@2
  1902
	EExcDataAbort=23, ///<The thread has tried to read data from an invalid address.
williamr@2
  1903
	EExcCodeAbort=24, ///<The thread has tried to fetch an instruction from an invalid address.
williamr@2
  1904
	EExcMaxNumber=25, ///<Do not use.
williamr@2
  1905
	EExcInvalidVector=26, ///<Do not use.
williamr@2
  1906
	};
williamr@2
  1907
williamr@2
  1908
williamr@2
  1909
williamr@2
  1910
/**
williamr@2
  1911
@publishedAll
williamr@2
  1912
@released
williamr@2
  1913
williamr@2
  1914
Identifies how a thread or process has ended.
williamr@2
  1915
williamr@2
  1916
While a thread or process is alive, its exit type is always EExitPending.
williamr@2
  1917
williamr@2
  1918
Both RThread::ExitType() and RProcess::ExitType() return a TExitType.
williamr@2
  1919
williamr@2
  1920
@see RThread::ExitType()
williamr@2
  1921
@see RProcess::ExitType()
williamr@2
  1922
@see User::Exit()
williamr@2
  1923
@see RThread::Kill()
williamr@2
  1924
@see RProcess::Kill()
williamr@2
  1925
*/
williamr@2
  1926
enum TExitType {
williamr@2
  1927
               /**
williamr@2
  1928
               The thread or process has ended under normal conditions, i.e. as a result of either:
williamr@2
  1929
               1. The thread or process running to completion.
williamr@2
  1930
               2. User::Exit() being invoked.
williamr@2
  1931
               3. RThread::Kill() or RProcess::Kill() being invoked on the RThread or RProcess handle, respectively.
williamr@2
  1932
			   */
williamr@2
  1933
               EExitKill,
williamr@2
  1934
                
williamr@2
  1935
               /**
williamr@2
  1936
               The thread or process has ended as a result of a terminate,
williamr@2
  1937
               i.e. Terminate() has been called on the RThread or RProcess handle.
williamr@2
  1938
               */
williamr@2
  1939
               EExitTerminate,
williamr@2
  1940
williamr@2
  1941
               /**
williamr@2
  1942
               The thread or process has been panicked.
williamr@2
  1943
               */
williamr@2
  1944
               EExitPanic,
williamr@2
  1945
williamr@2
  1946
               /**
williamr@2
  1947
               The thread or process is alive.
williamr@2
  1948
               */
williamr@2
  1949
               EExitPending
williamr@2
  1950
               };
williamr@2
  1951
williamr@2
  1952
williamr@2
  1953
williamr@2
  1954
williamr@2
  1955
/**
williamr@2
  1956
@publishedAll
williamr@2
  1957
@released
williamr@2
  1958
williamr@2
  1959
An enumeration whose enumerators govern the alignment of data which is copied 
williamr@2
  1960
or formatted into a descriptor.
williamr@2
  1961
williamr@2
  1962
@see TDes8::Justify()
williamr@2
  1963
@see TDes8::AppendJustify()
williamr@2
  1964
@see TDes16::Justify()
williamr@2
  1965
@see TDes16::AppendJustify()
williamr@2
  1966
*/
williamr@2
  1967
enum TAlign {
williamr@2
  1968
            /**
williamr@2
  1969
            Data is left aligned
williamr@2
  1970
            */
williamr@2
  1971
            ELeft,
williamr@2
  1972
            /**
williamr@2
  1973
            Data is centered
williamr@2
  1974
            */            
williamr@2
  1975
            ECenter,
williamr@2
  1976
            /**
williamr@2
  1977
            Data is right aligned
williamr@2
  1978
            */            
williamr@2
  1979
            ERight
williamr@2
  1980
            };
williamr@2
  1981
williamr@2
  1982
williamr@2
  1983
williamr@2
  1984
williamr@2
  1985
/**
williamr@2
  1986
@publishedAll
williamr@2
  1987
@released
williamr@2
  1988
williamr@2
  1989
A mask for the set of flags that govern the general format
williamr@2
  1990
of the character representation of a real number.
williamr@2
  1991
williamr@2
  1992
These are the flags with symbols starting KRealFormat...
williamr@2
  1993
*/
williamr@2
  1994
const TInt KRealFormatTypesMask=0x00000007;
williamr@2
  1995
williamr@2
  1996
williamr@2
  1997
williamr@2
  1998
williamr@2
  1999
/**
williamr@2
  2000
@publishedAll
williamr@2
  2001
@released
williamr@2
  2002
williamr@2
  2003
Defines the general format of the character representation of a real number.
williamr@2
  2004
The TRealFormat::iType data member is set to one of these.
williamr@2
  2005
williamr@2
  2006
The real number is converted to fixed format which has the general pattern:
williamr@2
  2007
"nnn.ddd", where nnn is the integer portion and ddd is the decimal portion.
williamr@2
  2008
A negative value is prefixed by a minus sign.
williamr@2
  2009
williamr@2
  2010
The number of decimal places generated is defined by the value of
williamr@2
  2011
TRealFormat::iPlaces. Trailing zeroes are generated as required.
williamr@2
  2012
If necessary, the decimal portion is rounded to fit the specification.
williamr@2
  2013
If this value is zero, no decimal point and no decimal portion is generated.
williamr@2
  2014
williamr@2
  2015
Triad separation is available,
williamr@2
  2016
defined by TRealFormat::iTriad and TRealFormat::iTriLen.
williamr@2
  2017
williamr@2
  2018
Note that a zero value is converted either to the form "0.000..." with
williamr@2
  2019
iPlaces '0' characters after the decimal point, if iPlaces is greater than
williamr@2
  2020
zero, or to "0" if iPlaces is zero.
williamr@2
  2021
williamr@2
  2022
@see TRealFormat
williamr@2
  2023
*/
williamr@2
  2024
const TInt KRealFormatFixed=1;
williamr@2
  2025
williamr@2
  2026
williamr@2
  2027
williamr@2
  2028
williamr@2
  2029
/**
williamr@2
  2030
@publishedAll
williamr@2
  2031
@released
williamr@2
  2032
williamr@2
  2033
Defines the general format of the character representation of a real number.
williamr@2
  2034
The TRealFormat::iType data member is set to one of these.
williamr@2
  2035
williamr@2
  2036
The real number is converted to scientific format with one non-zero digit
williamr@2
  2037
before the decimal point and a number of digits after the decimal point.
williamr@2
  2038
Hence the number has the general pattern:
williamr@2
  2039
"n.dddE+ee" or "n.dddE-ee", or "n.dddE+eee" or "n.dddE-eee".
williamr@2
  2040
williamr@2
  2041
The decimal portion is followed by the character 'E', a sign ('+' or '-')
williamr@2
  2042
and the exponent as two digits, including leading zeroes, if necessary.
williamr@2
  2043
If necessary, the decimal portion is rounded. 
williamr@2
  2044
williamr@2
  2045
A negative value is prefixed by a minus sign.
williamr@2
  2046
williamr@2
  2047
If the flag KUseSigFigs is not set, TRealFormat::iPlaces defines the number
williamr@2
  2048
of digits which follow the decimal point. If the flag KUseSigFigs is set,
williamr@2
  2049
iPlaces defines the maximum number of significant digits to be generated.
williamr@2
  2050
williamr@2
  2051
Note that, by default, exponents are limited to two digits.
williamr@2
  2052
Those numbers that require three digits must have the flag
williamr@2
  2053
KAllowThreeDigitExp set. If iPlaces is zero, the value is rounded to one digit
williamr@2
  2054
of precision and no decimal point is included.
williamr@2
  2055
williamr@2
  2056
Triad separation is not available.
williamr@2
  2057
williamr@2
  2058
Note that a zero value is converted either to the form "0.000...E+00" with
williamr@2
  2059
iPlaces '0' characters after the decimal point, if iPlaces is greater than
williamr@2
  2060
zero, or to "0E+00" if iPlaces is zero.
williamr@2
  2061
williamr@2
  2062
@see TRealFormat
williamr@2
  2063
*/
williamr@2
  2064
const TInt KRealFormatExponent=2;
williamr@2
  2065
williamr@2
  2066
williamr@2
  2067
williamr@2
  2068
williamr@2
  2069
/**
williamr@2
  2070
@publishedAll
williamr@2
  2071
@released
williamr@2
  2072
williamr@2
  2073
Defines the general format of the character representation of a real number.
williamr@2
  2074
The TRealFormat::iType data member is set to one of these.
williamr@2
  2075
williamr@2
  2076
The real number is converted either to fixed or scientific format.
williamr@2
  2077
The format chosen is the one which can present the greater number of
williamr@2
  2078
significant digits. Where both formats can present the same number of
williamr@2
  2079
significant digits, fixed format is used.
williamr@2
  2080
williamr@2
  2081
The number of decimal places generated depends only on the value of
williamr@2
  2082
TRealFormat::iWidth; the value of the iPlaces member is ignored.
williamr@2
  2083
williamr@2
  2084
Trailing zeroes in the decimal portion are discarded.
williamr@2
  2085
williamr@2
  2086
Triad separation is not available.
williamr@2
  2087
williamr@2
  2088
Note that a zero value is converted to "0".
williamr@2
  2089
williamr@2
  2090
@see TRealFormat
williamr@2
  2091
*/
williamr@2
  2092
const TInt KRealFormatGeneral=3;
williamr@2
  2093
williamr@2
  2094
williamr@2
  2095
williamr@2
  2096
williamr@2
  2097
/**
williamr@2
  2098
@publishedAll
williamr@2
  2099
@released
williamr@2
  2100
williamr@2
  2101
Defines the general format of the character representation of a real number.
williamr@2
  2102
The TRealFormat::iType data member is set to one of these.
williamr@2
  2103
williamr@2
  2104
The same as KRealFormatFixed but the TRealFormat::iPlaces is interpreted as
williamr@2
  2105
specifying the maximum number of significant digits.
williamr@2
  2106
williamr@2
  2107
Trailing zeroes in the decimal portion are discarded.
williamr@2
  2108
williamr@2
  2109
@see TRealFormat
williamr@2
  2110
*/
williamr@2
  2111
const TInt KRealFormatNoExponent=4;
williamr@2
  2112
williamr@2
  2113
williamr@2
  2114
williamr@2
  2115
williamr@2
  2116
/**
williamr@2
  2117
@publishedAll
williamr@2
  2118
@released
williamr@2
  2119
williamr@2
  2120
Defines the general format of the character representation of a real number.
williamr@2
  2121
The TRealFormat::iType data member is set to one of these.
williamr@2
  2122
williamr@2
  2123
The same as KRealFormatGeneral but TRealFormat::iPlaces is interpreted as
williamr@2
  2124
specifying the maximum number of significant digits, and the number is
williamr@2
  2125
displayed without an exponent whenever possible.
williamr@2
  2126
williamr@2
  2127
Trailing zeroes in the decimal portion are discarded.
williamr@2
  2128
williamr@2
  2129
@see TRealFormat
williamr@2
  2130
*/
williamr@2
  2131
const TInt KRealFormatCalculator=5;
williamr@2
  2132
williamr@2
  2133
williamr@2
  2134
williamr@2
  2135
williamr@2
  2136
// Extra flags ORed in with the previous types
williamr@2
  2137
williamr@2
  2138
williamr@2
  2139
/**
williamr@2
  2140
@publishedAll
williamr@2
  2141
@released
williamr@2
  2142
williamr@2
  2143
A bitmask for all flags except those with symbols starting KRealFormat...
williamr@2
  2144
*/
williamr@4
  2145
const TInt KRealFormatTypeFlagsMask=0x7E000000;
williamr@2
  2146
williamr@2
  2147
williamr@2
  2148
williamr@2
  2149
williamr@2
  2150
/**
williamr@2
  2151
@publishedAll
williamr@2
  2152
@released
williamr@2
  2153
williamr@2
  2154
A flag that modifies the format of the character representation of a real
williamr@2
  2155
number.
williamr@2
  2156
williamr@2
  2157
It reduces the effective width by one character. This forces a large enough
williamr@2
  2158
value for TRealFormat::iWidth to be chosen to guarantee that positive and
williamr@2
  2159
negative numbers can be shown to the same precision.
williamr@2
  2160
williamr@2
  2161
It applies when TRealFormat::iType is set to KRealFormatFixed
williamr@2
  2162
or KRealFormatGeneral, and should be ORed into TRealFormat::iType after one of
williamr@2
  2163
these types has been set.
williamr@2
  2164
*/
williamr@2
  2165
const TInt KExtraSpaceForSign=0x40000000;
williamr@2
  2166
williamr@2
  2167
williamr@2
  2168
williamr@2
  2169
/**
williamr@2
  2170
@publishedAll
williamr@2
  2171
@released
williamr@2
  2172
williamr@2
  2173
A flag that modifies the format of the character representation of a real
williamr@2
  2174
number.
williamr@2
  2175
williamr@2
  2176
It allows an exponent to be formatted whose magnitude is greater than 100.
williamr@2
  2177
If this flag is not set, an attempt to format such a number fails.
williamr@2
  2178
williamr@2
  2179
If set, three digit exponents are allowed. If not set, only two digit
williamr@2
  2180
exponents are allowed.
williamr@2
  2181
williamr@2
  2182
Applies when TRealFormat::iType is set to KRealFormatExponent
williamr@2
  2183
or KRealFormatGeneral, and should be ORed into TRealFormat::iType after one of
williamr@2
  2184
these types has been set.
williamr@2
  2185
*/
williamr@2
  2186
const TInt KAllowThreeDigitExp=0x20000000;
williamr@2
  2187
williamr@2
  2188
williamr@2
  2189
williamr@2
  2190
williamr@2
  2191
/**
williamr@2
  2192
@publishedAll
williamr@2
  2193
@released
williamr@2
  2194
williamr@2
  2195
A flag that modifies the format of the character representation of a real
williamr@2
  2196
number.
williamr@2
  2197
williamr@2
  2198
If set, the TRealFormat::iPlaces member is interpreted as the maximum number
williamr@2
  2199
of significant digits to be generated.
williamr@2
  2200
williamr@2
  2201
Applies when TRealFormat::iType is set to KRealFormatExponent, and should be
williamr@2
  2202
ORed into TRealFormat::iType after this type has been set.
williamr@2
  2203
*/
williamr@2
  2204
const TInt KUseSigFigs=0x10000000;
williamr@2
  2205
williamr@2
  2206
williamr@2
  2207
williamr@2
  2208
williamr@2
  2209
/**
williamr@2
  2210
@publishedAll
williamr@2
  2211
@released
williamr@2
  2212
williamr@2
  2213
A flag that modifies the format of the character representation of a real
williamr@2
  2214
number.
williamr@2
  2215
williamr@2
  2216
It disables triad separation.
williamr@2
  2217
williamr@2
  2218
Applies when TRealFormat::iType is set to KRealFormatFixed
williamr@2
  2219
or KRealFormatNoExponent, and should be ORed into TRealFormat::iType after one of
williamr@2
  2220
these types has been set.
williamr@2
  2221
*/
williamr@2
  2222
const TInt KDoNotUseTriads=0x08000000;
williamr@2
  2223
williamr@2
  2224
williamr@2
  2225
williamr@2
  2226
williamr@2
  2227
/**
williamr@2
  2228
@publishedAll
williamr@2
  2229
@released
williamr@2
  2230
williamr@2
  2231
A flag that modifies the format of the character representation of a real
williamr@2
  2232
number.
williamr@2
  2233
williamr@2
  2234
If set, this flag limits the precision to KPrecisionLimit digits.
williamr@2
  2235
If not set, the precision defaults to KMaxPrecision digits.
williamr@2
  2236
williamr@2
  2237
This flag should be ORed into TRealFormat::iType.
williamr@2
  2238
*/
williamr@2
  2239
const TInt KGeneralLimit=0x04000000;
williamr@2
  2240
williamr@2
  2241
williamr@2
  2242
williamr@2
  2243
williamr@2
  2244
/**
williamr@2
  2245
@publishedAll
williamr@2
  2246
@released
williamr@2
  2247
williamr@4
  2248
A flag that modifies the format of the character representation of a real
williamr@4
  2249
number.
williamr@4
  2250
williamr@4
  2251
If set, this flag allows enough digits of precision such that the mapping from
williamr@4
  2252
numeric to string form is injective. For a TReal (=double) input argument
williamr@4
  2253
this means KIEEEDoubleInjectivePrecision digits.
williamr@4
  2254
This flag overrides the KGeneralLimit flag if both are set.
williamr@4
  2255
williamr@4
  2256
This flag should be ORed into TRealFormat::iType.
williamr@4
  2257
*/
williamr@4
  2258
const TInt KRealInjectiveLimit=0x02000000;
williamr@4
  2259
williamr@4
  2260
williamr@4
  2261
williamr@4
  2262
williamr@4
  2263
/**
williamr@4
  2264
@publishedAll
williamr@4
  2265
@released
williamr@4
  2266
williamr@2
  2267
A value, which when passed to the new operator, indicates that the operation
williamr@2
  2268
is to leave if insufficient memory available.
williamr@2
  2269
*/
williamr@2
  2270
enum TLeave {ELeave};
williamr@2
  2271
williamr@2
  2272
williamr@2
  2273
williamr@2
  2274
williamr@2
  2275
/**
williamr@2
  2276
@publishedAll
williamr@2
  2277
@released
williamr@2
  2278
williamr@2
  2279
Defines the way in which the first week in a year is determined.
williamr@2
  2280
*/
williamr@2
  2281
enum TFirstWeekRule {
williamr@2
  2282
                    /**
williamr@2
  2283
                    The first week in the year is always the week containing
williamr@2
  2284
                    the first day of the year.
williamr@2
  2285
                    */
williamr@2
  2286
                    EFirstWeek,
williamr@2
  2287
                    /**
williamr@2
  2288
                    If at least four days of the new year occur during the week
williamr@2
  2289
                    containing the first day then this is the first week in the
williamr@2
  2290
                    year. Otherwise the first week in the year is the following
williamr@2
  2291
                    week. This is the default and complies with the
williamr@2
  2292
                    international standard.
williamr@2
  2293
                    */
williamr@2
  2294
                    EFirstFourDayWeek,
williamr@2
  2295
                    /**
williamr@2
  2296
                    The first week in the year is the first week of which all
williamr@2
  2297
                    seven days occur within the new year.
williamr@2
  2298
                    */
williamr@2
  2299
                    EFirstFullWeek
williamr@2
  2300
                    };
williamr@2
  2301
williamr@2
  2302
williamr@2
  2303
williamr@2
  2304
williamr@2
  2305
/**
williamr@2
  2306
@publishedAll
williamr@2
  2307
@released
williamr@2
  2308
williamr@2
  2309
Timer lock specifications.
williamr@2
  2310
williamr@2
  2311
They are used by CTimer::Lock() to define the fraction of a second in which 
williamr@2
  2312
to call its RunL() function.
williamr@2
  2313
williamr@2
  2314
@see CTimer
williamr@2
  2315
*/
williamr@2
  2316
enum TTimerLockSpec
williamr@2
  2317
	{
williamr@2
  2318
	/** Timer tick is at 1/12 past the second. */
williamr@2
  2319
	EOneOClock,
williamr@2
  2320
williamr@2
  2321
	/** Timer tick is at 2/12 past the second */
williamr@2
  2322
	ETwoOClock,
williamr@2
  2323
williamr@2
  2324
	/** Timer tick is at 3/12 past the second */
williamr@2
  2325
	EThreeOClock,
williamr@2
  2326
williamr@2
  2327
	/** Timer tick is at 4/12 past the second */
williamr@2
  2328
	EFourOClock,
williamr@2
  2329
williamr@2
  2330
	/** Timer tick is at 5/12 past the second */
williamr@2
  2331
	EFiveOClock,
williamr@2
  2332
williamr@2
  2333
	/** Timer tick is at 6/12 past the second */
williamr@2
  2334
	ESixOClock,
williamr@2
  2335
williamr@2
  2336
	/** Timer tick is at 7/12 past the second */
williamr@2
  2337
	ESevenOClock,
williamr@2
  2338
williamr@2
  2339
	/** Timer tick is at 8/12 past the second */
williamr@2
  2340
	EEightOClock,
williamr@2
  2341
williamr@2
  2342
	/** Timer tick is at 9/12 past the second */
williamr@2
  2343
	ENineOClock,
williamr@2
  2344
williamr@2
  2345
	/** Timer tick is at 10/12 past the second */
williamr@2
  2346
	ETenOClock,
williamr@2
  2347
williamr@2
  2348
	/** Timer tick is at 11/12 past the second */
williamr@2
  2349
	EElevenOClock,
williamr@2
  2350
williamr@2
  2351
	/** Timer tick is on the second */
williamr@2
  2352
	ETwelveOClock
williamr@2
  2353
	};
williamr@2
  2354
williamr@2
  2355
williamr@2
  2356
williamr@2
  2357
williamr@2
  2358
/**
williamr@2
  2359
@publishedAll
williamr@2
  2360
@released
williamr@2
  2361
williamr@2
  2362
Defines the possible environment changes which may be reported by
williamr@2
  2363
a change notifier through the RChangeNotifier interface.
williamr@2
  2364
williamr@2
  2365
Each enumerator corresponds to a distinct type of event.
williamr@2
  2366
williamr@2
  2367
The changes are reported through a TRequestStatus object when a request to
williamr@2
  2368
the change notifier completes. As each enumerator value represents
williamr@2
  2369
a separate bit, any combination of events can be reported.
williamr@2
  2370
williamr@2
  2371
@see RChangeNotifier
williamr@2
  2372
@see TRequestStatus
williamr@2
  2373
@see TLocale
williamr@2
  2374
*/
williamr@2
  2375
enum TChanges
williamr@2
  2376
	{
williamr@2
  2377
	/**
williamr@2
  2378
	The system locale has changed.
williamr@2
  2379
williamr@2
  2380
    Typically this event occurs as a result of a call to TLocale::Set().
williamr@2
  2381
	*/
williamr@2
  2382
	EChangesLocale=0x01,
williamr@2
  2383
williamr@2
  2384
	
williamr@2
  2385
	/**
williamr@2
  2386
	The system time has passed midnight.
williamr@2
  2387
	*/
williamr@2
  2388
	EChangesMidnightCrossover=0x02,
williamr@2
  2389
	
williamr@2
  2390
	
williamr@2
  2391
	/**
williamr@2
  2392
	A thread has died.
williamr@2
  2393
	
williamr@2
  2394
	This event is reported when any thread in the system dies.
williamr@2
  2395
    */
williamr@2
  2396
	EChangesThreadDeath=0x04,
williamr@2
  2397
	
williamr@2
  2398
	
williamr@2
  2399
	/**
williamr@2
  2400
	The status of the power supply has changed.
williamr@2
  2401
	*/
williamr@2
  2402
	EChangesPowerStatus=0x08,
williamr@2
  2403
williamr@2
  2404
williamr@2
  2405
	/**
williamr@2
  2406
	The system time has changed.
williamr@2
  2407
	*/
williamr@2
  2408
	EChangesSystemTime=0x10,
williamr@2
  2409
	
williamr@2
  2410
williamr@2
  2411
	/**
williamr@2
  2412
	The free memory level has crossed a specified threshold value.
williamr@4
  2413
	
williamr@4
  2414
	On systems that support data paging, this is also generated where the available swap space
williamr@4
  2415
	crosses one of the specified threshold values.
williamr@2
  2416
	*/
williamr@2
  2417
	EChangesFreeMemory=0x20,
williamr@2
  2418
williamr@2
  2419
	
williamr@2
  2420
	/**
williamr@2
  2421
	A memory allocation has failed due to insufficient free memory.
williamr@2
  2422
	*/
williamr@2
  2423
	EChangesOutOfMemory=0x40,
williamr@2
  2424
	
williamr@2
  2425
williamr@2
  2426
	/**
williamr@2
  2427
	The free memory level has fallen below the low-memory threshold
williamr@2
  2428
	@see UserSvr::SetMemoryThresholds()
williamr@2
  2429
	*/
williamr@2
  2430
	EChangesLowMemory=0x80,
williamr@4
  2431
williamr@4
  2432
	/**
williamr@4
  2433
	On systems that support data paging, this is generated where the thrashing level crosses one of
williamr@4
  2434
	the specified threshold values.
williamr@4
  2435
	*/
williamr@4
  2436
	EChangesThrashLevel=0x100,
williamr@4
  2437
williamr@4
  2438
	/**********************************************************************************
williamr@4
  2439
	**  IF YOU ADD A NEW VALUE HERE, YOU NEED TO UPDATE DChangeNotifier CONSTRUCTOR  **
williamr@4
  2440
	**********************************************************************************/
williamr@2
  2441
	};
williamr@2
  2442
williamr@2
  2443
williamr@2
  2444
williamr@2
  2445
williamr@2
  2446
/**
williamr@2
  2447
@publishedAll
williamr@2
  2448
@released
williamr@2
  2449
williamr@2
  2450
Defines a pointer to a thread function which takes a pointer of
williamr@2
  2451
type TAny and returns a TInt.
williamr@2
  2452
williamr@2
  2453
A function of this type is passed as parameter to RThread::Create()
williamr@2
  2454
when creating a thread. Control passes to this function when the thread
williamr@2
  2455
is first scheduled for execution.
williamr@2
  2456
williamr@2
  2457
@see RThread
williamr@2
  2458
*/
williamr@2
  2459
typedef TInt (*TThreadFunction)(TAny*);
williamr@2
  2460
williamr@2
  2461
williamr@2
  2462
williamr@2
  2463
williamr@2
  2464
/**
williamr@2
  2465
@publishedAll
williamr@2
  2466
@released
williamr@2
  2467
williamr@2
  2468
Defines a function that takes no arguments but returns a TInt.
williamr@2
  2469
williamr@2
  2470
This is a type which is returned from a call to RLibrary::Lookup().
williamr@2
  2471
williamr@2
  2472
@see RLibrary
williamr@2
  2473
*/
williamr@2
  2474
typedef TInt (*TLibraryFunction)();
williamr@2
  2475
williamr@2
  2476
williamr@2
  2477
williamr@2
  2478
williamr@2
  2479
/**
williamr@2
  2480
@publishedAll
williamr@2
  2481
@released
williamr@2
  2482
williamr@2
  2483
Defines a function that takes a single argument of type TInt and returns a TInt.
williamr@2
  2484
williamr@2
  2485
This is a type which is returned from a call to RLibrary::EntryPoint().
williamr@2
  2486
williamr@2
  2487
@see RLibrary
williamr@2
  2488
*/
williamr@2
  2489
typedef TInt (*TLibraryEntry)(TInt);
williamr@2
  2490
williamr@2
  2491
williamr@2
  2492
williamr@2
  2493
/**
williamr@2
  2494
@publishedAll
williamr@2
  2495
@released
williamr@2
  2496
williamr@2
  2497
Defines an exception handler function which takes a TExcType as an argument,
williamr@2
  2498
and returns void.
williamr@2
  2499
williamr@2
  2500
A function of this type is an exception handler used by member functions
williamr@2
  2501
of a thread handle, RThread.
williamr@2
  2502
williamr@2
  2503
@see RThread
williamr@2
  2504
@see TExcType
williamr@2
  2505
*/
williamr@2
  2506
typedef void (*TExceptionHandler)(TExcType);
williamr@2
  2507
williamr@2
  2508
williamr@2
  2509
williamr@2
  2510
williamr@2
  2511
// masking constants
williamr@2
  2512
williamr@2
  2513
/**
williamr@2
  2514
@publishedAll
williamr@2
  2515
@released
williamr@2
  2516
williamr@2
  2517
One of a set of flags that categorizes exceptions - associated with
williamr@2
  2518
the abort exception only.
williamr@2
  2519
williamr@2
  2520
@see RThread::SetExceptionHandler()
williamr@2
  2521
@see RThread::ModifyExceptionMask()
williamr@2
  2522
*/
williamr@2
  2523
const TUint KExceptionAbort=0x01;
williamr@2
  2524
williamr@2
  2525
williamr@2
  2526
williamr@2
  2527
williamr@2
  2528
/**
williamr@2
  2529
@publishedAll
williamr@2
  2530
@released
williamr@2
  2531
williamr@2
  2532
One of a set of flags that categorizes exceptions - associated with
williamr@2
  2533
the kill exception only.
williamr@2
  2534
williamr@2
  2535
@see RThread::SetExceptionHandler()
williamr@2
  2536
@see RThread::ModifyExceptionMask()
williamr@2
  2537
*/
williamr@2
  2538
const TUint KExceptionKill=0x02;
williamr@2
  2539
williamr@2
  2540
williamr@2
  2541
williamr@2
  2542
williamr@2
  2543
/**
williamr@2
  2544
@publishedAll
williamr@2
  2545
@released
williamr@2
  2546
williamr@2
  2547
One of a set of flags that categorizes exceptions - general
williamr@2
  2548
and user exceptions.
williamr@2
  2549
williamr@2
  2550
@see RThread::SetExceptionHandler()
williamr@2
  2551
@see RThread::ModifyExceptionMask()
williamr@2
  2552
*/
williamr@2
  2553
const TUint KExceptionUserInterrupt=0x04;
williamr@2
  2554
williamr@2
  2555
williamr@2
  2556
williamr@2
  2557
williamr@2
  2558
/**
williamr@2
  2559
@publishedAll
williamr@2
  2560
@released
williamr@2
  2561
williamr@2
  2562
One of a set of flags that categorizes exceptions - exceptions caused
williamr@2
  2563
by illegal floating point operations. This exception is not guaranteed
williamr@2
  2564
to be raised when a hardware floating point implementation is in use.
williamr@2
  2565
williamr@2
  2566
@see RThread::SetExceptionHandler()
williamr@2
  2567
@see RThread::ModifyExceptionMask()
williamr@2
  2568
*/
williamr@2
  2569
const TUint KExceptionFpe=0x08;
williamr@2
  2570
williamr@2
  2571
williamr@2
  2572
williamr@2
  2573
williamr@2
  2574
/**
williamr@2
  2575
@publishedAll
williamr@2
  2576
@released
williamr@2
  2577
williamr@2
  2578
One of a set of flags that categorizes exceptions - exceptions associated
williamr@2
  2579
with executing instructions; includes protection faults,
williamr@2
  2580
illegal instruction codes, page faults etc
williamr@2
  2581
williamr@2
  2582
@see RThread::SetExceptionHandler()
williamr@2
  2583
@see RThread::ModifyExceptionMask()
williamr@2
  2584
*/
williamr@2
  2585
const TUint KExceptionFault=0x10;
williamr@2
  2586
williamr@2
  2587
williamr@2
  2588
williamr@2
  2589
williamr@2
  2590
/**
williamr@2
  2591
@publishedAll
williamr@2
  2592
@released
williamr@2
  2593
williamr@2
  2594
One of a set of flags that categorizes exceptions - exceptions caused
williamr@2
  2595
by illegal operations on integer values.
williamr@2
  2596
*/
williamr@2
  2597
const TUint KExceptionInteger=0x20;
williamr@2
  2598
williamr@2
  2599
williamr@2
  2600
williamr@2
  2601
williamr@2
  2602
/**
williamr@2
  2603
@publishedAll
williamr@2
  2604
@released
williamr@2
  2605
williamr@2
  2606
One of a set of flags that categorizes exceptions - exceptions raised
williamr@2
  2607
when debugging code.
williamr@2
  2608
williamr@2
  2609
@see RThread::SetExceptionHandler()
williamr@2
  2610
@see RThread::ModifyExceptionMask()
williamr@2
  2611
*/
williamr@2
  2612
const TUint KExceptionDebug=0x40;
williamr@2
  2613
williamr@2
  2614
williamr@2
  2615
williamr@2
  2616
williamr@2
  2617
/**
williamr@2
  2618
@publishedAll
williamr@2
  2619
@released
williamr@2
  2620
williamr@2
  2621
Aligns the specified value on the boundary defined by __Size.
williamr@2
  2622
This is usually 4 for byte alignment or 2 for double-byte alignment.
williamr@2
  2623
williamr@2
  2624
@param s The value to be aligned.
williamr@2
  2625
*/
williamr@2
  2626
#define __Align(s) ((((s)+__Size-1)/__Size)*__Size)
williamr@2
  2627
williamr@2
  2628
williamr@2
  2629
williamr@2
  2630
williamr@2
  2631
/**
williamr@2
  2632
@publishedAll
williamr@2
  2633
@released
williamr@2
  2634
williamr@2
  2635
Defines the type of environment data passed to a process
williamr@2
  2636
when that process is created.
williamr@2
  2637
williamr@2
  2638
The data can be either a handle or just binary data.
williamr@2
  2639
*/
williamr@2
  2640
enum TProcessParameterType
williamr@2
  2641
	{
williamr@2
  2642
	EHandle=1,
williamr@2
  2643
	EBinaryData=2,
williamr@2
  2644
	};
williamr@2
  2645
williamr@2
  2646
williamr@2
  2647
williamr@2
  2648
williamr@2
  2649
// bitwise constants
williamr@2
  2650
williamr@2
  2651
/**
williamr@2
  2652
@publishedAll
williamr@2
  2653
@released
williamr@2
  2654
williamr@2
  2655
Constant that defines the specified bit value.
williamr@2
  2656
*/
williamr@2
  2657
const TUint32 KBit0= 0x00000001;
williamr@2
  2658
williamr@2
  2659
williamr@2
  2660
williamr@2
  2661
williamr@2
  2662
/**
williamr@2
  2663
@publishedAll
williamr@2
  2664
@released
williamr@2
  2665
williamr@2
  2666
Constant that defines the specified bit value.
williamr@2
  2667
*/
williamr@2
  2668
const TUint32 KBit1= 0x00000002;
williamr@2
  2669
williamr@2
  2670
williamr@2
  2671
williamr@2
  2672
williamr@2
  2673
/**
williamr@2
  2674
@publishedAll
williamr@2
  2675
@released
williamr@2
  2676
williamr@2
  2677
Constant that defines the specified bit value.
williamr@2
  2678
*/
williamr@2
  2679
const TUint32 KBit2= 0x00000004;
williamr@2
  2680
williamr@2
  2681
williamr@2
  2682
williamr@2
  2683
williamr@2
  2684
/**
williamr@2
  2685
@publishedAll
williamr@2
  2686
@released
williamr@2
  2687
williamr@2
  2688
Constant that defines the specified bit value.
williamr@2
  2689
*/
williamr@2
  2690
const TUint32 KBit3= 0x00000008;
williamr@2
  2691
williamr@2
  2692
williamr@2
  2693
williamr@2
  2694
williamr@2
  2695
/**
williamr@2
  2696
@publishedAll
williamr@2
  2697
@released
williamr@2
  2698
williamr@2
  2699
Constant that defines the specified bit value.
williamr@2
  2700
*/
williamr@2
  2701
const TUint32 KBit4= 0x00000010;
williamr@2
  2702
williamr@2
  2703
williamr@2
  2704
williamr@2
  2705
williamr@2
  2706
/**
williamr@2
  2707
@publishedAll
williamr@2
  2708
@released
williamr@2
  2709
williamr@2
  2710
Constant that defines the specified bit value.
williamr@2
  2711
*/
williamr@2
  2712
const TUint32 KBit5= 0x00000020;
williamr@2
  2713
williamr@2
  2714
williamr@2
  2715
williamr@2
  2716
williamr@2
  2717
/**
williamr@2
  2718
@publishedAll
williamr@2
  2719
@released
williamr@2
  2720
williamr@2
  2721
Constant that defines the specified bit value.
williamr@2
  2722
*/
williamr@2
  2723
const TUint32 KBit6= 0x00000040;
williamr@2
  2724
williamr@2
  2725
williamr@2
  2726
williamr@2
  2727
williamr@2
  2728
/**
williamr@2
  2729
@publishedAll
williamr@2
  2730
@released
williamr@2
  2731
williamr@2
  2732
Constant that defines the specified bit value.
williamr@2
  2733
*/
williamr@2
  2734
const TUint32 KBit7= 0x00000080;
williamr@2
  2735
williamr@2
  2736
williamr@2
  2737
williamr@2
  2738
williamr@2
  2739
/**
williamr@2
  2740
@publishedAll
williamr@2
  2741
@released
williamr@2
  2742
williamr@2
  2743
Constant that defines the specified bit value.
williamr@2
  2744
*/
williamr@2
  2745
const TUint32 KBit8= 0x00000100;
williamr@2
  2746
williamr@2
  2747
williamr@2
  2748
williamr@2
  2749
williamr@2
  2750
/**
williamr@2
  2751
@publishedAll
williamr@2
  2752
@released
williamr@2
  2753
williamr@2
  2754
Constant that defines the specified bit value.
williamr@2
  2755
*/
williamr@2
  2756
const TUint32 KBit9= 0x00000200;
williamr@2
  2757
williamr@2
  2758
williamr@2
  2759
williamr@2
  2760
williamr@2
  2761
/**
williamr@2
  2762
@publishedAll
williamr@2
  2763
@released
williamr@2
  2764
williamr@2
  2765
Constant that defines the specified bit value.
williamr@2
  2766
*/
williamr@2
  2767
const TUint32 KBit10=0x00000400;
williamr@2
  2768
williamr@2
  2769
williamr@2
  2770
williamr@2
  2771
williamr@2
  2772
/**
williamr@2
  2773
@publishedAll
williamr@2
  2774
@released
williamr@2
  2775
williamr@2
  2776
Constant that defines the specified bit value.
williamr@2
  2777
*/
williamr@2
  2778
const TUint32 KBit11=0x00000800;
williamr@2
  2779
williamr@2
  2780
williamr@2
  2781
williamr@2
  2782
williamr@2
  2783
/**
williamr@2
  2784
@publishedAll
williamr@2
  2785
@released
williamr@2
  2786
williamr@2
  2787
Constant that defines the specified bit value.
williamr@2
  2788
*/
williamr@2
  2789
const TUint32 KBit12=0x00001000;
williamr@2
  2790
williamr@2
  2791
williamr@2
  2792
williamr@2
  2793
williamr@2
  2794
/**
williamr@2
  2795
@publishedAll
williamr@2
  2796
@released
williamr@2
  2797
williamr@2
  2798
Constant that defines the specified bit value.
williamr@2
  2799
*/
williamr@2
  2800
const TUint32 KBit13=0x00002000;
williamr@2
  2801
williamr@2
  2802
williamr@2
  2803
williamr@2
  2804
williamr@2
  2805
/**
williamr@2
  2806
@publishedAll
williamr@2
  2807
@released
williamr@2
  2808
williamr@2
  2809
Constant that defines the specified bit value.
williamr@2
  2810
*/
williamr@2
  2811
const TUint32 KBit14=0x00004000;
williamr@2
  2812
williamr@2
  2813
williamr@2
  2814
williamr@2
  2815
williamr@2
  2816
/**
williamr@2
  2817
@publishedAll
williamr@2
  2818
@released
williamr@2
  2819
williamr@2
  2820
Constant that defines the specified bit value.
williamr@2
  2821
*/
williamr@2
  2822
const TUint32 KBit15=0x00008000;
williamr@2
  2823
williamr@2
  2824
williamr@2
  2825
williamr@2
  2826
williamr@2
  2827
/**
williamr@2
  2828
@publishedAll
williamr@2
  2829
@released
williamr@2
  2830
williamr@2
  2831
Constant that defines the specified bit value.
williamr@2
  2832
*/
williamr@2
  2833
const TUint32 KBit16=0x00010000;
williamr@2
  2834
williamr@2
  2835
williamr@2
  2836
williamr@2
  2837
williamr@2
  2838
/**
williamr@2
  2839
@publishedAll
williamr@2
  2840
@released
williamr@2
  2841
williamr@2
  2842
Constant that defines the specified bit value.
williamr@2
  2843
*/
williamr@2
  2844
const TUint32 KBit17=0x00020000;
williamr@2
  2845
williamr@2
  2846
williamr@2
  2847
williamr@2
  2848
williamr@2
  2849
/**
williamr@2
  2850
@publishedAll
williamr@2
  2851
@released
williamr@2
  2852
williamr@2
  2853
Constant that defines the specified bit value.
williamr@2
  2854
*/
williamr@2
  2855
const TUint32 KBit18=0x00040000;
williamr@2
  2856
williamr@2
  2857
williamr@2
  2858
williamr@2
  2859
williamr@2
  2860
/**
williamr@2
  2861
@publishedAll
williamr@2
  2862
@released
williamr@2
  2863
williamr@2
  2864
Constant that defines the specified bit value.
williamr@2
  2865
*/
williamr@2
  2866
const TUint32 KBit19=0x00080000;
williamr@2
  2867
williamr@2
  2868
williamr@2
  2869
williamr@2
  2870
williamr@2
  2871
/**
williamr@2
  2872
@publishedAll
williamr@2
  2873
@released
williamr@2
  2874
williamr@2
  2875
Constant that defines the specified bit value.
williamr@2
  2876
*/
williamr@2
  2877
const TUint32 KBit20=0x00100000;
williamr@2
  2878
williamr@2
  2879
williamr@2
  2880
williamr@2
  2881
williamr@2
  2882
/**
williamr@2
  2883
@publishedAll
williamr@2
  2884
@released
williamr@2
  2885
williamr@2
  2886
Constant that defines the specified bit value.
williamr@2
  2887
*/
williamr@2
  2888
const TUint32 KBit21=0x00200000;
williamr@2
  2889
williamr@2
  2890
williamr@2
  2891
williamr@2
  2892
williamr@2
  2893
/**
williamr@2
  2894
@publishedAll
williamr@2
  2895
@released
williamr@2
  2896
williamr@2
  2897
Constant that defines the specified bit value.
williamr@2
  2898
*/
williamr@2
  2899
const TUint32 KBit22=0x00400000;
williamr@2
  2900
williamr@2
  2901
williamr@2
  2902
williamr@2
  2903
williamr@2
  2904
/**
williamr@2
  2905
@publishedAll
williamr@2
  2906
@released
williamr@2
  2907
williamr@2
  2908
Constant that defines the specified bit value.
williamr@2
  2909
*/
williamr@2
  2910
const TUint32 KBit23=0x00800000;
williamr@2
  2911
williamr@2
  2912
williamr@2
  2913
williamr@2
  2914
williamr@2
  2915
/**
williamr@2
  2916
@publishedAll
williamr@2
  2917
@released
williamr@2
  2918
williamr@2
  2919
Constant that defines the specified bit value.
williamr@2
  2920
*/
williamr@2
  2921
const TUint32 KBit24=0x01000000;
williamr@2
  2922
williamr@2
  2923
williamr@2
  2924
williamr@2
  2925
williamr@2
  2926
/**
williamr@2
  2927
@publishedAll
williamr@2
  2928
@released
williamr@2
  2929
williamr@2
  2930
Constant that defines the specified bit value.
williamr@2
  2931
*/
williamr@2
  2932
const TUint32 KBit25=0x02000000;
williamr@2
  2933
williamr@2
  2934
williamr@2
  2935
williamr@2
  2936
williamr@2
  2937
/**
williamr@2
  2938
@publishedAll
williamr@2
  2939
@released
williamr@2
  2940
williamr@2
  2941
Constant that defines the specified bit value.
williamr@2
  2942
*/
williamr@2
  2943
const TUint32 KBit26=0x04000000;
williamr@2
  2944
williamr@2
  2945
williamr@2
  2946
williamr@2
  2947
williamr@2
  2948
/**
williamr@2
  2949
@publishedAll
williamr@2
  2950
@released
williamr@2
  2951
williamr@2
  2952
Constant that defines the specified bit value.
williamr@2
  2953
*/
williamr@2
  2954
const TUint32 KBit27=0x08000000;
williamr@2
  2955
williamr@2
  2956
williamr@2
  2957
williamr@2
  2958
williamr@2
  2959
/**
williamr@2
  2960
@publishedAll
williamr@2
  2961
@released
williamr@2
  2962
williamr@2
  2963
Constant that defines the specified bit value.
williamr@2
  2964
*/
williamr@2
  2965
const TUint32 KBit28=0x10000000;
williamr@2
  2966
williamr@2
  2967
williamr@2
  2968
williamr@2
  2969
williamr@2
  2970
/**
williamr@2
  2971
@publishedAll
williamr@2
  2972
@released
williamr@2
  2973
williamr@2
  2974
Constant that defines the specified bit value.
williamr@2
  2975
*/
williamr@2
  2976
const TUint32 KBit29=0x20000000;
williamr@2
  2977
williamr@2
  2978
williamr@2
  2979
williamr@2
  2980
williamr@2
  2981
/**
williamr@2
  2982
@publishedAll
williamr@2
  2983
@released
williamr@2
  2984
williamr@2
  2985
Constant that defines the specified bit value.
williamr@2
  2986
*/
williamr@2
  2987
const TUint32 KBit30=0x40000000;
williamr@2
  2988
williamr@2
  2989
williamr@2
  2990
williamr@2
  2991
williamr@2
  2992
/**
williamr@2
  2993
@publishedAll
williamr@2
  2994
@released
williamr@2
  2995
williamr@2
  2996
Constant that defines the specified bit value.
williamr@2
  2997
*/
williamr@2
  2998
const TUint32 KBit31=0x80000000;
williamr@2
  2999
williamr@2
  3000
williamr@2
  3001
williamr@2
  3002
williamr@2
  3003
/**
williamr@2
  3004
@publishedAll
williamr@2
  3005
@released
williamr@2
  3006
williamr@2
  3007
Constant that defines the specified bit value.
williamr@2
  3008
williamr@2
  3009
This is often used as a bit mask.
williamr@2
  3010
*/
williamr@2
  3011
const TUint32 KSet32=0xffffffff;
williamr@2
  3012
williamr@2
  3013
williamr@2
  3014
williamr@2
  3015
williamr@2
  3016
/**
williamr@2
  3017
@publishedAll
williamr@2
  3018
@released
williamr@2
  3019
williamr@2
  3020
williamr@2
  3021
Constant that defines the specified bit value.
williamr@2
  3022
williamr@2
  3023
This is often used as a bit mask.
williamr@2
  3024
*/
williamr@2
  3025
const TUint32 KClear32=0x00000000;
williamr@2
  3026
  
williamr@2
  3027
  
williamr@2
  3028
  
williamr@2
  3029
williamr@2
  3030
/**
williamr@2
  3031
@publishedAll
williamr@2
  3032
@released
williamr@2
  3033
williamr@2
  3034
Constant that defines the specified  value.
williamr@2
  3035
*/
williamr@2
  3036
const TInt KKilo=1024;
williamr@2
  3037
williamr@2
  3038
williamr@2
  3039
williamr@2
  3040
williamr@2
  3041
/**
williamr@2
  3042
@publishedAll
williamr@2
  3043
@released
williamr@2
  3044
williamr@2
  3045
Constant that defines the specified  value.
williamr@2
  3046
*/
williamr@2
  3047
const TInt KMega=1024*1024;
williamr@2
  3048
williamr@2
  3049
williamr@2
  3050
williamr@2
  3051
williamr@2
  3052
/**
williamr@2
  3053
@publishedAll
williamr@2
  3054
@released
williamr@2
  3055
williamr@2
  3056
Client/Server Session types.
williamr@2
  3057
*/
williamr@2
  3058
enum TIpcSessionType
williamr@2
  3059
	{
williamr@4
  3060
	// These values are used at session creation time to describe the extent to which
williamr@4
  3061
	// the new session may be shared.
williamr@4
  3062
	//
williamr@4
  3063
	// They are *also* used at server creation time, to specify the *maximum* degree
williamr@4
  3064
	// of session sharability that the server supports. Thus, if a server instance was
williamr@4
  3065
	// created with mode EIpcSession_Sharable, you can open Sharable or Unsharable
williamr@4
  3066
	// sessions with it, but not globally sharable ones.
williamr@4
  3067
	EIpcSession_Unsharable					= 0x00000000,
williamr@4
  3068
	EIpcSession_Sharable					= 0x00000001,	// sharable within one process
williamr@4
  3069
	EIpcSession_GlobalSharable				= 0x00000002	// sharable across processes
williamr@4
  3070
	};
williamr@4
  3071
williamr@4
  3072
enum TIpcServerRole
williamr@4
  3073
	{
williamr@4
  3074
	EServerRole_Default = 0,								// No role specified; treated as Standalone
williamr@4
  3075
	EServerRole_Standalone,									// Explicitly neither Master nor Slave
williamr@4
  3076
	EServerRole_Master,										// Master: may transfer sessions to a Slave
williamr@4
  3077
	EServerRole_Slave										// Slave: accepts sessions from the Master
williamr@4
  3078
	};
williamr@4
  3079
williamr@4
  3080
enum TIpcServerOpts
williamr@4
  3081
	{
williamr@4
  3082
	// The first few bits specify whether memory referred to by descriptors
williamr@4
  3083
	// passed from the client to the server should automatically be pinned
williamr@4
  3084
	// All other bits are reserved for future expansion ...
williamr@4
  3085
	EServerOpt_PinClientDescriptorsDefault	= 0x00000000,	/**<@internalComponent*/
williamr@4
  3086
	EServerOpt_PinClientDescriptorsEnable 	= 0x00000004,	/**<@internalComponent*/
williamr@4
  3087
	EServerOpt_PinClientDescriptorsDisable	= 0x00000008,	/**<@internalComponent*/
williamr@4
  3088
	EServerOpt_PinClientDescriptorsMask		= 0x0000000c	/**<@internalComponent*/
williamr@2
  3089
	};
williamr@2
  3090
williamr@2
  3091
williamr@2
  3092
williamr@2
  3093
williamr@2
  3094
/**
williamr@2
  3095
@publishedAll
williamr@2
  3096
@released
williamr@2
  3097
*/
williamr@2
  3098
const TInt KNullDebugPort=-2;
williamr@2
  3099
williamr@2
  3100
williamr@2
  3101
/**
williamr@2
  3102
A constant which represents a thread ID which will never be assigned to a thread.
williamr@2
  3103
I.e. The following statement is always true; RThread::Id()!=KNullThreadId
williamr@2
  3104
@publishedAll
williamr@2
  3105
@released
williamr@2
  3106
@see TThreadId
williamr@2
  3107
*/
williamr@2
  3108
const TUint KNullThreadId = 0xffffffffu;
williamr@2
  3109
williamr@2
  3110
williamr@2
  3111
williamr@2
  3112
/**
williamr@2
  3113
A constant which represents a process ID which will never be assigned to a process.
williamr@2
  3114
I.e. The following statement is always true; RProcess::Id()!=KNullProcessId
williamr@2
  3115
@publishedAll
williamr@2
  3116
@released
williamr@2
  3117
@see TProcessId
williamr@2
  3118
*/
williamr@2
  3119
const TUint KNullProcessId = 0xffffffffu;
williamr@2
  3120
williamr@2
  3121
williamr@2
  3122
williamr@2
  3123
/**
williamr@2
  3124
@publishedAll
williamr@2
  3125
@released
williamr@2
  3126
williamr@2
  3127
Hardware floating point types.
williamr@2
  3128
*/
williamr@2
  3129
enum TFloatingPointType
williamr@2
  3130
	{
williamr@2
  3131
	/** No hardware floating point. */
williamr@2
  3132
	EFpTypeNone=0,
williamr@2
  3133
	/** ARM VFPv2 */
williamr@2
  3134
	EFpTypeVFPv2=1,
williamr@2
  3135
	/** ARM VFPv3 */
williamr@4
  3136
	EFpTypeVFPv3=2,
williamr@4
  3137
	/** ARM VFPv3-D16 (VFP only, no NEON) */
williamr@4
  3138
	EFpTypeVFPv3D16=3,
williamr@2
  3139
	};
williamr@2
  3140
williamr@2
  3141
williamr@2
  3142
williamr@2
  3143
/**
williamr@2
  3144
@publishedAll
williamr@2
  3145
@released
williamr@2
  3146
williamr@2
  3147
Hardware floating point execution modes.
williamr@2
  3148
*/
williamr@2
  3149
enum TFloatingPointMode
williamr@2
  3150
	{
williamr@2
  3151
	/**
williamr@2
  3152
	Run in the fastest mode available - results of calculations may not be
williamr@2
  3153
	exactly as the IEEE standard in some cases. On ARM VFPv2 hardware this
williamr@2
  3154
	corresponds to RunFast mode.
williamr@2
  3155
	*/
williamr@2
  3156
	EFpModeRunFast=0,
williamr@2
  3157
williamr@2
  3158
	/**
williamr@2
  3159
	Perform all calculations as specified in the IEEE standard, but do not
williamr@2
  3160
	generate floating point exceptions. This is compatible with the Java
williamr@2
  3161
	floating point model. This is the default.
williamr@2
  3162
	*/
williamr@2
  3163
	EFpModeIEEENoExceptions=1
williamr@2
  3164
	};
williamr@2
  3165
williamr@2
  3166
williamr@2
  3167
williamr@2
  3168
williamr@2
  3169
/**
williamr@2
  3170
@publishedAll
williamr@2
  3171
@released
williamr@2
  3172
williamr@2
  3173
Hardware floating point rounding modes.
williamr@2
  3174
*/
williamr@2
  3175
enum TFloatingPointRoundingMode
williamr@2
  3176
	{
williamr@2
  3177
	/**
williamr@2
  3178
	Round to the nearest value. This is the default.
williamr@2
  3179
	*/
williamr@2
  3180
	EFpRoundToNearest=0,
williamr@2
  3181
williamr@2
  3182
	/**
williamr@2
  3183
	Round toward positive infinity.
williamr@2
  3184
	*/
williamr@2
  3185
	EFpRoundToPlusInfinity=1,
williamr@2
  3186
williamr@2
  3187
	/**
williamr@2
  3188
	Round toward negative infinity.
williamr@2
  3189
	*/
williamr@2
  3190
	EFpRoundToMinusInfinity=2,
williamr@2
  3191
williamr@2
  3192
	/**
williamr@2
  3193
	Round toward zero.
williamr@2
  3194
	*/
williamr@2
  3195
	EFpRoundToZero=3,
williamr@2
  3196
williamr@2
  3197
	/**
williamr@2
  3198
	@internalComponent
williamr@2
  3199
	*/
williamr@2
  3200
	EFpRoundNumModes=4
williamr@2
  3201
	};
williamr@2
  3202
williamr@2
  3203
williamr@2
  3204
williamr@2
  3205
#include <e32capability.h>
williamr@2
  3206
williamr@4
  3207
#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
williamr@4
  3208
#include <e32const_private.h>
williamr@2
  3209
#endif
williamr@4
  3210
williamr@4
  3211
#endif