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