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