kernel/eka/include/e32const.h
changeset 0 a41df078684a
child 33 0173bcd7697c
equal deleted inserted replaced
-1:000000000000 0:a41df078684a
       
     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 "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-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 #include <e32reg.h>
       
    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 @internalComponent
       
  1676 
       
  1677 Indicates the type of conversion required for FAT filenames
       
  1678 */
       
  1679 enum TFatFilenameConversionType
       
  1680 	{
       
  1681 	/** Undefined conversion scheme; conversion obtained is whatever the
       
  1682 	default policy is for this version of the OS. */
       
  1683 	EFatConversionDefault = 0,
       
  1684 	/** x-fat<nnn>.dll is loaded, where <nnn> is the FAT filename conversion number. */
       
  1685 	EFatConversionNonStandard = 1,
       
  1686 	/** cp<nnn>.dll is loaded, where <nnn> is the FAT filename conversion number. */
       
  1687 	EFatConversionMicrosoftCodePage = 2
       
  1688 	};
       
  1689 
       
  1690 
       
  1691 /**
       
  1692 @publishedAll
       
  1693 @released
       
  1694 
       
  1695 Defines the days of the week.
       
  1696 
       
  1697 The enumerator symbol names correspond with the days of the week,
       
  1698 i.e. EMonday refers to Monday etc.
       
  1699 */
       
  1700 enum TDay
       
  1701 	{
       
  1702 	EMonday,
       
  1703 	ETuesday,
       
  1704 	EWednesday,
       
  1705 	EThursday,
       
  1706 	EFriday,
       
  1707 	ESaturday,
       
  1708 	ESunday
       
  1709 	};
       
  1710 
       
  1711 
       
  1712 
       
  1713 
       
  1714 /**
       
  1715 @publishedAll
       
  1716 @released
       
  1717 
       
  1718 Defines the months of the year.
       
  1719 
       
  1720 The enumerator symbol names correspond with the months of the year,
       
  1721 i.e. EJanuary refers to January etc.
       
  1722 */
       
  1723 enum TMonth
       
  1724 	{
       
  1725 	EJanuary,
       
  1726 	EFebruary,
       
  1727 	EMarch,
       
  1728 	EApril,
       
  1729 	EMay,
       
  1730 	EJune,
       
  1731 	EJuly,
       
  1732 	EAugust,
       
  1733 	ESeptember,
       
  1734 	EOctober,
       
  1735 	ENovember,
       
  1736 	EDecember
       
  1737 	};
       
  1738 
       
  1739 
       
  1740 
       
  1741 
       
  1742 /**
       
  1743 @publishedAll
       
  1744 @released
       
  1745 
       
  1746 Handle ownership flags.
       
  1747 
       
  1748 The flags indicate whether a handle being opened is owned by a process or 
       
  1749 a thread.
       
  1750 
       
  1751 Ownership by a process means that the handle instance can be used by all
       
  1752 threads in the process to access the Kernel side object that the
       
  1753 handle represents.
       
  1754 
       
  1755 Ownership by a thread means that the handle instance can only be used by the 
       
  1756 thread that creates or opens the handle.
       
  1757 
       
  1758 An enumerator of this type is passed to all member functions of RHandleBase, 
       
  1759 and classes derived from RHandleBase, which open a handle.
       
  1760 */
       
  1761 enum TOwnerType {
       
  1762 	             /**
       
  1763 	             Ownership of the handle is to be vested in the process.
       
  1764 	             */
       
  1765                  EOwnerProcess,
       
  1766                  
       
  1767                  /**
       
  1768                  Ownership of the handle is to be vested in the thread.
       
  1769                  */
       
  1770                  EOwnerThread
       
  1771                 };
       
  1772 
       
  1773 
       
  1774 
       
  1775 
       
  1776 const TInt KCreateProtectedObject = (TInt)0x80000000;
       
  1777 
       
  1778 
       
  1779 
       
  1780 
       
  1781 
       
  1782 /**
       
  1783 @publishedAll
       
  1784 @released
       
  1785 
       
  1786 Defines process priorities.
       
  1787 
       
  1788 The enumerator values are passed to RProcess::SetPriority().
       
  1789 
       
  1790 The priorities are listed in relative order stating with the lowest.
       
  1791 */
       
  1792 enum TProcessPriority
       
  1793 	{
       
  1794 	EPriorityLow=150,
       
  1795 	EPriorityBackground=250,
       
  1796 	EPriorityForeground=350,
       
  1797 	EPriorityHigh=450,
       
  1798 	EPriorityWindowServer=650,
       
  1799 	EPriorityFileServer=750,
       
  1800 	EPriorityRealTimeServer=850,
       
  1801 	EPrioritySupervisor=950
       
  1802 	};
       
  1803 
       
  1804 
       
  1805 
       
  1806 
       
  1807 /**
       
  1808 @publishedAll
       
  1809 @released
       
  1810 
       
  1811 Defines thread priorities.
       
  1812 
       
  1813 The enumerator values are passed to RThread::SetPriority().
       
  1814 
       
  1815 The relative priorities are listed in order starting with the lowest.
       
  1816 
       
  1817 The absolute thread priorities are listed in order starting with the lowest.
       
  1818 */
       
  1819 enum TThreadPriority
       
  1820 	{
       
  1821 	EPriorityNull=(-30),
       
  1822 	EPriorityMuchLess=(-20),
       
  1823 	EPriorityLess=(-10),
       
  1824 	EPriorityNormal=0,
       
  1825 	EPriorityMore=10,
       
  1826 	EPriorityMuchMore=20,
       
  1827 	EPriorityRealTime=30,
       
  1828 	EPriorityAbsoluteVeryLow=100,
       
  1829 	EPriorityAbsoluteLowNormal=150,
       
  1830 	EPriorityAbsoluteLow=200,
       
  1831 	EPriorityAbsoluteBackgroundNormal=250,
       
  1832 	EPriorityAbsoluteBackground=300,
       
  1833 	EPriorityAbsoluteForegroundNormal=350,
       
  1834 	EPriorityAbsoluteForeground=400,
       
  1835 	EPriorityAbsoluteHighNormal=450,
       
  1836 	EPriorityAbsoluteHigh=500,
       
  1837 	EPriorityAbsoluteRealTime1=810,
       
  1838 	EPriorityAbsoluteRealTime2=820,
       
  1839 	EPriorityAbsoluteRealTime3=830,
       
  1840 	EPriorityAbsoluteRealTime4=840,
       
  1841 	EPriorityAbsoluteRealTime5=850,
       
  1842 	EPriorityAbsoluteRealTime6=860,
       
  1843 	EPriorityAbsoluteRealTime7=870, 
       
  1844 	EPriorityAbsoluteRealTime8=880
       
  1845 	};
       
  1846 
       
  1847 
       
  1848 /**
       
  1849 @publishedAll
       
  1850 @released
       
  1851 
       
  1852 A list of exception types which a thread's exception handler might deal with.
       
  1853 An enumerator of this type is passed to User::IsExceptionHandled()
       
  1854 and User::RaiseException().
       
  1855 
       
  1856 While an exception handler can deal with exceptions as listed in the exception
       
  1857 constants set, a TExcType is simply a type of exception.
       
  1858 For example, EExcIntegerDivideByZero and EExcIntegerOverflow are types
       
  1859 of KExceptionInteger exception.
       
  1860 */
       
  1861 enum TExcType
       
  1862 	{
       
  1863 	EExcGeneral=0, ///<A miscellaneous exception.
       
  1864 	EExcIntegerDivideByZero=1, ///<An attempt was made to divide an integer by zero.
       
  1865 	EExcSingleStep=2, ///<Raised after executing an instruction, when CPU is in single-step mode.
       
  1866 	EExcBreakPoint=3, ///<A break point was hit.
       
  1867 	EExcIntegerOverflow=4, ///<An integer value overflowed.
       
  1868 	EExcBoundsCheck=5, ///<Access to an out of bounds array element was caught.
       
  1869 	EExcInvalidOpCode=6, ///<The CPU reached an invalid instruction.
       
  1870 	EExcDoubleFault=7, ///<A fault occurred while handling a previous exception or interrupt.
       
  1871 	EExcStackFault=8, ///<The thread ran out of stack space.
       
  1872 	EExcAccessViolation=9, ///<The thread attempted to access memory in an unauthorized area.
       
  1873 	EExcPrivInstruction=10, ///<Attempted to execute an instruction in wrong machine mode.
       
  1874 	EExcAlignment=11, ///<The thread tried to read or write non-aligned data.
       
  1875 	EExcPageFault=12, ///<Thread could not access the memory page requested.
       
  1876 	EExcFloatDenormal=13, ///<An operand in a floating point operation was denormal.
       
  1877 	EExcFloatDivideByZero=14, ///<An attempt was made to divide a floating point number by zero.
       
  1878 	EExcFloatInexactResult=15, ///<The result of a floating point operation could not be represented precisely.
       
  1879 	EExcFloatInvalidOperation=16, ///<The result of a floating point operation was an ill-defined quantity.
       
  1880 	EExcFloatOverflow=17, ///<The result of a floating point operation was too large to be represented.
       
  1881 	EExcFloatStackCheck=18, ///<The result of a floating point operation caused the stack to over or underflow.
       
  1882 	EExcFloatUnderflow=19, ///<The result of a floating point operation was too small to be represented.
       
  1883 	EExcAbort=20, ///<This exception is not raised by the Kernel, though it may be raised by a user thread on itself.
       
  1884 	EExcKill=21, ///<This exception is not raised by the Kernel, though it may be raised by a user thread on itself.
       
  1885 	EExcUserInterrupt=22, ///<May be used to indicate a general exception.
       
  1886 	EExcDataAbort=23, ///<The thread has tried to read data from an invalid address.
       
  1887 	EExcCodeAbort=24, ///<The thread has tried to fetch an instruction from an invalid address.
       
  1888 	EExcMaxNumber=25, ///<Do not use.
       
  1889 	EExcInvalidVector=26, ///<Do not use.
       
  1890 	};
       
  1891 
       
  1892 
       
  1893 
       
  1894 /**
       
  1895 @publishedAll
       
  1896 @released
       
  1897 
       
  1898 Identifies how a thread or process has ended.
       
  1899 
       
  1900 While a thread or process is alive, its exit type is always EExitPending.
       
  1901 
       
  1902 Both RThread::ExitType() and RProcess::ExitType() return a TExitType.
       
  1903 
       
  1904 @see RThread::ExitType()
       
  1905 @see RProcess::ExitType()
       
  1906 @see User::Exit()
       
  1907 @see RThread::Kill()
       
  1908 @see RProcess::Kill()
       
  1909 */
       
  1910 enum TExitType {
       
  1911                /**
       
  1912                The thread or process has ended under normal conditions, i.e. as a result of either:
       
  1913                1. The thread or process running to completion.
       
  1914                2. User::Exit() being invoked.
       
  1915                3. RThread::Kill() or RProcess::Kill() being invoked on the RThread or RProcess handle, respectively.
       
  1916 			   */
       
  1917                EExitKill,
       
  1918                 
       
  1919                /**
       
  1920                The thread or process has ended as a result of a terminate,
       
  1921                i.e. Terminate() has been called on the RThread or RProcess handle.
       
  1922                */
       
  1923                EExitTerminate,
       
  1924 
       
  1925                /**
       
  1926                The thread or process has been panicked.
       
  1927                */
       
  1928                EExitPanic,
       
  1929 
       
  1930                /**
       
  1931                The thread or process is alive.
       
  1932                */
       
  1933                EExitPending
       
  1934                };
       
  1935 
       
  1936 
       
  1937 
       
  1938 
       
  1939 /**
       
  1940 @publishedAll
       
  1941 @released
       
  1942 
       
  1943 An enumeration whose enumerators govern the alignment of data which is copied 
       
  1944 or formatted into a descriptor.
       
  1945 
       
  1946 @see TDes8::Justify()
       
  1947 @see TDes8::AppendJustify()
       
  1948 @see TDes16::Justify()
       
  1949 @see TDes16::AppendJustify()
       
  1950 */
       
  1951 enum TAlign {
       
  1952             /**
       
  1953             Data is left aligned
       
  1954             */
       
  1955             ELeft,
       
  1956             /**
       
  1957             Data is centered
       
  1958             */            
       
  1959             ECenter,
       
  1960             /**
       
  1961             Data is right aligned
       
  1962             */            
       
  1963             ERight
       
  1964             };
       
  1965 
       
  1966 
       
  1967 
       
  1968 
       
  1969 /**
       
  1970 @publishedAll
       
  1971 @released
       
  1972 
       
  1973 A mask for the set of flags that govern the general format
       
  1974 of the character representation of a real number.
       
  1975 
       
  1976 These are the flags with symbols starting KRealFormat...
       
  1977 */
       
  1978 const TInt KRealFormatTypesMask=0x00000007;
       
  1979 
       
  1980 
       
  1981 
       
  1982 
       
  1983 /**
       
  1984 @publishedAll
       
  1985 @released
       
  1986 
       
  1987 Defines the general format of the character representation of a real number.
       
  1988 The TRealFormat::iType data member is set to one of these.
       
  1989 
       
  1990 The real number is converted to fixed format which has the general pattern:
       
  1991 "nnn.ddd", where nnn is the integer portion and ddd is the decimal portion.
       
  1992 A negative value is prefixed by a minus sign.
       
  1993 
       
  1994 The number of decimal places generated is defined by the value of
       
  1995 TRealFormat::iPlaces. Trailing zeroes are generated as required.
       
  1996 If necessary, the decimal portion is rounded to fit the specification.
       
  1997 If this value is zero, no decimal point and no decimal portion is generated.
       
  1998 
       
  1999 Triad separation is available,
       
  2000 defined by TRealFormat::iTriad and TRealFormat::iTriLen.
       
  2001 
       
  2002 Note that a zero value is converted either to the form "0.000..." with
       
  2003 iPlaces '0' characters after the decimal point, if iPlaces is greater than
       
  2004 zero, or to "0" if iPlaces is zero.
       
  2005 
       
  2006 @see TRealFormat
       
  2007 */
       
  2008 const TInt KRealFormatFixed=1;
       
  2009 
       
  2010 
       
  2011 
       
  2012 
       
  2013 /**
       
  2014 @publishedAll
       
  2015 @released
       
  2016 
       
  2017 Defines the general format of the character representation of a real number.
       
  2018 The TRealFormat::iType data member is set to one of these.
       
  2019 
       
  2020 The real number is converted to scientific format with one non-zero digit
       
  2021 before the decimal point and a number of digits after the decimal point.
       
  2022 Hence the number has the general pattern:
       
  2023 "n.dddE+ee" or "n.dddE-ee", or "n.dddE+eee" or "n.dddE-eee".
       
  2024 
       
  2025 The decimal portion is followed by the character 'E', a sign ('+' or '-')
       
  2026 and the exponent as two digits, including leading zeroes, if necessary.
       
  2027 If necessary, the decimal portion is rounded. 
       
  2028 
       
  2029 A negative value is prefixed by a minus sign.
       
  2030 
       
  2031 If the flag KUseSigFigs is not set, TRealFormat::iPlaces defines the number
       
  2032 of digits which follow the decimal point. If the flag KUseSigFigs is set,
       
  2033 iPlaces defines the maximum number of significant digits to be generated.
       
  2034 
       
  2035 Note that, by default, exponents are limited to two digits.
       
  2036 Those numbers that require three digits must have the flag
       
  2037 KAllowThreeDigitExp set. If iPlaces is zero, the value is rounded to one digit
       
  2038 of precision and no decimal point is included.
       
  2039 
       
  2040 Triad separation is not available.
       
  2041 
       
  2042 Note that a zero value is converted either to the form "0.000...E+00" with
       
  2043 iPlaces '0' characters after the decimal point, if iPlaces is greater than
       
  2044 zero, or to "0E+00" if iPlaces is zero.
       
  2045 
       
  2046 @see TRealFormat
       
  2047 */
       
  2048 const TInt KRealFormatExponent=2;
       
  2049 
       
  2050 
       
  2051 
       
  2052 
       
  2053 /**
       
  2054 @publishedAll
       
  2055 @released
       
  2056 
       
  2057 Defines the general format of the character representation of a real number.
       
  2058 The TRealFormat::iType data member is set to one of these.
       
  2059 
       
  2060 The real number is converted either to fixed or scientific format.
       
  2061 The format chosen is the one which can present the greater number of
       
  2062 significant digits. Where both formats can present the same number of
       
  2063 significant digits, fixed format is used.
       
  2064 
       
  2065 The number of decimal places generated depends only on the value of
       
  2066 TRealFormat::iWidth; the value of the iPlaces member is ignored.
       
  2067 
       
  2068 Trailing zeroes in the decimal portion are discarded.
       
  2069 
       
  2070 Triad separation is not available.
       
  2071 
       
  2072 Note that a zero value is converted to "0".
       
  2073 
       
  2074 @see TRealFormat
       
  2075 */
       
  2076 const TInt KRealFormatGeneral=3;
       
  2077 
       
  2078 
       
  2079 
       
  2080 
       
  2081 /**
       
  2082 @publishedAll
       
  2083 @released
       
  2084 
       
  2085 Defines the general format of the character representation of a real number.
       
  2086 The TRealFormat::iType data member is set to one of these.
       
  2087 
       
  2088 The same as KRealFormatFixed but the TRealFormat::iPlaces is interpreted as
       
  2089 specifying the maximum number of significant digits.
       
  2090 
       
  2091 Trailing zeroes in the decimal portion are discarded.
       
  2092 
       
  2093 @see TRealFormat
       
  2094 */
       
  2095 const TInt KRealFormatNoExponent=4;
       
  2096 
       
  2097 
       
  2098 
       
  2099 
       
  2100 /**
       
  2101 @publishedAll
       
  2102 @released
       
  2103 
       
  2104 Defines the general format of the character representation of a real number.
       
  2105 The TRealFormat::iType data member is set to one of these.
       
  2106 
       
  2107 The same as KRealFormatGeneral but TRealFormat::iPlaces is interpreted as
       
  2108 specifying the maximum number of significant digits, and the number is
       
  2109 displayed without an exponent whenever possible.
       
  2110 
       
  2111 Trailing zeroes in the decimal portion are discarded.
       
  2112 
       
  2113 @see TRealFormat
       
  2114 */
       
  2115 const TInt KRealFormatCalculator=5;
       
  2116 
       
  2117 
       
  2118 
       
  2119 
       
  2120 // Extra flags ORed in with the previous types
       
  2121 
       
  2122 
       
  2123 /**
       
  2124 @publishedAll
       
  2125 @released
       
  2126 
       
  2127 A bitmask for all flags except those with symbols starting KRealFormat...
       
  2128 */
       
  2129 const TInt KRealFormatTypeFlagsMask=0x7E000000;
       
  2130 
       
  2131 
       
  2132 
       
  2133 
       
  2134 /**
       
  2135 @publishedAll
       
  2136 @released
       
  2137 
       
  2138 A flag that modifies the format of the character representation of a real
       
  2139 number.
       
  2140 
       
  2141 It reduces the effective width by one character. This forces a large enough
       
  2142 value for TRealFormat::iWidth to be chosen to guarantee that positive and
       
  2143 negative numbers can be shown to the same precision.
       
  2144 
       
  2145 It applies when TRealFormat::iType is set to KRealFormatFixed
       
  2146 or KRealFormatGeneral, and should be ORed into TRealFormat::iType after one of
       
  2147 these types has been set.
       
  2148 */
       
  2149 const TInt KExtraSpaceForSign=0x40000000;
       
  2150 
       
  2151 
       
  2152 
       
  2153 /**
       
  2154 @publishedAll
       
  2155 @released
       
  2156 
       
  2157 A flag that modifies the format of the character representation of a real
       
  2158 number.
       
  2159 
       
  2160 It allows an exponent to be formatted whose magnitude is greater than 100.
       
  2161 If this flag is not set, an attempt to format such a number fails.
       
  2162 
       
  2163 If set, three digit exponents are allowed. If not set, only two digit
       
  2164 exponents are allowed.
       
  2165 
       
  2166 Applies when TRealFormat::iType is set to KRealFormatExponent
       
  2167 or KRealFormatGeneral, and should be ORed into TRealFormat::iType after one of
       
  2168 these types has been set.
       
  2169 */
       
  2170 const TInt KAllowThreeDigitExp=0x20000000;
       
  2171 
       
  2172 
       
  2173 
       
  2174 
       
  2175 /**
       
  2176 @publishedAll
       
  2177 @released
       
  2178 
       
  2179 A flag that modifies the format of the character representation of a real
       
  2180 number.
       
  2181 
       
  2182 If set, the TRealFormat::iPlaces member is interpreted as the maximum number
       
  2183 of significant digits to be generated.
       
  2184 
       
  2185 Applies when TRealFormat::iType is set to KRealFormatExponent, and should be
       
  2186 ORed into TRealFormat::iType after this type has been set.
       
  2187 */
       
  2188 const TInt KUseSigFigs=0x10000000;
       
  2189 
       
  2190 
       
  2191 
       
  2192 
       
  2193 /**
       
  2194 @publishedAll
       
  2195 @released
       
  2196 
       
  2197 A flag that modifies the format of the character representation of a real
       
  2198 number.
       
  2199 
       
  2200 It disables triad separation.
       
  2201 
       
  2202 Applies when TRealFormat::iType is set to KRealFormatFixed
       
  2203 or KRealFormatNoExponent, and should be ORed into TRealFormat::iType after one of
       
  2204 these types has been set.
       
  2205 */
       
  2206 const TInt KDoNotUseTriads=0x08000000;
       
  2207 
       
  2208 
       
  2209 
       
  2210 
       
  2211 /**
       
  2212 @publishedAll
       
  2213 @released
       
  2214 
       
  2215 A flag that modifies the format of the character representation of a real
       
  2216 number.
       
  2217 
       
  2218 If set, this flag limits the precision to KPrecisionLimit digits.
       
  2219 If not set, the precision defaults to KMaxPrecision digits.
       
  2220 
       
  2221 This flag should be ORed into TRealFormat::iType.
       
  2222 */
       
  2223 const TInt KGeneralLimit=0x04000000;
       
  2224 
       
  2225 
       
  2226 
       
  2227 
       
  2228 /**
       
  2229 @publishedAll
       
  2230 @released
       
  2231 
       
  2232 A flag that modifies the format of the character representation of a real
       
  2233 number.
       
  2234 
       
  2235 If set, this flag allows enough digits of precision such that the mapping from
       
  2236 numeric to string form is injective. For a TReal (=double) input argument
       
  2237 this means KIEEEDoubleInjectivePrecision digits.
       
  2238 This flag overrides the KGeneralLimit flag if both are set.
       
  2239 
       
  2240 This flag should be ORed into TRealFormat::iType.
       
  2241 */
       
  2242 const TInt KRealInjectiveLimit=0x02000000;
       
  2243 
       
  2244 
       
  2245 
       
  2246 
       
  2247 /**
       
  2248 @publishedAll
       
  2249 @released
       
  2250 
       
  2251 A value, which when passed to the new operator, indicates that the operation
       
  2252 is to leave if insufficient memory available.
       
  2253 */
       
  2254 enum TLeave {ELeave};
       
  2255 
       
  2256 
       
  2257 
       
  2258 
       
  2259 /**
       
  2260 @publishedAll
       
  2261 @released
       
  2262 
       
  2263 Defines the way in which the first week in a year is determined.
       
  2264 */
       
  2265 enum TFirstWeekRule {
       
  2266                     /**
       
  2267                     The first week in the year is always the week containing
       
  2268                     the first day of the year.
       
  2269                     */
       
  2270                     EFirstWeek,
       
  2271                     /**
       
  2272                     If at least four days of the new year occur during the week
       
  2273                     containing the first day then this is the first week in the
       
  2274                     year. Otherwise the first week in the year is the following
       
  2275                     week. This is the default and complies with the
       
  2276                     international standard.
       
  2277                     */
       
  2278                     EFirstFourDayWeek,
       
  2279                     /**
       
  2280                     The first week in the year is the first week of which all
       
  2281                     seven days occur within the new year.
       
  2282                     */
       
  2283                     EFirstFullWeek
       
  2284                     };
       
  2285 
       
  2286 
       
  2287 
       
  2288 
       
  2289 /**
       
  2290 @publishedAll
       
  2291 @released
       
  2292 
       
  2293 Timer lock specifications.
       
  2294 
       
  2295 They are used by CTimer::Lock() to define the fraction of a second in which 
       
  2296 to call its RunL() function.
       
  2297 
       
  2298 @see CTimer
       
  2299 */
       
  2300 enum TTimerLockSpec
       
  2301 	{
       
  2302 	/** Timer tick is at 1/12 past the second. */
       
  2303 	EOneOClock,
       
  2304 
       
  2305 	/** Timer tick is at 2/12 past the second */
       
  2306 	ETwoOClock,
       
  2307 
       
  2308 	/** Timer tick is at 3/12 past the second */
       
  2309 	EThreeOClock,
       
  2310 
       
  2311 	/** Timer tick is at 4/12 past the second */
       
  2312 	EFourOClock,
       
  2313 
       
  2314 	/** Timer tick is at 5/12 past the second */
       
  2315 	EFiveOClock,
       
  2316 
       
  2317 	/** Timer tick is at 6/12 past the second */
       
  2318 	ESixOClock,
       
  2319 
       
  2320 	/** Timer tick is at 7/12 past the second */
       
  2321 	ESevenOClock,
       
  2322 
       
  2323 	/** Timer tick is at 8/12 past the second */
       
  2324 	EEightOClock,
       
  2325 
       
  2326 	/** Timer tick is at 9/12 past the second */
       
  2327 	ENineOClock,
       
  2328 
       
  2329 	/** Timer tick is at 10/12 past the second */
       
  2330 	ETenOClock,
       
  2331 
       
  2332 	/** Timer tick is at 11/12 past the second */
       
  2333 	EElevenOClock,
       
  2334 
       
  2335 	/** Timer tick is on the second */
       
  2336 	ETwelveOClock
       
  2337 	};
       
  2338 
       
  2339 
       
  2340 
       
  2341 
       
  2342 /**
       
  2343 @publishedAll
       
  2344 @released
       
  2345 
       
  2346 Defines the possible environment changes which may be reported by
       
  2347 a change notifier through the RChangeNotifier interface.
       
  2348 
       
  2349 Each enumerator corresponds to a distinct type of event.
       
  2350 
       
  2351 The changes are reported through a TRequestStatus object when a request to
       
  2352 the change notifier completes. As each enumerator value represents
       
  2353 a separate bit, any combination of events can be reported.
       
  2354 
       
  2355 @see RChangeNotifier
       
  2356 @see TRequestStatus
       
  2357 @see TLocale
       
  2358 */
       
  2359 enum TChanges
       
  2360 	{
       
  2361 	/**
       
  2362 	The system locale has changed.
       
  2363 
       
  2364     Typically this event occurs as a result of a call to TLocale::Set().
       
  2365 	*/
       
  2366 	EChangesLocale=0x01,
       
  2367 
       
  2368 	
       
  2369 	/**
       
  2370 	The system time has passed midnight.
       
  2371 	*/
       
  2372 	EChangesMidnightCrossover=0x02,
       
  2373 	
       
  2374 	
       
  2375 	/**
       
  2376 	A thread has died.
       
  2377 	
       
  2378 	This event is reported when any thread in the system dies.
       
  2379     */
       
  2380 	EChangesThreadDeath=0x04,
       
  2381 	
       
  2382 	
       
  2383 	/**
       
  2384 	The status of the power supply has changed.
       
  2385 	*/
       
  2386 	EChangesPowerStatus=0x08,
       
  2387 
       
  2388 
       
  2389 	/**
       
  2390 	The system time has changed.
       
  2391 	*/
       
  2392 	EChangesSystemTime=0x10,
       
  2393 	
       
  2394 
       
  2395 	/**
       
  2396 	The free memory level has crossed a specified threshold value.
       
  2397 	
       
  2398 	On systems that support data paging, this is also generated where the available swap space
       
  2399 	crosses one of the specified threshold values.
       
  2400 	*/
       
  2401 	EChangesFreeMemory=0x20,
       
  2402 
       
  2403 	
       
  2404 	/**
       
  2405 	A memory allocation has failed due to insufficient free memory.
       
  2406 	*/
       
  2407 	EChangesOutOfMemory=0x40,
       
  2408 	
       
  2409 
       
  2410 	/**
       
  2411 	The free memory level has fallen below the low-memory threshold
       
  2412 	@see UserSvr::SetMemoryThresholds()
       
  2413 	*/
       
  2414 	EChangesLowMemory=0x80,
       
  2415 
       
  2416 	/**
       
  2417 	On systems that support data paging, this is generated where the thrashing level crosses one of
       
  2418 	the specified threshold values.
       
  2419 	*/
       
  2420 	EChangesThrashLevel=0x100,
       
  2421 
       
  2422 	/**********************************************************************************
       
  2423 	**  IF YOU ADD A NEW VALUE HERE, YOU NEED TO UPDATE DChangeNotifier CONSTRUCTOR  **
       
  2424 	**********************************************************************************/
       
  2425 	};
       
  2426 
       
  2427 
       
  2428 
       
  2429 
       
  2430 /**
       
  2431 @publishedAll
       
  2432 @released
       
  2433 
       
  2434 Defines a pointer to a thread function which takes a pointer of
       
  2435 type TAny and returns a TInt.
       
  2436 
       
  2437 A function of this type is passed as parameter to RThread::Create()
       
  2438 when creating a thread. Control passes to this function when the thread
       
  2439 is first scheduled for execution.
       
  2440 
       
  2441 @see RThread
       
  2442 */
       
  2443 typedef TInt (*TThreadFunction)(TAny*);
       
  2444 
       
  2445 
       
  2446 
       
  2447 
       
  2448 /**
       
  2449 @publishedAll
       
  2450 @released
       
  2451 
       
  2452 Defines a function that takes no arguments but returns a TInt.
       
  2453 
       
  2454 This is a type which is returned from a call to RLibrary::Lookup().
       
  2455 
       
  2456 @see RLibrary
       
  2457 */
       
  2458 typedef TInt (*TLibraryFunction)();
       
  2459 
       
  2460 
       
  2461 
       
  2462 
       
  2463 /**
       
  2464 @publishedAll
       
  2465 @released
       
  2466 
       
  2467 Defines a function that takes a single argument of type TInt and returns a TInt.
       
  2468 
       
  2469 This is a type which is returned from a call to RLibrary::EntryPoint().
       
  2470 
       
  2471 @see RLibrary
       
  2472 */
       
  2473 typedef TInt (*TLibraryEntry)(TInt);
       
  2474 
       
  2475 
       
  2476 
       
  2477 /**
       
  2478 @publishedAll
       
  2479 @released
       
  2480 
       
  2481 Defines an exception handler function which takes a TExcType as an argument,
       
  2482 and returns void.
       
  2483 
       
  2484 A function of this type is an exception handler used by member functions
       
  2485 of a thread handle, RThread.
       
  2486 
       
  2487 @see RThread
       
  2488 @see TExcType
       
  2489 */
       
  2490 typedef void (*TExceptionHandler)(TExcType);
       
  2491 
       
  2492 
       
  2493 
       
  2494 
       
  2495 // masking constants
       
  2496 
       
  2497 /**
       
  2498 @publishedAll
       
  2499 @released
       
  2500 
       
  2501 One of a set of flags that categorizes exceptions - associated with
       
  2502 the abort exception only.
       
  2503 
       
  2504 @see RThread::SetExceptionHandler()
       
  2505 @see RThread::ModifyExceptionMask()
       
  2506 */
       
  2507 const TUint KExceptionAbort=0x01;
       
  2508 
       
  2509 
       
  2510 
       
  2511 
       
  2512 /**
       
  2513 @publishedAll
       
  2514 @released
       
  2515 
       
  2516 One of a set of flags that categorizes exceptions - associated with
       
  2517 the kill exception only.
       
  2518 
       
  2519 @see RThread::SetExceptionHandler()
       
  2520 @see RThread::ModifyExceptionMask()
       
  2521 */
       
  2522 const TUint KExceptionKill=0x02;
       
  2523 
       
  2524 
       
  2525 
       
  2526 
       
  2527 /**
       
  2528 @publishedAll
       
  2529 @released
       
  2530 
       
  2531 One of a set of flags that categorizes exceptions - general
       
  2532 and user exceptions.
       
  2533 
       
  2534 @see RThread::SetExceptionHandler()
       
  2535 @see RThread::ModifyExceptionMask()
       
  2536 */
       
  2537 const TUint KExceptionUserInterrupt=0x04;
       
  2538 
       
  2539 
       
  2540 
       
  2541 
       
  2542 /**
       
  2543 @publishedAll
       
  2544 @released
       
  2545 
       
  2546 One of a set of flags that categorizes exceptions - exceptions caused
       
  2547 by illegal floating point operations. This exception is not guaranteed
       
  2548 to be raised when a hardware floating point implementation is in use.
       
  2549 
       
  2550 @see RThread::SetExceptionHandler()
       
  2551 @see RThread::ModifyExceptionMask()
       
  2552 */
       
  2553 const TUint KExceptionFpe=0x08;
       
  2554 
       
  2555 
       
  2556 
       
  2557 
       
  2558 /**
       
  2559 @publishedAll
       
  2560 @released
       
  2561 
       
  2562 One of a set of flags that categorizes exceptions - exceptions associated
       
  2563 with executing instructions; includes protection faults,
       
  2564 illegal instruction codes, page faults etc
       
  2565 
       
  2566 @see RThread::SetExceptionHandler()
       
  2567 @see RThread::ModifyExceptionMask()
       
  2568 */
       
  2569 const TUint KExceptionFault=0x10;
       
  2570 
       
  2571 
       
  2572 
       
  2573 
       
  2574 /**
       
  2575 @publishedAll
       
  2576 @released
       
  2577 
       
  2578 One of a set of flags that categorizes exceptions - exceptions caused
       
  2579 by illegal operations on integer values.
       
  2580 */
       
  2581 const TUint KExceptionInteger=0x20;
       
  2582 
       
  2583 
       
  2584 
       
  2585 
       
  2586 /**
       
  2587 @publishedAll
       
  2588 @released
       
  2589 
       
  2590 One of a set of flags that categorizes exceptions - exceptions raised
       
  2591 when debugging code.
       
  2592 
       
  2593 @see RThread::SetExceptionHandler()
       
  2594 @see RThread::ModifyExceptionMask()
       
  2595 */
       
  2596 const TUint KExceptionDebug=0x40;
       
  2597 
       
  2598 
       
  2599 
       
  2600 
       
  2601 /**
       
  2602 @publishedAll
       
  2603 @released
       
  2604 
       
  2605 Aligns the specified value on the boundary defined by __Size.
       
  2606 This is usually 4 for byte alignment or 2 for double-byte alignment.
       
  2607 
       
  2608 @param s The value to be aligned.
       
  2609 */
       
  2610 #define __Align(s) ((((s)+__Size-1)/__Size)*__Size)
       
  2611 
       
  2612 
       
  2613 
       
  2614 
       
  2615 /**
       
  2616 @publishedAll
       
  2617 @released
       
  2618 
       
  2619 Defines the type of environment data passed to a process
       
  2620 when that process is created.
       
  2621 
       
  2622 The data can be either a handle or just binary data.
       
  2623 */
       
  2624 enum TProcessParameterType
       
  2625 	{
       
  2626 	EHandle=1,
       
  2627 	EBinaryData=2,
       
  2628 	};
       
  2629 
       
  2630 
       
  2631 
       
  2632 
       
  2633 // bitwise constants
       
  2634 
       
  2635 /**
       
  2636 @publishedAll
       
  2637 @released
       
  2638 
       
  2639 Constant that defines the specified bit value.
       
  2640 */
       
  2641 const TUint32 KBit0= 0x00000001;
       
  2642 
       
  2643 
       
  2644 
       
  2645 
       
  2646 /**
       
  2647 @publishedAll
       
  2648 @released
       
  2649 
       
  2650 Constant that defines the specified bit value.
       
  2651 */
       
  2652 const TUint32 KBit1= 0x00000002;
       
  2653 
       
  2654 
       
  2655 
       
  2656 
       
  2657 /**
       
  2658 @publishedAll
       
  2659 @released
       
  2660 
       
  2661 Constant that defines the specified bit value.
       
  2662 */
       
  2663 const TUint32 KBit2= 0x00000004;
       
  2664 
       
  2665 
       
  2666 
       
  2667 
       
  2668 /**
       
  2669 @publishedAll
       
  2670 @released
       
  2671 
       
  2672 Constant that defines the specified bit value.
       
  2673 */
       
  2674 const TUint32 KBit3= 0x00000008;
       
  2675 
       
  2676 
       
  2677 
       
  2678 
       
  2679 /**
       
  2680 @publishedAll
       
  2681 @released
       
  2682 
       
  2683 Constant that defines the specified bit value.
       
  2684 */
       
  2685 const TUint32 KBit4= 0x00000010;
       
  2686 
       
  2687 
       
  2688 
       
  2689 
       
  2690 /**
       
  2691 @publishedAll
       
  2692 @released
       
  2693 
       
  2694 Constant that defines the specified bit value.
       
  2695 */
       
  2696 const TUint32 KBit5= 0x00000020;
       
  2697 
       
  2698 
       
  2699 
       
  2700 
       
  2701 /**
       
  2702 @publishedAll
       
  2703 @released
       
  2704 
       
  2705 Constant that defines the specified bit value.
       
  2706 */
       
  2707 const TUint32 KBit6= 0x00000040;
       
  2708 
       
  2709 
       
  2710 
       
  2711 
       
  2712 /**
       
  2713 @publishedAll
       
  2714 @released
       
  2715 
       
  2716 Constant that defines the specified bit value.
       
  2717 */
       
  2718 const TUint32 KBit7= 0x00000080;
       
  2719 
       
  2720 
       
  2721 
       
  2722 
       
  2723 /**
       
  2724 @publishedAll
       
  2725 @released
       
  2726 
       
  2727 Constant that defines the specified bit value.
       
  2728 */
       
  2729 const TUint32 KBit8= 0x00000100;
       
  2730 
       
  2731 
       
  2732 
       
  2733 
       
  2734 /**
       
  2735 @publishedAll
       
  2736 @released
       
  2737 
       
  2738 Constant that defines the specified bit value.
       
  2739 */
       
  2740 const TUint32 KBit9= 0x00000200;
       
  2741 
       
  2742 
       
  2743 
       
  2744 
       
  2745 /**
       
  2746 @publishedAll
       
  2747 @released
       
  2748 
       
  2749 Constant that defines the specified bit value.
       
  2750 */
       
  2751 const TUint32 KBit10=0x00000400;
       
  2752 
       
  2753 
       
  2754 
       
  2755 
       
  2756 /**
       
  2757 @publishedAll
       
  2758 @released
       
  2759 
       
  2760 Constant that defines the specified bit value.
       
  2761 */
       
  2762 const TUint32 KBit11=0x00000800;
       
  2763 
       
  2764 
       
  2765 
       
  2766 
       
  2767 /**
       
  2768 @publishedAll
       
  2769 @released
       
  2770 
       
  2771 Constant that defines the specified bit value.
       
  2772 */
       
  2773 const TUint32 KBit12=0x00001000;
       
  2774 
       
  2775 
       
  2776 
       
  2777 
       
  2778 /**
       
  2779 @publishedAll
       
  2780 @released
       
  2781 
       
  2782 Constant that defines the specified bit value.
       
  2783 */
       
  2784 const TUint32 KBit13=0x00002000;
       
  2785 
       
  2786 
       
  2787 
       
  2788 
       
  2789 /**
       
  2790 @publishedAll
       
  2791 @released
       
  2792 
       
  2793 Constant that defines the specified bit value.
       
  2794 */
       
  2795 const TUint32 KBit14=0x00004000;
       
  2796 
       
  2797 
       
  2798 
       
  2799 
       
  2800 /**
       
  2801 @publishedAll
       
  2802 @released
       
  2803 
       
  2804 Constant that defines the specified bit value.
       
  2805 */
       
  2806 const TUint32 KBit15=0x00008000;
       
  2807 
       
  2808 
       
  2809 
       
  2810 
       
  2811 /**
       
  2812 @publishedAll
       
  2813 @released
       
  2814 
       
  2815 Constant that defines the specified bit value.
       
  2816 */
       
  2817 const TUint32 KBit16=0x00010000;
       
  2818 
       
  2819 
       
  2820 
       
  2821 
       
  2822 /**
       
  2823 @publishedAll
       
  2824 @released
       
  2825 
       
  2826 Constant that defines the specified bit value.
       
  2827 */
       
  2828 const TUint32 KBit17=0x00020000;
       
  2829 
       
  2830 
       
  2831 
       
  2832 
       
  2833 /**
       
  2834 @publishedAll
       
  2835 @released
       
  2836 
       
  2837 Constant that defines the specified bit value.
       
  2838 */
       
  2839 const TUint32 KBit18=0x00040000;
       
  2840 
       
  2841 
       
  2842 
       
  2843 
       
  2844 /**
       
  2845 @publishedAll
       
  2846 @released
       
  2847 
       
  2848 Constant that defines the specified bit value.
       
  2849 */
       
  2850 const TUint32 KBit19=0x00080000;
       
  2851 
       
  2852 
       
  2853 
       
  2854 
       
  2855 /**
       
  2856 @publishedAll
       
  2857 @released
       
  2858 
       
  2859 Constant that defines the specified bit value.
       
  2860 */
       
  2861 const TUint32 KBit20=0x00100000;
       
  2862 
       
  2863 
       
  2864 
       
  2865 
       
  2866 /**
       
  2867 @publishedAll
       
  2868 @released
       
  2869 
       
  2870 Constant that defines the specified bit value.
       
  2871 */
       
  2872 const TUint32 KBit21=0x00200000;
       
  2873 
       
  2874 
       
  2875 
       
  2876 
       
  2877 /**
       
  2878 @publishedAll
       
  2879 @released
       
  2880 
       
  2881 Constant that defines the specified bit value.
       
  2882 */
       
  2883 const TUint32 KBit22=0x00400000;
       
  2884 
       
  2885 
       
  2886 
       
  2887 
       
  2888 /**
       
  2889 @publishedAll
       
  2890 @released
       
  2891 
       
  2892 Constant that defines the specified bit value.
       
  2893 */
       
  2894 const TUint32 KBit23=0x00800000;
       
  2895 
       
  2896 
       
  2897 
       
  2898 
       
  2899 /**
       
  2900 @publishedAll
       
  2901 @released
       
  2902 
       
  2903 Constant that defines the specified bit value.
       
  2904 */
       
  2905 const TUint32 KBit24=0x01000000;
       
  2906 
       
  2907 
       
  2908 
       
  2909 
       
  2910 /**
       
  2911 @publishedAll
       
  2912 @released
       
  2913 
       
  2914 Constant that defines the specified bit value.
       
  2915 */
       
  2916 const TUint32 KBit25=0x02000000;
       
  2917 
       
  2918 
       
  2919 
       
  2920 
       
  2921 /**
       
  2922 @publishedAll
       
  2923 @released
       
  2924 
       
  2925 Constant that defines the specified bit value.
       
  2926 */
       
  2927 const TUint32 KBit26=0x04000000;
       
  2928 
       
  2929 
       
  2930 
       
  2931 
       
  2932 /**
       
  2933 @publishedAll
       
  2934 @released
       
  2935 
       
  2936 Constant that defines the specified bit value.
       
  2937 */
       
  2938 const TUint32 KBit27=0x08000000;
       
  2939 
       
  2940 
       
  2941 
       
  2942 
       
  2943 /**
       
  2944 @publishedAll
       
  2945 @released
       
  2946 
       
  2947 Constant that defines the specified bit value.
       
  2948 */
       
  2949 const TUint32 KBit28=0x10000000;
       
  2950 
       
  2951 
       
  2952 
       
  2953 
       
  2954 /**
       
  2955 @publishedAll
       
  2956 @released
       
  2957 
       
  2958 Constant that defines the specified bit value.
       
  2959 */
       
  2960 const TUint32 KBit29=0x20000000;
       
  2961 
       
  2962 
       
  2963 
       
  2964 
       
  2965 /**
       
  2966 @publishedAll
       
  2967 @released
       
  2968 
       
  2969 Constant that defines the specified bit value.
       
  2970 */
       
  2971 const TUint32 KBit30=0x40000000;
       
  2972 
       
  2973 
       
  2974 
       
  2975 
       
  2976 /**
       
  2977 @publishedAll
       
  2978 @released
       
  2979 
       
  2980 Constant that defines the specified bit value.
       
  2981 */
       
  2982 const TUint32 KBit31=0x80000000;
       
  2983 
       
  2984 
       
  2985 
       
  2986 
       
  2987 /**
       
  2988 @publishedAll
       
  2989 @released
       
  2990 
       
  2991 Constant that defines the specified bit value.
       
  2992 
       
  2993 This is often used as a bit mask.
       
  2994 */
       
  2995 const TUint32 KSet32=0xffffffff;
       
  2996 
       
  2997 
       
  2998 
       
  2999 
       
  3000 /**
       
  3001 @publishedAll
       
  3002 @released
       
  3003 
       
  3004 
       
  3005 Constant that defines the specified bit value.
       
  3006 
       
  3007 This is often used as a bit mask.
       
  3008 */
       
  3009 const TUint32 KClear32=0x00000000;
       
  3010   
       
  3011   
       
  3012   
       
  3013 
       
  3014 /**
       
  3015 @publishedAll
       
  3016 @released
       
  3017 
       
  3018 Constant that defines the specified  value.
       
  3019 */
       
  3020 const TInt KKilo=1024;
       
  3021 
       
  3022 
       
  3023 
       
  3024 
       
  3025 /**
       
  3026 @publishedAll
       
  3027 @released
       
  3028 
       
  3029 Constant that defines the specified  value.
       
  3030 */
       
  3031 const TInt KMega=1024*1024;
       
  3032 
       
  3033 
       
  3034 
       
  3035 
       
  3036 /**
       
  3037 @publishedAll
       
  3038 @released
       
  3039 
       
  3040 Client/Server Session types.
       
  3041 */
       
  3042 enum TIpcSessionType
       
  3043 	{
       
  3044 	// These values are used at session creation time to describe the extent to which
       
  3045 	// the new session may be shared.
       
  3046 	//
       
  3047 	// They are *also* used at server creation time, to specify the *maximum* degree
       
  3048 	// of session sharability that the server supports. Thus, if a server instance was
       
  3049 	// created with mode EIpcSession_Sharable, you can open Sharable or Unsharable
       
  3050 	// sessions with it, but not globally sharable ones.
       
  3051 	EIpcSession_Unsharable					= 0x00000000,
       
  3052 	EIpcSession_Sharable					= 0x00000001,	// sharable within one process
       
  3053 	EIpcSession_GlobalSharable				= 0x00000002	// sharable across processes
       
  3054 	};
       
  3055 
       
  3056 enum TIpcServerRole
       
  3057 	{
       
  3058 	EServerRole_Default = 0,								// No role specified; treated as Standalone
       
  3059 	EServerRole_Standalone,									// Explicitly neither Master nor Slave
       
  3060 	EServerRole_Master,										// Master: may transfer sessions to a Slave
       
  3061 	EServerRole_Slave										// Slave: accepts sessions from the Master
       
  3062 	};
       
  3063 
       
  3064 enum TIpcServerOpts
       
  3065 	{
       
  3066 	// The first few bits specify whether memory referred to by descriptors
       
  3067 	// passed from the client to the server should automatically be pinned
       
  3068 	// All other bits are reserved for future expansion ...
       
  3069 	EServerOpt_PinClientDescriptorsDefault	= 0x00000000,	/**<@internalComponent*/
       
  3070 	EServerOpt_PinClientDescriptorsEnable 	= 0x00000004,	/**<@internalComponent*/
       
  3071 	EServerOpt_PinClientDescriptorsDisable	= 0x00000008,	/**<@internalComponent*/
       
  3072 	EServerOpt_PinClientDescriptorsMask		= 0x0000000c	/**<@internalComponent*/
       
  3073 	};
       
  3074 
       
  3075 
       
  3076 
       
  3077 
       
  3078 /**
       
  3079 @publishedAll
       
  3080 @released
       
  3081 */
       
  3082 const TInt KNullDebugPort=-2;
       
  3083 
       
  3084 
       
  3085 /**
       
  3086 A constant which represents a thread ID which will never be assigned to a thread.
       
  3087 I.e. The following statement is always true; RThread::Id()!=KNullThreadId
       
  3088 @publishedAll
       
  3089 @released
       
  3090 @see TThreadId
       
  3091 */
       
  3092 const TUint KNullThreadId = 0xffffffffu;
       
  3093 
       
  3094 
       
  3095 
       
  3096 /**
       
  3097 A constant which represents a process ID which will never be assigned to a process.
       
  3098 I.e. The following statement is always true; RProcess::Id()!=KNullProcessId
       
  3099 @publishedAll
       
  3100 @released
       
  3101 @see TProcessId
       
  3102 */
       
  3103 const TUint KNullProcessId = 0xffffffffu;
       
  3104 
       
  3105 
       
  3106 
       
  3107 /**
       
  3108 @publishedAll
       
  3109 @released
       
  3110 
       
  3111 Hardware floating point types.
       
  3112 */
       
  3113 enum TFloatingPointType
       
  3114 	{
       
  3115 	/** No hardware floating point. */
       
  3116 	EFpTypeNone=0,
       
  3117 	/** ARM VFPv2 */
       
  3118 	EFpTypeVFPv2=1,
       
  3119 	/** ARM VFPv3 */
       
  3120 	EFpTypeVFPv3=2,
       
  3121 	/** ARM VFPv3-D16 (VFP only, no NEON) */
       
  3122 	EFpTypeVFPv3D16=3,
       
  3123 	};
       
  3124 
       
  3125 
       
  3126 
       
  3127 /**
       
  3128 @publishedAll
       
  3129 @released
       
  3130 
       
  3131 Hardware floating point execution modes.
       
  3132 */
       
  3133 enum TFloatingPointMode
       
  3134 	{
       
  3135 	/**
       
  3136 	Run in the fastest mode available - results of calculations may not be
       
  3137 	exactly as the IEEE standard in some cases. On ARM VFPv2 hardware this
       
  3138 	corresponds to RunFast mode.
       
  3139 	*/
       
  3140 	EFpModeRunFast=0,
       
  3141 
       
  3142 	/**
       
  3143 	Perform all calculations as specified in the IEEE standard, but do not
       
  3144 	generate floating point exceptions. This is compatible with the Java
       
  3145 	floating point model. This is the default.
       
  3146 	*/
       
  3147 	EFpModeIEEENoExceptions=1
       
  3148 	};
       
  3149 
       
  3150 
       
  3151 
       
  3152 
       
  3153 /**
       
  3154 @publishedAll
       
  3155 @released
       
  3156 
       
  3157 Hardware floating point rounding modes.
       
  3158 */
       
  3159 enum TFloatingPointRoundingMode
       
  3160 	{
       
  3161 	/**
       
  3162 	Round to the nearest value. This is the default.
       
  3163 	*/
       
  3164 	EFpRoundToNearest=0,
       
  3165 
       
  3166 	/**
       
  3167 	Round toward positive infinity.
       
  3168 	*/
       
  3169 	EFpRoundToPlusInfinity=1,
       
  3170 
       
  3171 	/**
       
  3172 	Round toward negative infinity.
       
  3173 	*/
       
  3174 	EFpRoundToMinusInfinity=2,
       
  3175 
       
  3176 	/**
       
  3177 	Round toward zero.
       
  3178 	*/
       
  3179 	EFpRoundToZero=3,
       
  3180 
       
  3181 	/**
       
  3182 	@internalComponent
       
  3183 	*/
       
  3184 	EFpRoundNumModes=4
       
  3185 	};
       
  3186 
       
  3187 
       
  3188 
       
  3189 #include <e32capability.h>
       
  3190 
       
  3191 #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
       
  3192 #include <e32const_private.h>
       
  3193 #endif
       
  3194 
       
  3195 #endif