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