1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/kernelhwsrv/kernel/eka/include/e32const.h Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,3211 @@
1.4 +// Copyright (c) 1994-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 +// All rights reserved.
1.6 +// This component and the accompanying materials are made available
1.7 +// under the terms of the License "Eclipse Public License v1.0"
1.8 +// which accompanies this distribution, and is available
1.9 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.10 +//
1.11 +// Initial Contributors:
1.12 +// Nokia Corporation - initial contribution.
1.13 +//
1.14 +// Contributors:
1.15 +//
1.16 +// Description:
1.17 +// e32\include\e32const.h
1.18 +//
1.19 +//
1.20 +
1.21 +#ifndef __E32CONST_H__
1.22 +#define __E32CONST_H__
1.23 +
1.24 +#include <e32err.h>
1.25 +#include <e32lang.h>
1.26 +#include <e32reg.h>
1.27 +
1.28 +
1.29 +/**
1.30 +@publishedAll
1.31 +@released
1.32 +
1.33 +The default width value used when appending and justifying data
1.34 +in a descriptor.
1.35 +
1.36 +@see TDes16::AppendJustify()
1.37 +@see TDes16::Justify()
1.38 +@see TDes8::AppendJustify()
1.39 +@see TDes8::Justify()
1.40 +*/
1.41 +const TInt KDefaultJustifyWidth=(-1);
1.42 +
1.43 +
1.44 +
1.45 +/**
1.46 +@publishedAll
1.47 +@released
1.48 +
1.49 +Defines the number of TUids that form a TUidType.
1.50 +
1.51 +@see TUid
1.52 +@see TUidType
1.53 +*/
1.54 +const TInt KMaxCheckedUid=3;
1.55 +
1.56 +
1.57 +/**
1.58 +@publishedAll
1.59 +@released
1.60 +
1.61 +Defines the number of 32-bit debug trace mask words.
1.62 +
1.63 +*/
1.64 +const TInt KNumTraceMaskWords = 8;
1.65 +
1.66 +
1.67 +/**
1.68 +@publishedAll
1.69 +@released
1.70 +
1.71 +Defines the maximum length for the text form of a UID name.
1.72 +
1.73 +@see TUidName
1.74 +@see TUid::Name()
1.75 +*/
1.76 +const TInt KMaxUidName=10;
1.77 +
1.78 +
1.79 +
1.80 +
1.81 +/**
1.82 +@publishedAll
1.83 +@released
1.84 +
1.85 +Defines the maximum length of a module name.
1.86 +*/
1.87 +const TInt KMaxModuleVersionName=10;
1.88 +
1.89 +
1.90 +
1.91 +
1.92 +/**
1.93 +@publishedAll
1.94 +@released
1.95 +
1.96 +Defines the maximum length of the name of a reference counted object.
1.97 +
1.98 +@see TName
1.99 +*/
1.100 +const TInt KMaxName=0x80;
1.101 +
1.102 +
1.103 +
1.104 +
1.105 +/**
1.106 +@publishedAll
1.107 +@released
1.108 +
1.109 +Defines the maximum length of the name of a reference counted kernel-side object.
1.110 +*/
1.111 +const TInt KMaxKernelName=0x50;
1.112 +
1.113 +
1.114 +
1.115 +
1.116 +/**
1.117 +@publishedAll
1.118 +@released
1.119 +
1.120 +Defines the maximum size of a process name.
1.121 +*/
1.122 +const TInt KMaxProcessName=(KMaxKernelName-KMaxUidName-KMaxModuleVersionName-4);
1.123 +
1.124 +
1.125 +
1.126 +
1.127 +/**
1.128 +@publishedAll
1.129 +@released
1.130 +
1.131 +Defines the maximum size of a library name.
1.132 +*/
1.133 +const TInt KMaxLibraryName=(KMaxKernelName-KMaxUidName-KMaxModuleVersionName);
1.134 +
1.135 +
1.136 +
1.137 +
1.138 +/**
1.139 +@publishedAll
1.140 +@released
1.141 +
1.142 +Defines the maximum length of a TInfoName object.
1.143 +*/
1.144 +const TInt KMaxInfoName=0x10;
1.145 +
1.146 +
1.147 +
1.148 +
1.149 +/**
1.150 +@publishedAll
1.151 +@released
1.152 +
1.153 +Defines the maximum length of the full name of a reference counted object.
1.154 +
1.155 +@see TFullName
1.156 +*/
1.157 +const TInt KMaxFullName=(KMaxName<<1);
1.158 +
1.159 +
1.160 +
1.161 +
1.162 +/**
1.163 +@publishedAll
1.164 +@released
1.165 +
1.166 +The maximum length for a password buffer.
1.167 +
1.168 +@see TPassword
1.169 +*/
1.170 +const TInt KMaxPassword=0x10;
1.171 +
1.172 +
1.173 +
1.174 +
1.175 +/**
1.176 +@publishedAll
1.177 +@released
1.178 +
1.179 +The maximum length of a category name.
1.180 +
1.181 +@see TExitCategoryName
1.182 +*/
1.183 +const TInt KMaxExitCategoryName=0x10;
1.184 +
1.185 +
1.186 +
1.187 +
1.188 +/**
1.189 +@publishedAll
1.190 +@released
1.191 +
1.192 +The maximum length of the full text name for a day of the week.
1.193 +
1.194 +@see TDayName
1.195 +*/
1.196 +const TInt KMaxDayName=0x20;
1.197 +
1.198 +
1.199 +
1.200 +
1.201 +/**
1.202 +@publishedAll
1.203 +@released
1.204 +
1.205 +The maximum length of the abbreviated text name for a day of the week.
1.206 +
1.207 +@see TDayNameAbb
1.208 +*/
1.209 +const TInt KMaxDayNameAbb=0x08;
1.210 +
1.211 +
1.212 +
1.213 +
1.214 +/**
1.215 +@publishedAll
1.216 +@released
1.217 +
1.218 +Defines the maximum size of arrays or data structures required
1.219 +to hold the names of the days of the week.
1.220 +*/
1.221 +const TInt KMaxDays=7;
1.222 +
1.223 +
1.224 +
1.225 +
1.226 +/**
1.227 +@publishedAll
1.228 +@released
1.229 +
1.230 +The maximum length of the full text name for a month.
1.231 +
1.232 +@see TDayName
1.233 +*/
1.234 +const TInt KMaxMonthName=0x20;
1.235 +
1.236 +
1.237 +
1.238 +
1.239 +/**
1.240 +@publishedAll
1.241 +@released
1.242 +
1.243 +The maximum length of the abbreviated text name for a month.
1.244 +
1.245 +@see TMonthNameAbb
1.246 +*/
1.247 +const TInt KMaxMonthNameAbb=0x08;
1.248 +
1.249 +
1.250 +
1.251 +
1.252 +/**
1.253 +@publishedAll
1.254 +@released
1.255 +
1.256 +Defines the maximum size of arrays or data structures required
1.257 +to hold the names of the months of the year.
1.258 +*/
1.259 +const TInt KMaxMonths=12;
1.260 +
1.261 +
1.262 +
1.263 +
1.264 +/**
1.265 +@publishedAll
1.266 +@released
1.267 +
1.268 +The maximum length of the text for a date suffix.
1.269 +
1.270 +@see TDateSuffix
1.271 +*/
1.272 +const TInt KMaxSuffix=0x04;
1.273 +
1.274 +
1.275 +
1.276 +
1.277 +/**
1.278 +@publishedAll
1.279 +@released
1.280 +
1.281 +Defines the maximum size of arrays and data structures required
1.282 +to hold date suffix strings.
1.283 +*/
1.284 +const TInt KMaxSuffixes=31;
1.285 +
1.286 +
1.287 +
1.288 +
1.289 +/**
1.290 +@publishedAll
1.291 +@released
1.292 +
1.293 +The maximum length of the text for AM and PM.
1.294 +
1.295 +@see TAmPmName
1.296 +*/
1.297 +const TInt KMaxAmPmName=0x04;
1.298 +
1.299 +
1.300 +
1.301 +
1.302 +/**
1.303 +@publishedAll
1.304 +@released
1.305 +
1.306 +Defines the maximum size of arrays and data structures required
1.307 +to hold am/pm strings.
1.308 +*/
1.309 +const TInt KMaxAmPms=2;
1.310 +
1.311 +
1.312 +
1.313 +
1.314 +/**
1.315 +@publishedAll
1.316 +@released
1.317 +
1.318 +Defines the maximum number of date separator characters in a date string.
1.319 +*/
1.320 +const TInt KMaxDateSeparators=4;
1.321 +
1.322 +
1.323 +
1.324 +
1.325 +/**
1.326 +@publishedAll
1.327 +@released
1.328 +
1.329 +Defines the maximum number of time separator characters in a time string.
1.330 +*/
1.331 +const TInt KMaxTimeSeparators=4;
1.332 +
1.333 +
1.334 +
1.335 +
1.336 +/**
1.337 +@publishedAll
1.338 +@released
1.339 +
1.340 +Defines the maximum size of data structures to hold the translate tables
1.341 +for Western European alphabetic conversions.
1.342 +*/
1.343 +const TInt KMaxTranslateTable=0x100;
1.344 +
1.345 +
1.346 +
1.347 +
1.348 +/**
1.349 +@publishedAll
1.350 +@released
1.351 +
1.352 +The maximum length of the text for a currency symbol.
1.353 +
1.354 +@see TCurrencySymbol
1.355 +*/
1.356 +const TInt KMaxCurrencySymbol=0x08;
1.357 +
1.358 +
1.359 +
1.360 +
1.361 +/**
1.362 +@publishedAll
1.363 +@released
1.364 +
1.365 +The maximum length of the short date format specification text.
1.366 +
1.367 +@see TShortDateFormatSpec
1.368 +*/
1.369 +const TInt KMaxShortDateFormatSpec=40;
1.370 +
1.371 +
1.372 +
1.373 +
1.374 +/**
1.375 +@publishedAll
1.376 +@released
1.377 +
1.378 +The maximum length of the short date format specification text.
1.379 +
1.380 +@see TLongDateFormatSpec
1.381 +*/
1.382 +const TInt KMaxLongDateFormatSpec=80;
1.383 +
1.384 +
1.385 +
1.386 +
1.387 +/**
1.388 +@publishedAll
1.389 +@released
1.390 +
1.391 +The maximum length of the time string formatting commands.
1.392 +
1.393 +@see TTimeFormatSpec
1.394 +*/
1.395 +const TInt KMaxTimeFormatSpec=60;
1.396 +
1.397 +
1.398 +
1.399 +
1.400 +/**
1.401 +@publishedAll
1.402 +@released
1.403 +
1.404 +Defines the maximum length of a filename.
1.405 +*/
1.406 +const TInt KMaxFileName=0x100;
1.407 +
1.408 +
1.409 +
1.410 +
1.411 +/**
1.412 +@publishedAll
1.413 +@released
1.414 +
1.415 +The maximum length of the character representation of version information.
1.416 +
1.417 +@see TVersion::Name()
1.418 +*/
1.419 +const TInt KMaxVersionName=0x10;
1.420 +
1.421 +
1.422 +
1.423 +
1.424 +/**
1.425 +@publishedAll
1.426 +@released
1.427 +
1.428 +Defines the maximum length of a path.
1.429 +
1.430 +@see TPath
1.431 +*/
1.432 +const TInt KMaxPath=0x100;
1.433 +
1.434 +
1.435 +
1.436 +
1.437 +/**
1.438 +@publishedAll
1.439 +@released
1.440 +
1.441 +Defines the maximum length of a TDeviceInfo object.
1.442 +
1.443 +@see TDeviceInfo
1.444 +*/
1.445 +const TInt KMaxDeviceInfo=0x80;
1.446 +
1.447 +
1.448 +
1.449 +
1.450 +/**
1.451 +@publishedAll
1.452 +@released
1.453 +
1.454 +The maximum size of the password required to unlock a media drive.
1.455 +*/
1.456 +const TInt KMaxMediaPassword=16;
1.457 +
1.458 +
1.459 +
1.460 +
1.461 +/**
1.462 +@publishedAll
1.463 +@released
1.464 +
1.465 +Defines the minimum size of a new heap.
1.466 +
1.467 +Functions that require a new heap to be allocated will either panic,
1.468 +or will reset the required heap size to this value if a smaller heap
1.469 +size is specified.
1.470 +
1.471 +@see UserHeap
1.472 +@see RThread::Create()
1.473 +*/
1.474 +const TInt KMinHeapSize=0x100;
1.475 +
1.476 +
1.477 +
1.478 +
1.479 +/**
1.480 +@publishedAll
1.481 +@released
1.482 +
1.483 +Not used by Symbian OS.
1.484 +*/
1.485 +const TInt KDstHome=0x01;
1.486 +
1.487 +
1.488 +
1.489 +
1.490 +/**
1.491 +@publishedAll
1.492 +@released
1.493 +
1.494 +Not used by Symbian OS.
1.495 +*/
1.496 +const TInt KDstEuropean=0x02;
1.497 +
1.498 +
1.499 +
1.500 +
1.501 +/**
1.502 +@publishedAll
1.503 +@released
1.504 +
1.505 +Not used by Symbian OS.
1.506 +*/
1.507 +const TInt KDstNorthern=0x04;
1.508 +
1.509 +
1.510 +
1.511 +
1.512 +/**
1.513 +@publishedAll
1.514 +@released
1.515 +
1.516 +Not used by Symbian OS.
1.517 +*/
1.518 +const TInt KDstSouthern=0x08;
1.519 +
1.520 +
1.521 +
1.522 +
1.523 +/**
1.524 +@publishedAll
1.525 +@released
1.526 +
1.527 +A default stack size that can be used when creating threads.
1.528 +*/
1.529 +#ifdef __X86GCC__
1.530 +const TInt KDefaultStackSize=0x4000;
1.531 +#else
1.532 +const TInt KDefaultStackSize=0x2000;
1.533 +#endif // __X86GCC__
1.534 +
1.535 +
1.536 +
1.537 +
1.538 +/**
1.539 +@publishedAll
1.540 +@released
1.541 +
1.542 +Indicates an undefined character, used internally when formatting text.
1.543 +*/
1.544 +const TUint KNoChar=0xffffffffu;
1.545 +
1.546 +
1.547 +
1.548 +
1.549 +/**
1.550 +@publishedAll
1.551 +@released
1.552 +
1.553 +Defines an index value that is interpreted by the TKey class,
1.554 +and derived classes, as having a specific meaning.
1.555 +
1.556 +@see TKey::SetPtr()
1.557 +@see TKey::At()
1.558 +*/
1.559 +const TInt KIndexPtr=(-1);
1.560 +
1.561 +
1.562 +
1.563 +
1.564 +/**
1.565 +@publishedAll
1.566 +@released
1.567 +
1.568 +A flag used by the kernel to mark a handle as not being closable.
1.569 +*/
1.570 +const TInt KHandleNoClose=0x00008000;
1.571 +
1.572 +
1.573 +
1.574 +
1.575 +/**
1.576 +@publishedAll
1.577 +@released
1.578 +
1.579 +A flag used by the kernel to mark a handle as being local.
1.580 +*/
1.581 +const TInt KHandleFlagLocal=0x40000000;
1.582 +
1.583 +
1.584 +
1.585 +
1.586 +/**
1.587 +@publishedAll
1.588 +@released
1.589 +
1.590 +A flag used by the Kernel to indicate the current process.
1.591 +*/
1.592 +const TInt KCurrentProcessHandle=0xffff0000|KHandleNoClose;
1.593 +
1.594 +
1.595 +
1.596 +
1.597 +/**
1.598 +@publishedAll
1.599 +@released
1.600 +
1.601 +A flag used by the Kernel to indicate the current thread.
1.602 +*/
1.603 +const TInt KCurrentThreadHandle=0xffff0001|KHandleNoClose;
1.604 +
1.605 +
1.606 +
1.607 +
1.608 +/**
1.609 +@publishedAll
1.610 +@released
1.611 +
1.612 +Defines a handle number value of zero.
1.613 +
1.614 +@see RHandleBase
1.615 +*/
1.616 +const TInt KNullHandle=0;
1.617 +
1.618 +
1.619 +
1.620 +
1.621 +/**
1.622 +@publishedAll
1.623 +@released
1.624 +
1.625 +Defines a default unit. Not generally used by Symbian OS.
1.626 +*/
1.627 +const TInt KDefaultUnit=0x00;
1.628 +
1.629 +
1.630 +
1.631 +
1.632 +/**
1.633 +@publishedAll
1.634 +@released
1.635 +
1.636 +The device unit that must be passed in a call
1.637 +to RBusLogicalChannel::DoCreate(), if units are not permitted.
1.638 +
1.639 +@see RBusLogicalChannel
1.640 +*/
1.641 +const TInt KNullUnit=0xffffffff;
1.642 +
1.643 +
1.644 +
1.645 +
1.646 +/**
1.647 +@publishedAll
1.648 +@released
1.649 +
1.650 +The maximum unit number that can be passed in a call
1.651 +to RBusLogicalChannel::DoCreate().
1.652 +
1.653 +@see RBusLogicalChannel
1.654 +*/
1.655 +const TInt KMaxUnits=0x20;
1.656 +
1.657 +
1.658 +
1.659 +
1.660 +/**
1.661 +@publishedAll
1.662 +@released
1.663 +
1.664 +Defines the maximum number of message arguments that can be passed
1.665 +across the user side/kernel side boundary.
1.666 +*/
1.667 +const TInt KMaxMessageArguments=0x04;
1.668 +
1.669 +
1.670 +
1.671 +
1.672 +/**
1.673 +@publishedAll
1.674 +@released
1.675 +
1.676 +The default width of the character representation of a real number, used by
1.677 +the default constructor of a TRealFormat object and the formatting functions
1.678 +of descriptors.
1.679 +
1.680 +@see TRealFormat
1.681 +@see TDes16::AppendFormat()
1.682 +@see TDes8::AppendFormat()
1.683 +*/
1.684 +const TInt KDefaultRealWidth=20;
1.685 +
1.686 +
1.687 +
1.688 +
1.689 +/**
1.690 +@publishedAll
1.691 +@released
1.692 +
1.693 +The default value used by UserHeap::ChunkHeap() for defining increments to
1.694 +the size of a chunk, when no explicit value specified by the caller.
1.695 +
1.696 +@see UserHeap::ChunkHeap()
1.697 +*/
1.698 +const TInt KMinHeapGrowBy=0x1000;
1.699 +
1.700 +
1.701 +
1.702 +
1.703 +/**
1.704 +@publishedAll
1.705 +@released
1.706 +
1.707 +Not used by Symbian OS.
1.708 +*/
1.709 +const TInt KMaxExponentConversion=99;
1.710 +
1.711 +
1.712 +
1.713 +
1.714 +/**
1.715 +@publishedAll
1.716 +@released
1.717 +
1.718 +Defines a Null UID value.
1.719 +
1.720 +@see TUid
1.721 +*/
1.722 +const TInt KNullUidValue=0;
1.723 +
1.724 +
1.725 +
1.726 +
1.727 +/**
1.728 +@publishedAll
1.729 +@deprecated
1.730 +
1.731 +The timer granularity used by a CDeltaTimer object is
1.732 +now the tick period and this constant is obsolete.
1.733 +
1.734 +@see CDeltaTimer
1.735 +*/
1.736 +const TInt KDeltaTimerDefaultGranularity=100000;
1.737 +
1.738 +
1.739 +
1.740 +
1.741 +/**
1.742 +@publishedAll
1.743 +@released
1.744 +
1.745 +The largest possible value for a TInt8.
1.746 +*/
1.747 +const TInt KMaxTInt8=0x7f;
1.748 +
1.749 +
1.750 +
1.751 +
1.752 +/**
1.753 +@publishedAll
1.754 +@released
1.755 +
1.756 +The smallest possible value for a TInt8.
1.757 +*/
1.758 +const TInt KMinTInt8=(-128);
1.759 +
1.760 +
1.761 +
1.762 +
1.763 +/**
1.764 +@publishedAll
1.765 +@released
1.766 +
1.767 +The largest possible value for a TUint8.
1.768 +*/
1.769 +const TUint KMaxTUint8=0xffu;
1.770 +
1.771 +
1.772 +
1.773 +
1.774 +/**
1.775 +@publishedAll
1.776 +@released
1.777 +
1.778 +The largest possible value for a TInt16.
1.779 +*/
1.780 +const TInt KMaxTInt16=0x7fff;
1.781 +
1.782 +
1.783 +
1.784 +
1.785 +/**
1.786 +@publishedAll
1.787 +@released
1.788 +
1.789 +The smallest possible value for a TInt16.
1.790 +*/
1.791 +const TInt KMinTInt16=(-32768);
1.792 +
1.793 +
1.794 +
1.795 +
1.796 +/**
1.797 +@publishedAll
1.798 +@released
1.799 +
1.800 +The largest possible value for a TUint16.
1.801 +*/
1.802 +const TUint KMaxTUint16=0xffffu;
1.803 +
1.804 +
1.805 +
1.806 +
1.807 +/**
1.808 +@publishedAll
1.809 +@released
1.810 +
1.811 +The largest possible value for a TInt32.
1.812 +*/
1.813 +const TInt KMaxTInt32=0x7fffffff;
1.814 +
1.815 +
1.816 +
1.817 +
1.818 +/**
1.819 +@publishedAll
1.820 +@released
1.821 +
1.822 +The smallest possible value for a TInt32.
1.823 +*/
1.824 +const TInt KMinTInt32=(TInt)0x80000000;
1.825 +
1.826 +
1.827 +
1.828 +
1.829 +/**
1.830 +@publishedAll
1.831 +@released
1.832 +
1.833 +The largest possible value for a TUint32.
1.834 +*/
1.835 +const TUint KMaxTUint32=0xffffffffu;
1.836 +
1.837 +
1.838 +
1.839 +
1.840 +/**
1.841 +@publishedAll
1.842 +@released
1.843 +
1.844 +The largest possible value for a TInt.
1.845 +*/
1.846 +const TInt KMaxTInt=0x7fffffff;
1.847 +
1.848 +
1.849 +
1.850 +
1.851 +/**
1.852 +@publishedAll
1.853 +@released
1.854 +
1.855 +The smallest possible value for a TInt.
1.856 +*/
1.857 +const TInt KMinTInt=(TInt)0x80000000;
1.858 +
1.859 +
1.860 +
1.861 +
1.862 +/**
1.863 +@publishedAll
1.864 +@released
1.865 +
1.866 +The largest possible value for a TUint.
1.867 +*/
1.868 +const TUint KMaxTUint=0xffffffffu;
1.869 +
1.870 +
1.871 +
1.872 +
1.873 +/**
1.874 +@publishedAll
1.875 +@released
1.876 +
1.877 +The largest possible value for a TInt64.
1.878 +*/
1.879 +const TInt64 KMaxTInt64 = I64LIT(0x7fffffffffffffff);
1.880 +
1.881 +
1.882 +
1.883 +
1.884 +/**
1.885 +@publishedAll
1.886 +@released
1.887 +
1.888 +The smallest possible value for a TInt64.
1.889 +*/
1.890 +const TInt64 KMinTInt64 = UI64LIT(0x8000000000000000);
1.891 +
1.892 +
1.893 +
1.894 +
1.895 +/**
1.896 +@publishedAll
1.897 +@released
1.898 +
1.899 +The largest possible value for a TUint64.
1.900 +*/
1.901 +const TUint64 KMaxTUint64 = UI64LIT(0xffffffffffffffff);
1.902 +
1.903 +
1.904 +
1.905 +
1.906 +/**
1.907 +@publishedAll
1.908 +@released
1.909 +
1.910 +Defines the character *, and represents any number of characters in any
1.911 +part of a path component, filename or extension.
1.912 +
1.913 +It is used in a TParse file specification.
1.914 +
1.915 +@see TParse
1.916 +*/
1.917 +const TUint KMatchAny='*';
1.918 +
1.919 +
1.920 +
1.921 +
1.922 +/**
1.923 +@publishedAll
1.924 +@released
1.925 +
1.926 +Defines the character ?, and represents a single character in
1.927 +a path component, filename or extension.
1.928 +
1.929 +It is used in a TParse file specification.
1.930 +
1.931 +@see TParse
1.932 +*/
1.933 +const TUint KMatchOne='?';
1.934 +
1.935 +
1.936 +
1.937 +
1.938 +/**
1.939 +@publishedAll
1.940 +@released
1.941 +
1.942 +Defines the maximum number of local drives.
1.943 +*/
1.944 +const TInt KMaxLocalDrives=16;
1.945 +
1.946 +
1.947 +
1.948 +
1.949 +/**
1.950 +@publishedAll
1.951 +@released
1.952 +
1.953 +Defines the maximum number of peripheral bus sockets.
1.954 +*/
1.955 +const TInt KMaxPBusSockets=4;
1.956 +
1.957 +
1.958 +
1.959 +
1.960 +/**
1.961 +@publishedAll
1.962 +@released
1.963 +
1.964 +Not used by Symbian OS.
1.965 +*/
1.966 +const TInt KNoCallEntryPoint = 0x01;
1.967 +
1.968 +
1.969 +
1.970 +
1.971 +/**
1.972 +@publishedAll
1.973 +@released
1.974 +
1.975 +The value to which CActive::iStatus is set by an active object's
1.976 +service provider before the service provider initiates an asynchronous request.
1.977 +
1.978 +@see CActive
1.979 +*/
1.980 +const TInt KRequestPending=(-KMaxTInt);
1.981 +
1.982 +
1.983 +
1.984 +
1.985 +// Drive capabilities
1.986 +
1.987 +/**
1.988 +@publishedAll
1.989 +@released
1.990 +
1.991 +Defines the possible media types.
1.992 +*/
1.993 +enum TMediaType
1.994 + {
1.995 + EMediaNotPresent,
1.996 +
1.997 + EMediaUnknown,
1.998 +
1.999 + EMediaFloppy,
1.1000 +
1.1001 + /** Solid-state media. */
1.1002 + EMediaHardDisk,
1.1003 +
1.1004 + EMediaCdRom,
1.1005 +
1.1006 + EMediaRam,
1.1007 +
1.1008 + EMediaFlash,
1.1009 +
1.1010 + EMediaRom,
1.1011 +
1.1012 + EMediaRemote,
1.1013 +
1.1014 + EMediaNANDFlash,
1.1015 +
1.1016 + /** Rotating media. */
1.1017 + EMediaRotatingMedia
1.1018 + };
1.1019 +
1.1020 +
1.1021 +
1.1022 +
1.1023 +/**
1.1024 +@publishedAll
1.1025 +@released
1.1026 +
1.1027 +Defines the state of a battery, if supported.
1.1028 +*/
1.1029 +enum TBatteryState {EBatNotSupported,EBatGood,EBatLow};
1.1030 +
1.1031 +
1.1032 +/**
1.1033 +@publishedAll
1.1034 +@released
1.1035 +
1.1036 +Defines the possible connection types used to interface to the media.
1.1037 +*/
1.1038 +enum TConnectionBusType {EConnectionBusInternal, EConnectionBusUsb};
1.1039 +
1.1040 +
1.1041 +/**
1.1042 +@publishedAll
1.1043 +@released
1.1044 +
1.1045 +Drive attribute - drive is local.
1.1046 +*/
1.1047 +const TUint KDriveAttLocal=0x01;
1.1048 +
1.1049 +
1.1050 +
1.1051 +
1.1052 +/**
1.1053 +@publishedAll
1.1054 +@released
1.1055 +
1.1056 +Drive attribute - ROM drive.
1.1057 +*/
1.1058 +const TUint KDriveAttRom=0x02;
1.1059 +
1.1060 +
1.1061 +
1.1062 +
1.1063 +/**
1.1064 +@publishedAll
1.1065 +@released
1.1066 +
1.1067 +Drive attribute - output from a process on one drive is redirected
1.1068 +to another drive.
1.1069 +*/
1.1070 +const TUint KDriveAttRedirected=0x04;
1.1071 +
1.1072 +
1.1073 +
1.1074 +
1.1075 +/**
1.1076 +@publishedAll
1.1077 +@released
1.1078 +
1.1079 +Drive attribute - drive letter has been substituted (assigned a path).
1.1080 +*/
1.1081 +const TUint KDriveAttSubsted=0x08;
1.1082 +
1.1083 +
1.1084 +
1.1085 +
1.1086 +/**
1.1087 +@publishedAll
1.1088 +@released
1.1089 +
1.1090 +Drive attribute - drive is internal (not removable).
1.1091 +*/
1.1092 +const TUint KDriveAttInternal=0x10;
1.1093 +
1.1094 +
1.1095 +
1.1096 +
1.1097 +/**
1.1098 +@publishedAll
1.1099 +@released
1.1100 +
1.1101 +Drive attribute - drive is removable.
1.1102 +*/
1.1103 +const TUint KDriveAttRemovable=0x20;
1.1104 +
1.1105 +
1.1106 +
1.1107 +
1.1108 +/**
1.1109 +@publishedAll
1.1110 +@released
1.1111 +
1.1112 +Drive attribute - drive is remote.
1.1113 +*/
1.1114 +const TUint KDriveAttRemote=0x40;
1.1115 +
1.1116 +
1.1117 +
1.1118 +
1.1119 +/**
1.1120 +@publishedAll
1.1121 +@released
1.1122 +
1.1123 +Drive attribute -.
1.1124 +*/
1.1125 +const TUint KDriveAttTransaction=0x80;
1.1126 +
1.1127 +
1.1128 +/**
1.1129 +@publishedAll
1.1130 +@released
1.1131 +
1.1132 +Drive attribute - drive is used for paging.
1.1133 +*/
1.1134 +const TUint KDriveAttPageable=0x100;
1.1135 +
1.1136 +
1.1137 +
1.1138 +/**
1.1139 +@publishedAll
1.1140 +@released
1.1141 +
1.1142 +Drive attribute - drive is logically removable (can be taken offline from Symbian OS).
1.1143 +If not logically removable then physically removable e.g. a card can be take out.
1.1144 +*/
1.1145 +const TUint KDriveAttLogicallyRemovable=0x200;
1.1146 +
1.1147 +
1.1148 +/**
1.1149 +@publishedAll
1.1150 +@released
1.1151 +
1.1152 +Drive attribute - drive is hidden.
1.1153 +A drive which has its hidden attribute set would be excluded from the list of available drives.
1.1154 +*/
1.1155 +const TUint KDriveAttHidden=0x400;
1.1156 +
1.1157 +
1.1158 +/**
1.1159 +@publishedAll
1.1160 +@released
1.1161 +
1.1162 +Drive attribute - drive is external.
1.1163 +*/
1.1164 +const TUint KDriveAttExternal=0x800;
1.1165 +
1.1166 +
1.1167 +/**
1.1168 +@publishedAll
1.1169 +@released
1.1170 +
1.1171 +Drive attribute - It can be set in a search in order to instruct that all drives should be returned.
1.1172 +*/
1.1173 +const TUint KDriveAttAll=0x100000;
1.1174 +
1.1175 +
1.1176 +/**
1.1177 +@publishedAll
1.1178 +@released
1.1179 +
1.1180 +Drive attribute - It can be set in combination with other drive attributes in order to exclude during a drive search, drives with
1.1181 +these attributes set.
1.1182 +*/
1.1183 +const TUint KDriveAttExclude=0x40000;
1.1184 +
1.1185 +
1.1186 +
1.1187 +/**
1.1188 +@publishedAll
1.1189 +@released
1.1190 +
1.1191 +Drive attribute - It can be set in combination with other drive attributes in order to search and return exclusively drives with these attributes set.
1.1192 +*/
1.1193 +const TUint KDriveAttExclusive=0x80000;
1.1194 +
1.1195 +
1.1196 +
1.1197 +/**
1.1198 +@internalTechnology
1.1199 +
1.1200 +Used as a mask in order to extract the actual drive attributes.
1.1201 +
1.1202 +*/
1.1203 +const TUint KDriveAttMatchedFlags=0xFFF;
1.1204 +
1.1205 +
1.1206 +
1.1207 +/**
1.1208 +@internalTechnology
1.1209 +
1.1210 +Used as a mask in order to extract the extra(ex KDriveAttAll ,KDriveAttExclude, KDriveAttExclusive ,0) drive attributes.
1.1211 +*/
1.1212 +const TUint KDriveAttMatchedAtt=0x0FFF0000;
1.1213 +
1.1214 +
1.1215 +
1.1216 +
1.1217 +/**
1.1218 +@publishedAll
1.1219 +@released
1.1220 +
1.1221 +Media attribute - the media capacity can change over time.
1.1222 +*/
1.1223 +const TUint KMediaAttVariableSize=0x01;
1.1224 +
1.1225 +
1.1226 +
1.1227 +
1.1228 +/**
1.1229 +@publishedAll
1.1230 +@released
1.1231 +
1.1232 +Media attribute - media is dual density.
1.1233 +*/
1.1234 +const TUint KMediaAttDualDensity=0x02;
1.1235 +
1.1236 +
1.1237 +
1.1238 +
1.1239 +/**
1.1240 +@publishedAll
1.1241 +@released
1.1242 +
1.1243 +Media attribute - media is formattable.
1.1244 +*/
1.1245 +const TUint KMediaAttFormattable=0x04;
1.1246 +
1.1247 +
1.1248 +
1.1249 +
1.1250 +/**
1.1251 +@publishedAll
1.1252 +@released
1.1253 +
1.1254 +Media attribute - media is write-protected.
1.1255 +*/
1.1256 +const TUint KMediaAttWriteProtected=0x08;
1.1257 +
1.1258 +
1.1259 +
1.1260 +
1.1261 +/**
1.1262 +@publishedAll
1.1263 +@released
1.1264 +
1.1265 +Media attribute - media is lockable; this is provided for
1.1266 +lockable multi-media cards
1.1267 +*/
1.1268 +const TUint KMediaAttLockable=0x10;
1.1269 +
1.1270 +
1.1271 +
1.1272 +
1.1273 +/**
1.1274 +@publishedAll
1.1275 +@released
1.1276 +
1.1277 +Media attribute - media is locked; this is provided for
1.1278 +lockable multi-media cards
1.1279 +*/
1.1280 +const TUint KMediaAttLocked=0x20;
1.1281 +
1.1282 +
1.1283 +
1.1284 +/**
1.1285 +@publishedAll
1.1286 +@released
1.1287 +
1.1288 +Media attribute - media has password.
1.1289 +*/
1.1290 +const TUint KMediaAttHasPassword=0x40;
1.1291 +
1.1292 +/**
1.1293 +@publishedAll
1.1294 +@released
1.1295 +*/
1.1296 +const TUint KMediaAttReadWhileWrite=0x80;
1.1297 +
1.1298 +/**
1.1299 +@publishedAll
1.1300 +@released
1.1301 +
1.1302 +Media attribute - media supports TBusLocalDrive::DeleteNotify()
1.1303 +*/
1.1304 +const TUint KMediaAttDeleteNotify=0x100;
1.1305 +
1.1306 +/**
1.1307 +@publishedAll
1.1308 +@released
1.1309 +
1.1310 +Media attribute - media supports paging
1.1311 +*/
1.1312 +const TUint KMediaAttPageable=0x200;
1.1313 +
1.1314 +
1.1315 +
1.1316 +/**
1.1317 +@publishedAll
1.1318 +@released
1.1319 +
1.1320 +Identifies a FAT file system
1.1321 +*/
1.1322 +const TUint KDriveFileSysFAT=0x01;
1.1323 +
1.1324 +
1.1325 +
1.1326 +
1.1327 +/**
1.1328 +@publishedAll
1.1329 +@released
1.1330 +
1.1331 +Identifies a ROM file system.
1.1332 +*/
1.1333 +const TUint KDriveFileSysROM=0x02;
1.1334 +
1.1335 +
1.1336 +
1.1337 +
1.1338 +/**
1.1339 +@publishedAll
1.1340 +@released
1.1341 +
1.1342 +Identifies an LFFS file system.
1.1343 +*/
1.1344 +const TUint KDriveFileSysLFFS=0x03;
1.1345 +
1.1346 +
1.1347 +
1.1348 +
1.1349 +/**
1.1350 +@publishedAll
1.1351 +@released
1.1352 +
1.1353 +Identifies a read-only file system.
1.1354 +*/
1.1355 +const TUint KDriveFileSysROFS=0x04;
1.1356 +
1.1357 +
1.1358 +
1.1359 +
1.1360 +/**
1.1361 +@publishedAll
1.1362 +@released
1.1363 +
1.1364 +Identifies a non-file system. That is a partition without any file system layer.
1.1365 +*/
1.1366 +const TUint KDriveFileNone=0x05;
1.1367 +
1.1368 +
1.1369 +
1.1370 +
1.1371 +/**
1.1372 +@publishedAll
1.1373 +@released
1.1374 +
1.1375 +An enumerator with a single enumeration value that defines the Boolean value
1.1376 +false in Symbian OS.
1.1377 +
1.1378 +@see TBool
1.1379 +*/
1.1380 +enum TFalse {
1.1381 + /**
1.1382 + Defines the value false that is passed to a TBool type.
1.1383 + */
1.1384 + EFalse=FALSE
1.1385 + };
1.1386 +
1.1387 +
1.1388 +
1.1389 +
1.1390 +/**
1.1391 +@publishedAll
1.1392 +@released
1.1393 +
1.1394 +An enumerator with a single enumeration value that defines the Boolean value
1.1395 +true in Symbian OS.
1.1396 +
1.1397 +@see TBool
1.1398 +*/
1.1399 +enum TTrue {
1.1400 + /**
1.1401 + Defines the value true that is passed to a TBool type.
1.1402 + */
1.1403 + ETrue=TRUE
1.1404 + };
1.1405 +
1.1406 +
1.1407 +
1.1408 +
1.1409 +/**
1.1410 +@publishedAll
1.1411 +@released
1.1412 +
1.1413 +Defines flags that can be used to indicate whether duplicates, for example in
1.1414 +a list, are allowed.
1.1415 +*/
1.1416 +enum TAllowDuplicates {
1.1417 + /**
1.1418 + No duplicates allowed.
1.1419 + */
1.1420 + ENoDuplicates,
1.1421 +
1.1422 + /**
1.1423 + Duplicates allowed.
1.1424 + */
1.1425 + EAllowDuplicates
1.1426 + };
1.1427 +
1.1428 +
1.1429 +
1.1430 +
1.1431 +/**
1.1432 +@publishedAll
1.1433 +@released
1.1434 +
1.1435 +An enumeration whose enumerators determine the number system to be used
1.1436 +when converting numbers into a character format.
1.1437 +
1.1438 +@see TDes8::Num()
1.1439 +@see TDes8::NumUC()
1.1440 +@see TDes8::AppendNum()
1.1441 +@see TDes8::AppendNumUC()
1.1442 +@see TDes16::Num()
1.1443 +@see TDes16::NumUC()
1.1444 +@see TDes16::AppendNum()
1.1445 +@see TDes16::AppendNumUC()
1.1446 +*/
1.1447 +enum TRadix {
1.1448 + /**
1.1449 + Convert number into binary character representation.
1.1450 + */
1.1451 + EBinary=2,
1.1452 + /**
1.1453 + Convert number into octal character representation.
1.1454 + */
1.1455 + EOctal=8,
1.1456 + /**
1.1457 + Convert number into decimal character representation.
1.1458 + */
1.1459 + EDecimal=10,
1.1460 + /**
1.1461 + Convert number into hexadecimal character representation.
1.1462 + */
1.1463 + EHex=16
1.1464 + };
1.1465 +
1.1466 +
1.1467 +
1.1468 +
1.1469 +
1.1470 +/**
1.1471 +@publishedAll
1.1472 +@released
1.1473 +
1.1474 +The mask for the dialect bits
1.1475 +*/
1.1476 +const TUint KDialectMask=0x03FF;
1.1477 +
1.1478 +
1.1479 +
1.1480 +
1.1481 +
1.1482 +/**
1.1483 +@publishedAll
1.1484 +@released
1.1485 +
1.1486 +Defines the date formats.
1.1487 +*/
1.1488 +enum TDateFormat {
1.1489 + /**
1.1490 + US format (mm/dd/yyyy)
1.1491 + */
1.1492 + EDateAmerican,
1.1493 +
1.1494 + /**
1.1495 + European format (dd/mm/yyyy)
1.1496 + */
1.1497 + EDateEuropean,
1.1498 +
1.1499 + /**
1.1500 + Japanese format (yyyy/mm/dd)
1.1501 + */
1.1502 + EDateJapanese};
1.1503 +
1.1504 +
1.1505 +
1.1506 +
1.1507 +/**
1.1508 +@publishedAll
1.1509 +@released
1.1510 +
1.1511 +Defines the time formats as either 12 hour or 24 hour.
1.1512 +*/
1.1513 +enum TTimeFormat {
1.1514 + ETime12,
1.1515 + ETime24
1.1516 + };
1.1517 +
1.1518 +
1.1519 +
1.1520 +
1.1521 +/**
1.1522 +@publishedAll
1.1523 +@released
1.1524 +
1.1525 +Defines the clock display formats, as either analog or digital.
1.1526 +*/
1.1527 +enum TClockFormat {
1.1528 + EClockAnalog,
1.1529 + EClockDigital
1.1530 + };
1.1531 +
1.1532 +
1.1533 +
1.1534 +
1.1535 +/**
1.1536 +@publishedAll
1.1537 +@released
1.1538 +
1.1539 +Enumerates the units of measurement as either Imperial or Metric.
1.1540 +*/
1.1541 +enum TUnitsFormat {
1.1542 + EUnitsImperial,
1.1543 + EUnitsMetric
1.1544 + };
1.1545 +
1.1546 +
1.1547 +
1.1548 +
1.1549 +/**
1.1550 +@publishedAll
1.1551 +@released
1.1552 +
1.1553 +Identifies a time as being am or pm.
1.1554 +*/
1.1555 +enum TAmPm {
1.1556 + EAm,
1.1557 + EPm
1.1558 + };
1.1559 +
1.1560 +
1.1561 +
1.1562 +
1.1563 +/**
1.1564 +@publishedAll
1.1565 +@released
1.1566 +
1.1567 +Defines whether:
1.1568 +
1.1569 +1. the currency symbol is located before or after the currency amount.
1.1570 +
1.1571 +2. the am/pm text is located before or after the time.
1.1572 +*/
1.1573 +enum TLocalePos
1.1574 + {
1.1575 + /**
1.1576 + The currency symbol is located before the currency amount.
1.1577 + The am/pm text is located before the time.
1.1578 + */
1.1579 + ELocaleBefore,
1.1580 +
1.1581 + /**
1.1582 + The currency symbol is located after the currency amount.
1.1583 + The am/pm text is located after the time.
1.1584 + */
1.1585 + ELocaleAfter
1.1586 + };
1.1587 +
1.1588 +
1.1589 +
1.1590 +
1.1591 +/**
1.1592 +@publishedAll
1.1593 +@released
1.1594 +
1.1595 +Number Modes available to select.
1.1596 +*/
1.1597 +enum TDigitType
1.1598 + {
1.1599 + EDigitTypeUnknown = 0x0000,
1.1600 + EDigitTypeWestern = 0x0030,
1.1601 + EDigitTypeArabicIndic = 0x0660,
1.1602 + EDigitTypeEasternArabicIndic = 0x6F0,
1.1603 + EDigitTypeDevanagari = 0x0966,
1.1604 + EDigitTypeBengali = 0x09E6,
1.1605 + EDigitTypeGurmukhi = 0x0A66,
1.1606 + EDigitTypeGujarati = 0x0AE6,
1.1607 + EDigitTypeOriya = 0x0B66,
1.1608 + EDigitTypeTamil = 0x0BE6,
1.1609 + EDigitTypeTelugu = 0x0C66,
1.1610 + EDigitTypeKannada = 0x0CE6,
1.1611 + EDigitTypeMalayalam = 0x0D66,
1.1612 + EDigitTypeThai = 0x0E50,
1.1613 + EDigitTypeLao = 0x0ED0,
1.1614 + EDigitTypeTibetan = 0x0F20,
1.1615 + EDigitTypeMayanmar = 0x1040,
1.1616 + EDigitTypeKhmer = 0x17E0,
1.1617 + EDigitTypeAllTypes = 0xFFFF
1.1618 + };
1.1619 +
1.1620 +
1.1621 +
1.1622 +
1.1623 +/**
1.1624 +@publishedAll
1.1625 +@released
1.1626 +
1.1627 +Defines the daylight saving zones.
1.1628 +*/
1.1629 +enum TDaylightSavingZone
1.1630 + {
1.1631 + /**
1.1632 + The home daylight saving zone. Its value is usually the same as that of the
1.1633 + zone in which the home city is located, but may differ. In this case, the
1.1634 + value for home overrides the value of the zone in which home is located.
1.1635 + */
1.1636 + EDstHome=0x40000000,
1.1637 +
1.1638 + /**
1.1639 + No daylight saving zone.
1.1640 + */
1.1641 + EDstNone=0,
1.1642 +
1.1643 + /**
1.1644 + The European daylight saving zone.
1.1645 + */
1.1646 + EDstEuropean=1,
1.1647 +
1.1648 + /**
1.1649 + The Northern hemisphere (non-European) daylight saving zone.
1.1650 + */
1.1651 + EDstNorthern=2,
1.1652 +
1.1653 + /**
1.1654 + Southern hemisphere daylight saving zone.
1.1655 + */
1.1656 + EDstSouthern=4
1.1657 + };
1.1658 +
1.1659 +
1.1660 +
1.1661 +
1.1662 +/**
1.1663 +@internalComponent
1.1664 +
1.1665 +Indicates how negative currency values are formatted.
1.1666 +*/
1.1667 +enum TNegativeCurrencyFormat // must match TLocale:: version, included here so ELOCL.DLL can see it
1.1668 + {
1.1669 + E_NegC_LeadingMinusSign,
1.1670 + 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
1.1671 + E_NegC_InterveningMinusSignWithSpaces,
1.1672 + E_NegC_InterveningMinusSignWithoutSpaces,
1.1673 + E_NegC_TrailingMinusSign
1.1674 + };
1.1675 +
1.1676 +/**
1.1677 +@internalComponent
1.1678 +
1.1679 +
1.1680 +Indicates how the device universal time is maintained
1.1681 +*/
1.1682 +enum TDeviceTimeState // must match TLocale:: version
1.1683 + {
1.1684 + /** Universal time is maintained by the device RTC and the user selection
1.1685 + of the locale of the device indicating offset from GMT and daylight saving*/
1.1686 + EDeviceUserTime,
1.1687 +
1.1688 + /** Universal time and offset from GMT is supplied by the mobile network
1.1689 + and maintained by device RTC */
1.1690 + ENITZNetworkTimeSync
1.1691 + };
1.1692 +
1.1693 +/**
1.1694 +@internalComponent
1.1695 +
1.1696 +Indicates the type of conversion required for FAT filenames
1.1697 +*/
1.1698 +enum TFatFilenameConversionType
1.1699 + {
1.1700 + /** Undefined conversion scheme; conversion obtained is whatever the
1.1701 + default policy is for this version of the OS. */
1.1702 + EFatConversionDefault = 0,
1.1703 + /** x-fat<nnn>.dll is loaded, where <nnn> is the FAT filename conversion number. */
1.1704 + EFatConversionNonStandard = 1,
1.1705 + /** cp<nnn>.dll is loaded, where <nnn> is the FAT filename conversion number. */
1.1706 + EFatConversionMicrosoftCodePage = 2
1.1707 + };
1.1708 +
1.1709 +
1.1710 +/**
1.1711 +@publishedAll
1.1712 +@released
1.1713 +
1.1714 +Defines the days of the week.
1.1715 +
1.1716 +The enumerator symbol names correspond with the days of the week,
1.1717 +i.e. EMonday refers to Monday etc.
1.1718 +*/
1.1719 +enum TDay
1.1720 + {
1.1721 + EMonday,
1.1722 + ETuesday,
1.1723 + EWednesday,
1.1724 + EThursday,
1.1725 + EFriday,
1.1726 + ESaturday,
1.1727 + ESunday
1.1728 + };
1.1729 +
1.1730 +
1.1731 +
1.1732 +
1.1733 +/**
1.1734 +@publishedAll
1.1735 +@released
1.1736 +
1.1737 +Defines the months of the year.
1.1738 +
1.1739 +The enumerator symbol names correspond with the months of the year,
1.1740 +i.e. EJanuary refers to January etc.
1.1741 +*/
1.1742 +enum TMonth
1.1743 + {
1.1744 + EJanuary,
1.1745 + EFebruary,
1.1746 + EMarch,
1.1747 + EApril,
1.1748 + EMay,
1.1749 + EJune,
1.1750 + EJuly,
1.1751 + EAugust,
1.1752 + ESeptember,
1.1753 + EOctober,
1.1754 + ENovember,
1.1755 + EDecember
1.1756 + };
1.1757 +
1.1758 +
1.1759 +
1.1760 +
1.1761 +/**
1.1762 +@publishedAll
1.1763 +@released
1.1764 +
1.1765 +Handle ownership flags.
1.1766 +
1.1767 +The flags indicate whether a handle being opened is owned by a process or
1.1768 +a thread.
1.1769 +
1.1770 +Ownership by a process means that the handle instance can be used by all
1.1771 +threads in the process to access the Kernel side object that the
1.1772 +handle represents.
1.1773 +
1.1774 +Ownership by a thread means that the handle instance can only be used by the
1.1775 +thread that creates or opens the handle.
1.1776 +
1.1777 +An enumerator of this type is passed to all member functions of RHandleBase,
1.1778 +and classes derived from RHandleBase, which open a handle.
1.1779 +*/
1.1780 +enum TOwnerType {
1.1781 + /**
1.1782 + Ownership of the handle is to be vested in the process.
1.1783 + */
1.1784 + EOwnerProcess,
1.1785 +
1.1786 + /**
1.1787 + Ownership of the handle is to be vested in the thread.
1.1788 + */
1.1789 + EOwnerThread
1.1790 + };
1.1791 +
1.1792 +
1.1793 +
1.1794 +
1.1795 +const TInt KCreateProtectedObject = (TInt)0x80000000;
1.1796 +
1.1797 +
1.1798 +
1.1799 +
1.1800 +
1.1801 +/**
1.1802 +@publishedAll
1.1803 +@released
1.1804 +
1.1805 +Defines process priorities.
1.1806 +
1.1807 +The enumerator values are passed to RProcess::SetPriority().
1.1808 +
1.1809 +The priorities are listed in relative order stating with the lowest.
1.1810 +*/
1.1811 +enum TProcessPriority
1.1812 + {
1.1813 + EPriorityLow=150,
1.1814 + EPriorityBackground=250,
1.1815 + EPriorityForeground=350,
1.1816 + EPriorityHigh=450,
1.1817 + EPriorityWindowServer=650,
1.1818 + EPriorityFileServer=750,
1.1819 + EPriorityRealTimeServer=850,
1.1820 + EPrioritySupervisor=950
1.1821 + };
1.1822 +
1.1823 +
1.1824 +
1.1825 +
1.1826 +/**
1.1827 +@publishedAll
1.1828 +@released
1.1829 +
1.1830 +Defines thread priorities.
1.1831 +
1.1832 +The enumerator values are passed to RThread::SetPriority().
1.1833 +
1.1834 +The relative priorities are listed in order starting with the lowest.
1.1835 +
1.1836 +The absolute thread priorities are listed in order starting with the lowest.
1.1837 +*/
1.1838 +enum TThreadPriority
1.1839 + {
1.1840 + EPriorityNull=(-30),
1.1841 + EPriorityMuchLess=(-20),
1.1842 + EPriorityLess=(-10),
1.1843 + EPriorityNormal=0,
1.1844 + EPriorityMore=10,
1.1845 + EPriorityMuchMore=20,
1.1846 + EPriorityRealTime=30,
1.1847 + EPriorityAbsoluteVeryLow=100,
1.1848 + EPriorityAbsoluteLowNormal=150,
1.1849 + EPriorityAbsoluteLow=200,
1.1850 + EPriorityAbsoluteBackgroundNormal=250,
1.1851 + EPriorityAbsoluteBackground=300,
1.1852 + EPriorityAbsoluteForegroundNormal=350,
1.1853 + EPriorityAbsoluteForeground=400,
1.1854 + EPriorityAbsoluteHighNormal=450,
1.1855 + EPriorityAbsoluteHigh=500,
1.1856 + EPriorityAbsoluteRealTime1=810,
1.1857 + EPriorityAbsoluteRealTime2=820,
1.1858 + EPriorityAbsoluteRealTime3=830,
1.1859 + EPriorityAbsoluteRealTime4=840,
1.1860 + EPriorityAbsoluteRealTime5=850,
1.1861 + EPriorityAbsoluteRealTime6=860,
1.1862 + EPriorityAbsoluteRealTime7=870,
1.1863 + EPriorityAbsoluteRealTime8=880
1.1864 + };
1.1865 +
1.1866 +
1.1867 +/**
1.1868 +@publishedAll
1.1869 +@released
1.1870 +
1.1871 +A list of exception types which a thread's exception handler might deal with.
1.1872 +An enumerator of this type is passed to User::IsExceptionHandled()
1.1873 +and User::RaiseException().
1.1874 +
1.1875 +While an exception handler can deal with exceptions as listed in the exception
1.1876 +constants set, a TExcType is simply a type of exception.
1.1877 +For example, EExcIntegerDivideByZero and EExcIntegerOverflow are types
1.1878 +of KExceptionInteger exception.
1.1879 +*/
1.1880 +enum TExcType
1.1881 + {
1.1882 + EExcGeneral=0, ///<A miscellaneous exception.
1.1883 + EExcIntegerDivideByZero=1, ///<An attempt was made to divide an integer by zero.
1.1884 + EExcSingleStep=2, ///<Raised after executing an instruction, when CPU is in single-step mode.
1.1885 + EExcBreakPoint=3, ///<A break point was hit.
1.1886 + EExcIntegerOverflow=4, ///<An integer value overflowed.
1.1887 + EExcBoundsCheck=5, ///<Access to an out of bounds array element was caught.
1.1888 + EExcInvalidOpCode=6, ///<The CPU reached an invalid instruction.
1.1889 + EExcDoubleFault=7, ///<A fault occurred while handling a previous exception or interrupt.
1.1890 + EExcStackFault=8, ///<The thread ran out of stack space.
1.1891 + EExcAccessViolation=9, ///<The thread attempted to access memory in an unauthorized area.
1.1892 + EExcPrivInstruction=10, ///<Attempted to execute an instruction in wrong machine mode.
1.1893 + EExcAlignment=11, ///<The thread tried to read or write non-aligned data.
1.1894 + EExcPageFault=12, ///<Thread could not access the memory page requested.
1.1895 + EExcFloatDenormal=13, ///<An operand in a floating point operation was denormal.
1.1896 + EExcFloatDivideByZero=14, ///<An attempt was made to divide a floating point number by zero.
1.1897 + EExcFloatInexactResult=15, ///<The result of a floating point operation could not be represented precisely.
1.1898 + EExcFloatInvalidOperation=16, ///<The result of a floating point operation was an ill-defined quantity.
1.1899 + EExcFloatOverflow=17, ///<The result of a floating point operation was too large to be represented.
1.1900 + EExcFloatStackCheck=18, ///<The result of a floating point operation caused the stack to over or underflow.
1.1901 + EExcFloatUnderflow=19, ///<The result of a floating point operation was too small to be represented.
1.1902 + EExcAbort=20, ///<This exception is not raised by the Kernel, though it may be raised by a user thread on itself.
1.1903 + EExcKill=21, ///<This exception is not raised by the Kernel, though it may be raised by a user thread on itself.
1.1904 + EExcUserInterrupt=22, ///<May be used to indicate a general exception.
1.1905 + EExcDataAbort=23, ///<The thread has tried to read data from an invalid address.
1.1906 + EExcCodeAbort=24, ///<The thread has tried to fetch an instruction from an invalid address.
1.1907 + EExcMaxNumber=25, ///<Do not use.
1.1908 + EExcInvalidVector=26, ///<Do not use.
1.1909 + };
1.1910 +
1.1911 +
1.1912 +
1.1913 +/**
1.1914 +@publishedAll
1.1915 +@released
1.1916 +
1.1917 +Identifies how a thread or process has ended.
1.1918 +
1.1919 +While a thread or process is alive, its exit type is always EExitPending.
1.1920 +
1.1921 +Both RThread::ExitType() and RProcess::ExitType() return a TExitType.
1.1922 +
1.1923 +@see RThread::ExitType()
1.1924 +@see RProcess::ExitType()
1.1925 +@see User::Exit()
1.1926 +@see RThread::Kill()
1.1927 +@see RProcess::Kill()
1.1928 +*/
1.1929 +enum TExitType {
1.1930 + /**
1.1931 + The thread or process has ended under normal conditions, i.e. as a result of either:
1.1932 + 1. The thread or process running to completion.
1.1933 + 2. User::Exit() being invoked.
1.1934 + 3. RThread::Kill() or RProcess::Kill() being invoked on the RThread or RProcess handle, respectively.
1.1935 + */
1.1936 + EExitKill,
1.1937 +
1.1938 + /**
1.1939 + The thread or process has ended as a result of a terminate,
1.1940 + i.e. Terminate() has been called on the RThread or RProcess handle.
1.1941 + */
1.1942 + EExitTerminate,
1.1943 +
1.1944 + /**
1.1945 + The thread or process has been panicked.
1.1946 + */
1.1947 + EExitPanic,
1.1948 +
1.1949 + /**
1.1950 + The thread or process is alive.
1.1951 + */
1.1952 + EExitPending
1.1953 + };
1.1954 +
1.1955 +
1.1956 +
1.1957 +
1.1958 +/**
1.1959 +@publishedAll
1.1960 +@released
1.1961 +
1.1962 +An enumeration whose enumerators govern the alignment of data which is copied
1.1963 +or formatted into a descriptor.
1.1964 +
1.1965 +@see TDes8::Justify()
1.1966 +@see TDes8::AppendJustify()
1.1967 +@see TDes16::Justify()
1.1968 +@see TDes16::AppendJustify()
1.1969 +*/
1.1970 +enum TAlign {
1.1971 + /**
1.1972 + Data is left aligned
1.1973 + */
1.1974 + ELeft,
1.1975 + /**
1.1976 + Data is centered
1.1977 + */
1.1978 + ECenter,
1.1979 + /**
1.1980 + Data is right aligned
1.1981 + */
1.1982 + ERight
1.1983 + };
1.1984 +
1.1985 +
1.1986 +
1.1987 +
1.1988 +/**
1.1989 +@publishedAll
1.1990 +@released
1.1991 +
1.1992 +A mask for the set of flags that govern the general format
1.1993 +of the character representation of a real number.
1.1994 +
1.1995 +These are the flags with symbols starting KRealFormat...
1.1996 +*/
1.1997 +const TInt KRealFormatTypesMask=0x00000007;
1.1998 +
1.1999 +
1.2000 +
1.2001 +
1.2002 +/**
1.2003 +@publishedAll
1.2004 +@released
1.2005 +
1.2006 +Defines the general format of the character representation of a real number.
1.2007 +The TRealFormat::iType data member is set to one of these.
1.2008 +
1.2009 +The real number is converted to fixed format which has the general pattern:
1.2010 +"nnn.ddd", where nnn is the integer portion and ddd is the decimal portion.
1.2011 +A negative value is prefixed by a minus sign.
1.2012 +
1.2013 +The number of decimal places generated is defined by the value of
1.2014 +TRealFormat::iPlaces. Trailing zeroes are generated as required.
1.2015 +If necessary, the decimal portion is rounded to fit the specification.
1.2016 +If this value is zero, no decimal point and no decimal portion is generated.
1.2017 +
1.2018 +Triad separation is available,
1.2019 +defined by TRealFormat::iTriad and TRealFormat::iTriLen.
1.2020 +
1.2021 +Note that a zero value is converted either to the form "0.000..." with
1.2022 +iPlaces '0' characters after the decimal point, if iPlaces is greater than
1.2023 +zero, or to "0" if iPlaces is zero.
1.2024 +
1.2025 +@see TRealFormat
1.2026 +*/
1.2027 +const TInt KRealFormatFixed=1;
1.2028 +
1.2029 +
1.2030 +
1.2031 +
1.2032 +/**
1.2033 +@publishedAll
1.2034 +@released
1.2035 +
1.2036 +Defines the general format of the character representation of a real number.
1.2037 +The TRealFormat::iType data member is set to one of these.
1.2038 +
1.2039 +The real number is converted to scientific format with one non-zero digit
1.2040 +before the decimal point and a number of digits after the decimal point.
1.2041 +Hence the number has the general pattern:
1.2042 +"n.dddE+ee" or "n.dddE-ee", or "n.dddE+eee" or "n.dddE-eee".
1.2043 +
1.2044 +The decimal portion is followed by the character 'E', a sign ('+' or '-')
1.2045 +and the exponent as two digits, including leading zeroes, if necessary.
1.2046 +If necessary, the decimal portion is rounded.
1.2047 +
1.2048 +A negative value is prefixed by a minus sign.
1.2049 +
1.2050 +If the flag KUseSigFigs is not set, TRealFormat::iPlaces defines the number
1.2051 +of digits which follow the decimal point. If the flag KUseSigFigs is set,
1.2052 +iPlaces defines the maximum number of significant digits to be generated.
1.2053 +
1.2054 +Note that, by default, exponents are limited to two digits.
1.2055 +Those numbers that require three digits must have the flag
1.2056 +KAllowThreeDigitExp set. If iPlaces is zero, the value is rounded to one digit
1.2057 +of precision and no decimal point is included.
1.2058 +
1.2059 +Triad separation is not available.
1.2060 +
1.2061 +Note that a zero value is converted either to the form "0.000...E+00" with
1.2062 +iPlaces '0' characters after the decimal point, if iPlaces is greater than
1.2063 +zero, or to "0E+00" if iPlaces is zero.
1.2064 +
1.2065 +@see TRealFormat
1.2066 +*/
1.2067 +const TInt KRealFormatExponent=2;
1.2068 +
1.2069 +
1.2070 +
1.2071 +
1.2072 +/**
1.2073 +@publishedAll
1.2074 +@released
1.2075 +
1.2076 +Defines the general format of the character representation of a real number.
1.2077 +The TRealFormat::iType data member is set to one of these.
1.2078 +
1.2079 +The real number is converted either to fixed or scientific format.
1.2080 +The format chosen is the one which can present the greater number of
1.2081 +significant digits. Where both formats can present the same number of
1.2082 +significant digits, fixed format is used.
1.2083 +
1.2084 +The number of decimal places generated depends only on the value of
1.2085 +TRealFormat::iWidth; the value of the iPlaces member is ignored.
1.2086 +
1.2087 +Trailing zeroes in the decimal portion are discarded.
1.2088 +
1.2089 +Triad separation is not available.
1.2090 +
1.2091 +Note that a zero value is converted to "0".
1.2092 +
1.2093 +@see TRealFormat
1.2094 +*/
1.2095 +const TInt KRealFormatGeneral=3;
1.2096 +
1.2097 +
1.2098 +
1.2099 +
1.2100 +/**
1.2101 +@publishedAll
1.2102 +@released
1.2103 +
1.2104 +Defines the general format of the character representation of a real number.
1.2105 +The TRealFormat::iType data member is set to one of these.
1.2106 +
1.2107 +The same as KRealFormatFixed but the TRealFormat::iPlaces is interpreted as
1.2108 +specifying the maximum number of significant digits.
1.2109 +
1.2110 +Trailing zeroes in the decimal portion are discarded.
1.2111 +
1.2112 +@see TRealFormat
1.2113 +*/
1.2114 +const TInt KRealFormatNoExponent=4;
1.2115 +
1.2116 +
1.2117 +
1.2118 +
1.2119 +/**
1.2120 +@publishedAll
1.2121 +@released
1.2122 +
1.2123 +Defines the general format of the character representation of a real number.
1.2124 +The TRealFormat::iType data member is set to one of these.
1.2125 +
1.2126 +The same as KRealFormatGeneral but TRealFormat::iPlaces is interpreted as
1.2127 +specifying the maximum number of significant digits, and the number is
1.2128 +displayed without an exponent whenever possible.
1.2129 +
1.2130 +Trailing zeroes in the decimal portion are discarded.
1.2131 +
1.2132 +@see TRealFormat
1.2133 +*/
1.2134 +const TInt KRealFormatCalculator=5;
1.2135 +
1.2136 +
1.2137 +
1.2138 +
1.2139 +// Extra flags ORed in with the previous types
1.2140 +
1.2141 +
1.2142 +/**
1.2143 +@publishedAll
1.2144 +@released
1.2145 +
1.2146 +A bitmask for all flags except those with symbols starting KRealFormat...
1.2147 +*/
1.2148 +const TInt KRealFormatTypeFlagsMask=0x7E000000;
1.2149 +
1.2150 +
1.2151 +
1.2152 +
1.2153 +/**
1.2154 +@publishedAll
1.2155 +@released
1.2156 +
1.2157 +A flag that modifies the format of the character representation of a real
1.2158 +number.
1.2159 +
1.2160 +It reduces the effective width by one character. This forces a large enough
1.2161 +value for TRealFormat::iWidth to be chosen to guarantee that positive and
1.2162 +negative numbers can be shown to the same precision.
1.2163 +
1.2164 +It applies when TRealFormat::iType is set to KRealFormatFixed
1.2165 +or KRealFormatGeneral, and should be ORed into TRealFormat::iType after one of
1.2166 +these types has been set.
1.2167 +*/
1.2168 +const TInt KExtraSpaceForSign=0x40000000;
1.2169 +
1.2170 +
1.2171 +
1.2172 +/**
1.2173 +@publishedAll
1.2174 +@released
1.2175 +
1.2176 +A flag that modifies the format of the character representation of a real
1.2177 +number.
1.2178 +
1.2179 +It allows an exponent to be formatted whose magnitude is greater than 100.
1.2180 +If this flag is not set, an attempt to format such a number fails.
1.2181 +
1.2182 +If set, three digit exponents are allowed. If not set, only two digit
1.2183 +exponents are allowed.
1.2184 +
1.2185 +Applies when TRealFormat::iType is set to KRealFormatExponent
1.2186 +or KRealFormatGeneral, and should be ORed into TRealFormat::iType after one of
1.2187 +these types has been set.
1.2188 +*/
1.2189 +const TInt KAllowThreeDigitExp=0x20000000;
1.2190 +
1.2191 +
1.2192 +
1.2193 +
1.2194 +/**
1.2195 +@publishedAll
1.2196 +@released
1.2197 +
1.2198 +A flag that modifies the format of the character representation of a real
1.2199 +number.
1.2200 +
1.2201 +If set, the TRealFormat::iPlaces member is interpreted as the maximum number
1.2202 +of significant digits to be generated.
1.2203 +
1.2204 +Applies when TRealFormat::iType is set to KRealFormatExponent, and should be
1.2205 +ORed into TRealFormat::iType after this type has been set.
1.2206 +*/
1.2207 +const TInt KUseSigFigs=0x10000000;
1.2208 +
1.2209 +
1.2210 +
1.2211 +
1.2212 +/**
1.2213 +@publishedAll
1.2214 +@released
1.2215 +
1.2216 +A flag that modifies the format of the character representation of a real
1.2217 +number.
1.2218 +
1.2219 +It disables triad separation.
1.2220 +
1.2221 +Applies when TRealFormat::iType is set to KRealFormatFixed
1.2222 +or KRealFormatNoExponent, and should be ORed into TRealFormat::iType after one of
1.2223 +these types has been set.
1.2224 +*/
1.2225 +const TInt KDoNotUseTriads=0x08000000;
1.2226 +
1.2227 +
1.2228 +
1.2229 +
1.2230 +/**
1.2231 +@publishedAll
1.2232 +@released
1.2233 +
1.2234 +A flag that modifies the format of the character representation of a real
1.2235 +number.
1.2236 +
1.2237 +If set, this flag limits the precision to KPrecisionLimit digits.
1.2238 +If not set, the precision defaults to KMaxPrecision digits.
1.2239 +
1.2240 +This flag should be ORed into TRealFormat::iType.
1.2241 +*/
1.2242 +const TInt KGeneralLimit=0x04000000;
1.2243 +
1.2244 +
1.2245 +
1.2246 +
1.2247 +/**
1.2248 +@publishedAll
1.2249 +@released
1.2250 +
1.2251 +A flag that modifies the format of the character representation of a real
1.2252 +number.
1.2253 +
1.2254 +If set, this flag allows enough digits of precision such that the mapping from
1.2255 +numeric to string form is injective. For a TReal (=double) input argument
1.2256 +this means KIEEEDoubleInjectivePrecision digits.
1.2257 +This flag overrides the KGeneralLimit flag if both are set.
1.2258 +
1.2259 +This flag should be ORed into TRealFormat::iType.
1.2260 +*/
1.2261 +const TInt KRealInjectiveLimit=0x02000000;
1.2262 +
1.2263 +
1.2264 +
1.2265 +
1.2266 +/**
1.2267 +@publishedAll
1.2268 +@released
1.2269 +
1.2270 +A value, which when passed to the new operator, indicates that the operation
1.2271 +is to leave if insufficient memory available.
1.2272 +*/
1.2273 +enum TLeave {ELeave};
1.2274 +
1.2275 +
1.2276 +
1.2277 +
1.2278 +/**
1.2279 +@publishedAll
1.2280 +@released
1.2281 +
1.2282 +Defines the way in which the first week in a year is determined.
1.2283 +*/
1.2284 +enum TFirstWeekRule {
1.2285 + /**
1.2286 + The first week in the year is always the week containing
1.2287 + the first day of the year.
1.2288 + */
1.2289 + EFirstWeek,
1.2290 + /**
1.2291 + If at least four days of the new year occur during the week
1.2292 + containing the first day then this is the first week in the
1.2293 + year. Otherwise the first week in the year is the following
1.2294 + week. This is the default and complies with the
1.2295 + international standard.
1.2296 + */
1.2297 + EFirstFourDayWeek,
1.2298 + /**
1.2299 + The first week in the year is the first week of which all
1.2300 + seven days occur within the new year.
1.2301 + */
1.2302 + EFirstFullWeek
1.2303 + };
1.2304 +
1.2305 +
1.2306 +
1.2307 +
1.2308 +/**
1.2309 +@publishedAll
1.2310 +@released
1.2311 +
1.2312 +Timer lock specifications.
1.2313 +
1.2314 +They are used by CTimer::Lock() to define the fraction of a second in which
1.2315 +to call its RunL() function.
1.2316 +
1.2317 +@see CTimer
1.2318 +*/
1.2319 +enum TTimerLockSpec
1.2320 + {
1.2321 + /** Timer tick is at 1/12 past the second. */
1.2322 + EOneOClock,
1.2323 +
1.2324 + /** Timer tick is at 2/12 past the second */
1.2325 + ETwoOClock,
1.2326 +
1.2327 + /** Timer tick is at 3/12 past the second */
1.2328 + EThreeOClock,
1.2329 +
1.2330 + /** Timer tick is at 4/12 past the second */
1.2331 + EFourOClock,
1.2332 +
1.2333 + /** Timer tick is at 5/12 past the second */
1.2334 + EFiveOClock,
1.2335 +
1.2336 + /** Timer tick is at 6/12 past the second */
1.2337 + ESixOClock,
1.2338 +
1.2339 + /** Timer tick is at 7/12 past the second */
1.2340 + ESevenOClock,
1.2341 +
1.2342 + /** Timer tick is at 8/12 past the second */
1.2343 + EEightOClock,
1.2344 +
1.2345 + /** Timer tick is at 9/12 past the second */
1.2346 + ENineOClock,
1.2347 +
1.2348 + /** Timer tick is at 10/12 past the second */
1.2349 + ETenOClock,
1.2350 +
1.2351 + /** Timer tick is at 11/12 past the second */
1.2352 + EElevenOClock,
1.2353 +
1.2354 + /** Timer tick is on the second */
1.2355 + ETwelveOClock
1.2356 + };
1.2357 +
1.2358 +
1.2359 +
1.2360 +
1.2361 +/**
1.2362 +@publishedAll
1.2363 +@released
1.2364 +
1.2365 +Defines the possible environment changes which may be reported by
1.2366 +a change notifier through the RChangeNotifier interface.
1.2367 +
1.2368 +Each enumerator corresponds to a distinct type of event.
1.2369 +
1.2370 +The changes are reported through a TRequestStatus object when a request to
1.2371 +the change notifier completes. As each enumerator value represents
1.2372 +a separate bit, any combination of events can be reported.
1.2373 +
1.2374 +@see RChangeNotifier
1.2375 +@see TRequestStatus
1.2376 +@see TLocale
1.2377 +*/
1.2378 +enum TChanges
1.2379 + {
1.2380 + /**
1.2381 + The system locale has changed.
1.2382 +
1.2383 + Typically this event occurs as a result of a call to TLocale::Set().
1.2384 + */
1.2385 + EChangesLocale=0x01,
1.2386 +
1.2387 +
1.2388 + /**
1.2389 + The system time has passed midnight.
1.2390 + */
1.2391 + EChangesMidnightCrossover=0x02,
1.2392 +
1.2393 +
1.2394 + /**
1.2395 + A thread has died.
1.2396 +
1.2397 + This event is reported when any thread in the system dies.
1.2398 + */
1.2399 + EChangesThreadDeath=0x04,
1.2400 +
1.2401 +
1.2402 + /**
1.2403 + The status of the power supply has changed.
1.2404 + */
1.2405 + EChangesPowerStatus=0x08,
1.2406 +
1.2407 +
1.2408 + /**
1.2409 + The system time has changed.
1.2410 + */
1.2411 + EChangesSystemTime=0x10,
1.2412 +
1.2413 +
1.2414 + /**
1.2415 + The free memory level has crossed a specified threshold value.
1.2416 +
1.2417 + On systems that support data paging, this is also generated where the available swap space
1.2418 + crosses one of the specified threshold values.
1.2419 + */
1.2420 + EChangesFreeMemory=0x20,
1.2421 +
1.2422 +
1.2423 + /**
1.2424 + A memory allocation has failed due to insufficient free memory.
1.2425 + */
1.2426 + EChangesOutOfMemory=0x40,
1.2427 +
1.2428 +
1.2429 + /**
1.2430 + The free memory level has fallen below the low-memory threshold
1.2431 + @see UserSvr::SetMemoryThresholds()
1.2432 + */
1.2433 + EChangesLowMemory=0x80,
1.2434 +
1.2435 + /**
1.2436 + On systems that support data paging, this is generated where the thrashing level crosses one of
1.2437 + the specified threshold values.
1.2438 + */
1.2439 + EChangesThrashLevel=0x100,
1.2440 +
1.2441 + /**********************************************************************************
1.2442 + ** IF YOU ADD A NEW VALUE HERE, YOU NEED TO UPDATE DChangeNotifier CONSTRUCTOR **
1.2443 + **********************************************************************************/
1.2444 + };
1.2445 +
1.2446 +
1.2447 +
1.2448 +
1.2449 +/**
1.2450 +@publishedAll
1.2451 +@released
1.2452 +
1.2453 +Defines a pointer to a thread function which takes a pointer of
1.2454 +type TAny and returns a TInt.
1.2455 +
1.2456 +A function of this type is passed as parameter to RThread::Create()
1.2457 +when creating a thread. Control passes to this function when the thread
1.2458 +is first scheduled for execution.
1.2459 +
1.2460 +@see RThread
1.2461 +*/
1.2462 +typedef TInt (*TThreadFunction)(TAny*);
1.2463 +
1.2464 +
1.2465 +
1.2466 +
1.2467 +/**
1.2468 +@publishedAll
1.2469 +@released
1.2470 +
1.2471 +Defines a function that takes no arguments but returns a TInt.
1.2472 +
1.2473 +This is a type which is returned from a call to RLibrary::Lookup().
1.2474 +
1.2475 +@see RLibrary
1.2476 +*/
1.2477 +typedef TInt (*TLibraryFunction)();
1.2478 +
1.2479 +
1.2480 +
1.2481 +
1.2482 +/**
1.2483 +@publishedAll
1.2484 +@released
1.2485 +
1.2486 +Defines a function that takes a single argument of type TInt and returns a TInt.
1.2487 +
1.2488 +This is a type which is returned from a call to RLibrary::EntryPoint().
1.2489 +
1.2490 +@see RLibrary
1.2491 +*/
1.2492 +typedef TInt (*TLibraryEntry)(TInt);
1.2493 +
1.2494 +
1.2495 +
1.2496 +/**
1.2497 +@publishedAll
1.2498 +@released
1.2499 +
1.2500 +Defines an exception handler function which takes a TExcType as an argument,
1.2501 +and returns void.
1.2502 +
1.2503 +A function of this type is an exception handler used by member functions
1.2504 +of a thread handle, RThread.
1.2505 +
1.2506 +@see RThread
1.2507 +@see TExcType
1.2508 +*/
1.2509 +typedef void (*TExceptionHandler)(TExcType);
1.2510 +
1.2511 +
1.2512 +
1.2513 +
1.2514 +// masking constants
1.2515 +
1.2516 +/**
1.2517 +@publishedAll
1.2518 +@released
1.2519 +
1.2520 +One of a set of flags that categorizes exceptions - associated with
1.2521 +the abort exception only.
1.2522 +
1.2523 +@see RThread::SetExceptionHandler()
1.2524 +@see RThread::ModifyExceptionMask()
1.2525 +*/
1.2526 +const TUint KExceptionAbort=0x01;
1.2527 +
1.2528 +
1.2529 +
1.2530 +
1.2531 +/**
1.2532 +@publishedAll
1.2533 +@released
1.2534 +
1.2535 +One of a set of flags that categorizes exceptions - associated with
1.2536 +the kill exception only.
1.2537 +
1.2538 +@see RThread::SetExceptionHandler()
1.2539 +@see RThread::ModifyExceptionMask()
1.2540 +*/
1.2541 +const TUint KExceptionKill=0x02;
1.2542 +
1.2543 +
1.2544 +
1.2545 +
1.2546 +/**
1.2547 +@publishedAll
1.2548 +@released
1.2549 +
1.2550 +One of a set of flags that categorizes exceptions - general
1.2551 +and user exceptions.
1.2552 +
1.2553 +@see RThread::SetExceptionHandler()
1.2554 +@see RThread::ModifyExceptionMask()
1.2555 +*/
1.2556 +const TUint KExceptionUserInterrupt=0x04;
1.2557 +
1.2558 +
1.2559 +
1.2560 +
1.2561 +/**
1.2562 +@publishedAll
1.2563 +@released
1.2564 +
1.2565 +One of a set of flags that categorizes exceptions - exceptions caused
1.2566 +by illegal floating point operations. This exception is not guaranteed
1.2567 +to be raised when a hardware floating point implementation is in use.
1.2568 +
1.2569 +@see RThread::SetExceptionHandler()
1.2570 +@see RThread::ModifyExceptionMask()
1.2571 +*/
1.2572 +const TUint KExceptionFpe=0x08;
1.2573 +
1.2574 +
1.2575 +
1.2576 +
1.2577 +/**
1.2578 +@publishedAll
1.2579 +@released
1.2580 +
1.2581 +One of a set of flags that categorizes exceptions - exceptions associated
1.2582 +with executing instructions; includes protection faults,
1.2583 +illegal instruction codes, page faults etc
1.2584 +
1.2585 +@see RThread::SetExceptionHandler()
1.2586 +@see RThread::ModifyExceptionMask()
1.2587 +*/
1.2588 +const TUint KExceptionFault=0x10;
1.2589 +
1.2590 +
1.2591 +
1.2592 +
1.2593 +/**
1.2594 +@publishedAll
1.2595 +@released
1.2596 +
1.2597 +One of a set of flags that categorizes exceptions - exceptions caused
1.2598 +by illegal operations on integer values.
1.2599 +*/
1.2600 +const TUint KExceptionInteger=0x20;
1.2601 +
1.2602 +
1.2603 +
1.2604 +
1.2605 +/**
1.2606 +@publishedAll
1.2607 +@released
1.2608 +
1.2609 +One of a set of flags that categorizes exceptions - exceptions raised
1.2610 +when debugging code.
1.2611 +
1.2612 +@see RThread::SetExceptionHandler()
1.2613 +@see RThread::ModifyExceptionMask()
1.2614 +*/
1.2615 +const TUint KExceptionDebug=0x40;
1.2616 +
1.2617 +
1.2618 +
1.2619 +
1.2620 +/**
1.2621 +@publishedAll
1.2622 +@released
1.2623 +
1.2624 +Aligns the specified value on the boundary defined by __Size.
1.2625 +This is usually 4 for byte alignment or 2 for double-byte alignment.
1.2626 +
1.2627 +@param s The value to be aligned.
1.2628 +*/
1.2629 +#define __Align(s) ((((s)+__Size-1)/__Size)*__Size)
1.2630 +
1.2631 +
1.2632 +
1.2633 +
1.2634 +/**
1.2635 +@publishedAll
1.2636 +@released
1.2637 +
1.2638 +Defines the type of environment data passed to a process
1.2639 +when that process is created.
1.2640 +
1.2641 +The data can be either a handle or just binary data.
1.2642 +*/
1.2643 +enum TProcessParameterType
1.2644 + {
1.2645 + EHandle=1,
1.2646 + EBinaryData=2,
1.2647 + };
1.2648 +
1.2649 +
1.2650 +
1.2651 +
1.2652 +// bitwise constants
1.2653 +
1.2654 +/**
1.2655 +@publishedAll
1.2656 +@released
1.2657 +
1.2658 +Constant that defines the specified bit value.
1.2659 +*/
1.2660 +const TUint32 KBit0= 0x00000001;
1.2661 +
1.2662 +
1.2663 +
1.2664 +
1.2665 +/**
1.2666 +@publishedAll
1.2667 +@released
1.2668 +
1.2669 +Constant that defines the specified bit value.
1.2670 +*/
1.2671 +const TUint32 KBit1= 0x00000002;
1.2672 +
1.2673 +
1.2674 +
1.2675 +
1.2676 +/**
1.2677 +@publishedAll
1.2678 +@released
1.2679 +
1.2680 +Constant that defines the specified bit value.
1.2681 +*/
1.2682 +const TUint32 KBit2= 0x00000004;
1.2683 +
1.2684 +
1.2685 +
1.2686 +
1.2687 +/**
1.2688 +@publishedAll
1.2689 +@released
1.2690 +
1.2691 +Constant that defines the specified bit value.
1.2692 +*/
1.2693 +const TUint32 KBit3= 0x00000008;
1.2694 +
1.2695 +
1.2696 +
1.2697 +
1.2698 +/**
1.2699 +@publishedAll
1.2700 +@released
1.2701 +
1.2702 +Constant that defines the specified bit value.
1.2703 +*/
1.2704 +const TUint32 KBit4= 0x00000010;
1.2705 +
1.2706 +
1.2707 +
1.2708 +
1.2709 +/**
1.2710 +@publishedAll
1.2711 +@released
1.2712 +
1.2713 +Constant that defines the specified bit value.
1.2714 +*/
1.2715 +const TUint32 KBit5= 0x00000020;
1.2716 +
1.2717 +
1.2718 +
1.2719 +
1.2720 +/**
1.2721 +@publishedAll
1.2722 +@released
1.2723 +
1.2724 +Constant that defines the specified bit value.
1.2725 +*/
1.2726 +const TUint32 KBit6= 0x00000040;
1.2727 +
1.2728 +
1.2729 +
1.2730 +
1.2731 +/**
1.2732 +@publishedAll
1.2733 +@released
1.2734 +
1.2735 +Constant that defines the specified bit value.
1.2736 +*/
1.2737 +const TUint32 KBit7= 0x00000080;
1.2738 +
1.2739 +
1.2740 +
1.2741 +
1.2742 +/**
1.2743 +@publishedAll
1.2744 +@released
1.2745 +
1.2746 +Constant that defines the specified bit value.
1.2747 +*/
1.2748 +const TUint32 KBit8= 0x00000100;
1.2749 +
1.2750 +
1.2751 +
1.2752 +
1.2753 +/**
1.2754 +@publishedAll
1.2755 +@released
1.2756 +
1.2757 +Constant that defines the specified bit value.
1.2758 +*/
1.2759 +const TUint32 KBit9= 0x00000200;
1.2760 +
1.2761 +
1.2762 +
1.2763 +
1.2764 +/**
1.2765 +@publishedAll
1.2766 +@released
1.2767 +
1.2768 +Constant that defines the specified bit value.
1.2769 +*/
1.2770 +const TUint32 KBit10=0x00000400;
1.2771 +
1.2772 +
1.2773 +
1.2774 +
1.2775 +/**
1.2776 +@publishedAll
1.2777 +@released
1.2778 +
1.2779 +Constant that defines the specified bit value.
1.2780 +*/
1.2781 +const TUint32 KBit11=0x00000800;
1.2782 +
1.2783 +
1.2784 +
1.2785 +
1.2786 +/**
1.2787 +@publishedAll
1.2788 +@released
1.2789 +
1.2790 +Constant that defines the specified bit value.
1.2791 +*/
1.2792 +const TUint32 KBit12=0x00001000;
1.2793 +
1.2794 +
1.2795 +
1.2796 +
1.2797 +/**
1.2798 +@publishedAll
1.2799 +@released
1.2800 +
1.2801 +Constant that defines the specified bit value.
1.2802 +*/
1.2803 +const TUint32 KBit13=0x00002000;
1.2804 +
1.2805 +
1.2806 +
1.2807 +
1.2808 +/**
1.2809 +@publishedAll
1.2810 +@released
1.2811 +
1.2812 +Constant that defines the specified bit value.
1.2813 +*/
1.2814 +const TUint32 KBit14=0x00004000;
1.2815 +
1.2816 +
1.2817 +
1.2818 +
1.2819 +/**
1.2820 +@publishedAll
1.2821 +@released
1.2822 +
1.2823 +Constant that defines the specified bit value.
1.2824 +*/
1.2825 +const TUint32 KBit15=0x00008000;
1.2826 +
1.2827 +
1.2828 +
1.2829 +
1.2830 +/**
1.2831 +@publishedAll
1.2832 +@released
1.2833 +
1.2834 +Constant that defines the specified bit value.
1.2835 +*/
1.2836 +const TUint32 KBit16=0x00010000;
1.2837 +
1.2838 +
1.2839 +
1.2840 +
1.2841 +/**
1.2842 +@publishedAll
1.2843 +@released
1.2844 +
1.2845 +Constant that defines the specified bit value.
1.2846 +*/
1.2847 +const TUint32 KBit17=0x00020000;
1.2848 +
1.2849 +
1.2850 +
1.2851 +
1.2852 +/**
1.2853 +@publishedAll
1.2854 +@released
1.2855 +
1.2856 +Constant that defines the specified bit value.
1.2857 +*/
1.2858 +const TUint32 KBit18=0x00040000;
1.2859 +
1.2860 +
1.2861 +
1.2862 +
1.2863 +/**
1.2864 +@publishedAll
1.2865 +@released
1.2866 +
1.2867 +Constant that defines the specified bit value.
1.2868 +*/
1.2869 +const TUint32 KBit19=0x00080000;
1.2870 +
1.2871 +
1.2872 +
1.2873 +
1.2874 +/**
1.2875 +@publishedAll
1.2876 +@released
1.2877 +
1.2878 +Constant that defines the specified bit value.
1.2879 +*/
1.2880 +const TUint32 KBit20=0x00100000;
1.2881 +
1.2882 +
1.2883 +
1.2884 +
1.2885 +/**
1.2886 +@publishedAll
1.2887 +@released
1.2888 +
1.2889 +Constant that defines the specified bit value.
1.2890 +*/
1.2891 +const TUint32 KBit21=0x00200000;
1.2892 +
1.2893 +
1.2894 +
1.2895 +
1.2896 +/**
1.2897 +@publishedAll
1.2898 +@released
1.2899 +
1.2900 +Constant that defines the specified bit value.
1.2901 +*/
1.2902 +const TUint32 KBit22=0x00400000;
1.2903 +
1.2904 +
1.2905 +
1.2906 +
1.2907 +/**
1.2908 +@publishedAll
1.2909 +@released
1.2910 +
1.2911 +Constant that defines the specified bit value.
1.2912 +*/
1.2913 +const TUint32 KBit23=0x00800000;
1.2914 +
1.2915 +
1.2916 +
1.2917 +
1.2918 +/**
1.2919 +@publishedAll
1.2920 +@released
1.2921 +
1.2922 +Constant that defines the specified bit value.
1.2923 +*/
1.2924 +const TUint32 KBit24=0x01000000;
1.2925 +
1.2926 +
1.2927 +
1.2928 +
1.2929 +/**
1.2930 +@publishedAll
1.2931 +@released
1.2932 +
1.2933 +Constant that defines the specified bit value.
1.2934 +*/
1.2935 +const TUint32 KBit25=0x02000000;
1.2936 +
1.2937 +
1.2938 +
1.2939 +
1.2940 +/**
1.2941 +@publishedAll
1.2942 +@released
1.2943 +
1.2944 +Constant that defines the specified bit value.
1.2945 +*/
1.2946 +const TUint32 KBit26=0x04000000;
1.2947 +
1.2948 +
1.2949 +
1.2950 +
1.2951 +/**
1.2952 +@publishedAll
1.2953 +@released
1.2954 +
1.2955 +Constant that defines the specified bit value.
1.2956 +*/
1.2957 +const TUint32 KBit27=0x08000000;
1.2958 +
1.2959 +
1.2960 +
1.2961 +
1.2962 +/**
1.2963 +@publishedAll
1.2964 +@released
1.2965 +
1.2966 +Constant that defines the specified bit value.
1.2967 +*/
1.2968 +const TUint32 KBit28=0x10000000;
1.2969 +
1.2970 +
1.2971 +
1.2972 +
1.2973 +/**
1.2974 +@publishedAll
1.2975 +@released
1.2976 +
1.2977 +Constant that defines the specified bit value.
1.2978 +*/
1.2979 +const TUint32 KBit29=0x20000000;
1.2980 +
1.2981 +
1.2982 +
1.2983 +
1.2984 +/**
1.2985 +@publishedAll
1.2986 +@released
1.2987 +
1.2988 +Constant that defines the specified bit value.
1.2989 +*/
1.2990 +const TUint32 KBit30=0x40000000;
1.2991 +
1.2992 +
1.2993 +
1.2994 +
1.2995 +/**
1.2996 +@publishedAll
1.2997 +@released
1.2998 +
1.2999 +Constant that defines the specified bit value.
1.3000 +*/
1.3001 +const TUint32 KBit31=0x80000000;
1.3002 +
1.3003 +
1.3004 +
1.3005 +
1.3006 +/**
1.3007 +@publishedAll
1.3008 +@released
1.3009 +
1.3010 +Constant that defines the specified bit value.
1.3011 +
1.3012 +This is often used as a bit mask.
1.3013 +*/
1.3014 +const TUint32 KSet32=0xffffffff;
1.3015 +
1.3016 +
1.3017 +
1.3018 +
1.3019 +/**
1.3020 +@publishedAll
1.3021 +@released
1.3022 +
1.3023 +
1.3024 +Constant that defines the specified bit value.
1.3025 +
1.3026 +This is often used as a bit mask.
1.3027 +*/
1.3028 +const TUint32 KClear32=0x00000000;
1.3029 +
1.3030 +
1.3031 +
1.3032 +
1.3033 +/**
1.3034 +@publishedAll
1.3035 +@released
1.3036 +
1.3037 +Constant that defines the specified value.
1.3038 +*/
1.3039 +const TInt KKilo=1024;
1.3040 +
1.3041 +
1.3042 +
1.3043 +
1.3044 +/**
1.3045 +@publishedAll
1.3046 +@released
1.3047 +
1.3048 +Constant that defines the specified value.
1.3049 +*/
1.3050 +const TInt KMega=1024*1024;
1.3051 +
1.3052 +
1.3053 +
1.3054 +
1.3055 +/**
1.3056 +@publishedAll
1.3057 +@released
1.3058 +
1.3059 +Client/Server Session types.
1.3060 +*/
1.3061 +enum TIpcSessionType
1.3062 + {
1.3063 + // These values are used at session creation time to describe the extent to which
1.3064 + // the new session may be shared.
1.3065 + //
1.3066 + // They are *also* used at server creation time, to specify the *maximum* degree
1.3067 + // of session sharability that the server supports. Thus, if a server instance was
1.3068 + // created with mode EIpcSession_Sharable, you can open Sharable or Unsharable
1.3069 + // sessions with it, but not globally sharable ones.
1.3070 + EIpcSession_Unsharable = 0x00000000,
1.3071 + EIpcSession_Sharable = 0x00000001, // sharable within one process
1.3072 + EIpcSession_GlobalSharable = 0x00000002 // sharable across processes
1.3073 + };
1.3074 +
1.3075 +enum TIpcServerRole
1.3076 + {
1.3077 + EServerRole_Default = 0, // No role specified; treated as Standalone
1.3078 + EServerRole_Standalone, // Explicitly neither Master nor Slave
1.3079 + EServerRole_Master, // Master: may transfer sessions to a Slave
1.3080 + EServerRole_Slave // Slave: accepts sessions from the Master
1.3081 + };
1.3082 +
1.3083 +enum TIpcServerOpts
1.3084 + {
1.3085 + // The first few bits specify whether memory referred to by descriptors
1.3086 + // passed from the client to the server should automatically be pinned
1.3087 + // All other bits are reserved for future expansion ...
1.3088 + EServerOpt_PinClientDescriptorsDefault = 0x00000000, /**<@internalComponent*/
1.3089 + EServerOpt_PinClientDescriptorsEnable = 0x00000004, /**<@internalComponent*/
1.3090 + EServerOpt_PinClientDescriptorsDisable = 0x00000008, /**<@internalComponent*/
1.3091 + EServerOpt_PinClientDescriptorsMask = 0x0000000c /**<@internalComponent*/
1.3092 + };
1.3093 +
1.3094 +
1.3095 +
1.3096 +
1.3097 +/**
1.3098 +@publishedAll
1.3099 +@released
1.3100 +*/
1.3101 +const TInt KNullDebugPort=-2;
1.3102 +
1.3103 +
1.3104 +/**
1.3105 +A constant which represents a thread ID which will never be assigned to a thread.
1.3106 +I.e. The following statement is always true; RThread::Id()!=KNullThreadId
1.3107 +@publishedAll
1.3108 +@released
1.3109 +@see TThreadId
1.3110 +*/
1.3111 +const TUint KNullThreadId = 0xffffffffu;
1.3112 +
1.3113 +
1.3114 +
1.3115 +/**
1.3116 +A constant which represents a process ID which will never be assigned to a process.
1.3117 +I.e. The following statement is always true; RProcess::Id()!=KNullProcessId
1.3118 +@publishedAll
1.3119 +@released
1.3120 +@see TProcessId
1.3121 +*/
1.3122 +const TUint KNullProcessId = 0xffffffffu;
1.3123 +
1.3124 +
1.3125 +
1.3126 +/**
1.3127 +@publishedAll
1.3128 +@released
1.3129 +
1.3130 +Hardware floating point types.
1.3131 +*/
1.3132 +enum TFloatingPointType
1.3133 + {
1.3134 + /** No hardware floating point. */
1.3135 + EFpTypeNone=0,
1.3136 + /** ARM VFPv2 */
1.3137 + EFpTypeVFPv2=1,
1.3138 + /** ARM VFPv3 */
1.3139 + EFpTypeVFPv3=2,
1.3140 + /** ARM VFPv3-D16 (VFP only, no NEON) */
1.3141 + EFpTypeVFPv3D16=3,
1.3142 + };
1.3143 +
1.3144 +
1.3145 +
1.3146 +/**
1.3147 +@publishedAll
1.3148 +@released
1.3149 +
1.3150 +Hardware floating point execution modes.
1.3151 +*/
1.3152 +enum TFloatingPointMode
1.3153 + {
1.3154 + /**
1.3155 + Run in the fastest mode available - results of calculations may not be
1.3156 + exactly as the IEEE standard in some cases. On ARM VFPv2 hardware this
1.3157 + corresponds to RunFast mode.
1.3158 + */
1.3159 + EFpModeRunFast=0,
1.3160 +
1.3161 + /**
1.3162 + Perform all calculations as specified in the IEEE standard, but do not
1.3163 + generate floating point exceptions. This is compatible with the Java
1.3164 + floating point model. This is the default.
1.3165 + */
1.3166 + EFpModeIEEENoExceptions=1
1.3167 + };
1.3168 +
1.3169 +
1.3170 +
1.3171 +
1.3172 +/**
1.3173 +@publishedAll
1.3174 +@released
1.3175 +
1.3176 +Hardware floating point rounding modes.
1.3177 +*/
1.3178 +enum TFloatingPointRoundingMode
1.3179 + {
1.3180 + /**
1.3181 + Round to the nearest value. This is the default.
1.3182 + */
1.3183 + EFpRoundToNearest=0,
1.3184 +
1.3185 + /**
1.3186 + Round toward positive infinity.
1.3187 + */
1.3188 + EFpRoundToPlusInfinity=1,
1.3189 +
1.3190 + /**
1.3191 + Round toward negative infinity.
1.3192 + */
1.3193 + EFpRoundToMinusInfinity=2,
1.3194 +
1.3195 + /**
1.3196 + Round toward zero.
1.3197 + */
1.3198 + EFpRoundToZero=3,
1.3199 +
1.3200 + /**
1.3201 + @internalComponent
1.3202 + */
1.3203 + EFpRoundNumModes=4
1.3204 + };
1.3205 +
1.3206 +
1.3207 +
1.3208 +#include <e32capability.h>
1.3209 +
1.3210 +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
1.3211 +#include <e32const_private.h>
1.3212 +#endif
1.3213 +
1.3214 +#endif