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