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