Merge branch 'master' into sam460ex
This commit is contained in:
@@ -61,7 +61,11 @@ public:
|
||||
B_LEFT_ARROW = 0,
|
||||
B_RIGHT_ARROW = 1,
|
||||
B_UP_ARROW = 2,
|
||||
B_DOWN_ARROW = 3
|
||||
B_DOWN_ARROW = 3,
|
||||
B_LEFT_UP_ARROW = 4,
|
||||
B_RIGHT_UP_ARROW = 5,
|
||||
B_RIGHT_DOWN_ARROW = 6,
|
||||
B_LEFT_DOWN_ARROW = 7
|
||||
};
|
||||
|
||||
enum {
|
||||
|
||||
@@ -311,6 +311,8 @@ enum color_which {
|
||||
B_LIST_ITEM_TEXT_COLOR = 30,
|
||||
B_LIST_SELECTED_ITEM_TEXT_COLOR = 31,
|
||||
|
||||
B_SCROLL_BAR_THUMB_COLOR = 32,
|
||||
|
||||
B_TOOL_TIP_BACKGROUND_COLOR = 20,
|
||||
B_TOOL_TIP_TEXT_COLOR = 21,
|
||||
|
||||
@@ -329,9 +331,9 @@ enum color_which {
|
||||
B_KEYBOARD_NAVIGATION_COLOR = B_NAVIGATION_BASE_COLOR,
|
||||
B_MENU_SELECTION_BACKGROUND_COLOR = B_MENU_SELECTED_BACKGROUND_COLOR,
|
||||
|
||||
// These are deprecated -- do not use in new code. See BScreen for
|
||||
// the replacement for B_DESKTOP_COLOR.
|
||||
// The following constants are deprecated, do not use in new code.
|
||||
B_DESKTOP_COLOR = 5
|
||||
// see BScreen class for B_DESKTOP_COLOR replacement
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2009, Haiku, Inc. All rights reserved.
|
||||
* Copyright 2002-2013 Haiku, Inc. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
#ifndef _LIST_VIEW_H
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
struct track_data;
|
||||
|
||||
|
||||
enum list_view_type {
|
||||
B_SINGLE_SELECTION_LIST,
|
||||
B_MULTIPLE_SELECTION_LIST
|
||||
@@ -58,13 +59,13 @@ public:
|
||||
virtual void MessageReceived(BMessage* message);
|
||||
virtual void KeyDown(const char* bytes, int32 numBytes);
|
||||
virtual void MouseDown(BPoint where);
|
||||
virtual void MouseUp(BPoint point);
|
||||
virtual void MouseMoved(BPoint point, uint32 code,
|
||||
virtual void MouseUp(BPoint where);
|
||||
virtual void MouseMoved(BPoint where, uint32 code,
|
||||
const BMessage* dragMessage);
|
||||
|
||||
virtual void ResizeToPreferred();
|
||||
virtual void GetPreferredSize(float* _width,
|
||||
float* _height);
|
||||
virtual void GetPreferredSize(float *_width,
|
||||
float *_height);
|
||||
|
||||
virtual BSize MinSize();
|
||||
virtual BSize MaxSize();
|
||||
|
||||
@@ -214,7 +214,7 @@ private:
|
||||
bool moveItems, float* width,
|
||||
float* height);
|
||||
void _ComputeColumnLayout(int32 index, bool bestFit,
|
||||
bool moveItems, BRect& outRect);
|
||||
bool moveItems, BRect* override, BRect& outRect);
|
||||
void _ComputeRowLayout(int32 index, bool bestFit,
|
||||
bool moveItems, BRect& outRect);
|
||||
void _ComputeMatrixLayout(BRect& outRect);
|
||||
|
||||
@@ -73,11 +73,14 @@ typedef struct area_info {
|
||||
#define B_32_BIT_CONTIGUOUS 6 /* B_CONTIGUOUS, < 4 GB physical address */
|
||||
|
||||
/* address spec for create_area(), and clone_area() */
|
||||
#define B_ANY_ADDRESS 0
|
||||
#define B_EXACT_ADDRESS 1
|
||||
#define B_BASE_ADDRESS 2
|
||||
#define B_CLONE_ADDRESS 3
|
||||
#define B_ANY_KERNEL_ADDRESS 4
|
||||
#define B_ANY_ADDRESS 0
|
||||
#define B_EXACT_ADDRESS 1
|
||||
#define B_BASE_ADDRESS 2
|
||||
#define B_CLONE_ADDRESS 3
|
||||
#define B_ANY_KERNEL_ADDRESS 4
|
||||
/* B_ANY_KERNEL_BLOCK_ADDRESS 5 */
|
||||
#define B_RANDOMIZED_ANY_ADDRESS 6
|
||||
#define B_RANDOMIZED_BASE_ADDRESS 7
|
||||
|
||||
/* area protection */
|
||||
#define B_READ_AREA 1
|
||||
|
||||
+266
-127
@@ -8,6 +8,7 @@ enum unicode_char_category
|
||||
// Non-category for unassigned and non-character code points.
|
||||
B_UNICODE_UNASSIGNED = 0,
|
||||
|
||||
B_UNICODE_GENERAL_OTHER_TYPES = 0, // Cn
|
||||
B_UNICODE_UPPERCASE_LETTER = 1, // Lu
|
||||
B_UNICODE_LOWERCASE_LETTER = 2, // Ll
|
||||
B_UNICODE_TITLECASE_LETTER = 3, // Lt
|
||||
@@ -37,152 +38,289 @@ enum unicode_char_category
|
||||
B_UNICODE_OTHER_SYMBOL = 27, // So
|
||||
B_UNICODE_INITIAL_PUNCTUATION = 28, // Pi
|
||||
B_UNICODE_FINAL_PUNCTUATION = 29, // Pf
|
||||
B_UNICODE_GENERAL_OTHER_TYPES = 30, // Cn
|
||||
|
||||
B_UNICODE_CATEGORY_COUNT
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* This specifies the language directional property of a character set.
|
||||
*/
|
||||
// This specifies the language directional property of a character set.
|
||||
|
||||
enum unicode_char_direction {
|
||||
B_UNICODE_LEFT_TO_RIGHT = 0,
|
||||
B_UNICODE_RIGHT_TO_LEFT = 1,
|
||||
B_UNICODE_EUROPEAN_NUMBER = 2,
|
||||
B_UNICODE_EUROPEAN_NUMBER_SEPARATOR = 3,
|
||||
B_UNICODE_EUROPEAN_NUMBER_TERMINATOR = 4,
|
||||
B_UNICODE_ARABIC_NUMBER = 5,
|
||||
B_UNICODE_COMMON_NUMBER_SEPARATOR = 6,
|
||||
B_UNICODE_BLOCK_SEPARATOR = 7,
|
||||
B_UNICODE_SEGMENT_SEPARATOR = 8,
|
||||
B_UNICODE_WHITE_SPACE_NEUTRAL = 9,
|
||||
B_UNICODE_OTHER_NEUTRAL = 10,
|
||||
B_UNICODE_LEFT_TO_RIGHT_EMBEDDING = 11,
|
||||
B_UNICODE_LEFT_TO_RIGHT_OVERRIDE = 12,
|
||||
B_UNICODE_RIGHT_TO_LEFT_ARABIC = 13,
|
||||
B_UNICODE_RIGHT_TO_LEFT_EMBEDDING = 14,
|
||||
B_UNICODE_RIGHT_TO_LEFT_OVERRIDE = 15,
|
||||
B_UNICODE_POP_DIRECTIONAL_FORMAT = 16,
|
||||
B_UNICODE_DIR_NON_SPACING_MARK = 17,
|
||||
B_UNICODE_BOUNDARY_NEUTRAL = 18,
|
||||
B_UNICODE_LEFT_TO_RIGHT = 0,
|
||||
B_UNICODE_RIGHT_TO_LEFT = 1,
|
||||
B_UNICODE_EUROPEAN_NUMBER = 2,
|
||||
B_UNICODE_EUROPEAN_NUMBER_SEPARATOR = 3,
|
||||
B_UNICODE_EUROPEAN_NUMBER_TERMINATOR = 4,
|
||||
B_UNICODE_ARABIC_NUMBER = 5,
|
||||
B_UNICODE_COMMON_NUMBER_SEPARATOR = 6,
|
||||
B_UNICODE_BLOCK_SEPARATOR = 7,
|
||||
B_UNICODE_SEGMENT_SEPARATOR = 8,
|
||||
B_UNICODE_WHITE_SPACE_NEUTRAL = 9,
|
||||
B_UNICODE_OTHER_NEUTRAL = 10,
|
||||
B_UNICODE_LEFT_TO_RIGHT_EMBEDDING = 11,
|
||||
B_UNICODE_LEFT_TO_RIGHT_OVERRIDE = 12,
|
||||
B_UNICODE_RIGHT_TO_LEFT_ARABIC = 13,
|
||||
B_UNICODE_RIGHT_TO_LEFT_EMBEDDING = 14,
|
||||
B_UNICODE_RIGHT_TO_LEFT_OVERRIDE = 15,
|
||||
B_UNICODE_POP_DIRECTIONAL_FORMAT = 16,
|
||||
B_UNICODE_DIR_NON_SPACING_MARK = 17,
|
||||
B_UNICODE_BOUNDARY_NEUTRAL = 18,
|
||||
|
||||
B_UNICODE_DIRECTION_COUNT
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Script range as defined in the Unicode standard.
|
||||
*/
|
||||
// Script range as defined in the Unicode standard.
|
||||
|
||||
enum unicode_char_script {
|
||||
// Script names
|
||||
B_UNICODE_BASIC_LATIN,
|
||||
B_UNICODE_LATIN_1_SUPPLEMENT,
|
||||
B_UNICODE_LATIN_EXTENDED_A,
|
||||
B_UNICODE_LATIN_EXTENDED_B,
|
||||
B_UNICODE_IPA_EXTENSIONS,
|
||||
B_UNICODE_SPACING_MODIFIER_LETTERS,
|
||||
B_UNICODE_COMBINING_DIACRITICAL_MARKS,
|
||||
B_UNICODE_GREEK,
|
||||
B_UNICODE_CYRILLIC,
|
||||
B_UNICODE_ARMENIAN,
|
||||
B_UNICODE_HEBREW,
|
||||
B_UNICODE_ARABIC,
|
||||
B_UNICODE_SYRIAC,
|
||||
B_UNICODE_THAANA,
|
||||
B_UNICODE_DEVANAGARI,
|
||||
B_UNICODE_BENGALI,
|
||||
B_UNICODE_GURMUKHI,
|
||||
B_UNICODE_GUJARATI,
|
||||
B_UNICODE_ORIYA,
|
||||
B_UNICODE_TAMIL,
|
||||
B_UNICODE_TELUGU,
|
||||
B_UNICODE_KANNADA,
|
||||
B_UNICODE_MALAYALAM,
|
||||
B_UNICODE_SINHALA,
|
||||
B_UNICODE_THAI,
|
||||
B_UNICODE_LAO,
|
||||
B_UNICODE_TIBETAN,
|
||||
B_UNICODE_MYANMAR,
|
||||
B_UNICODE_GEORGIAN,
|
||||
B_UNICODE_HANGUL_JAMO,
|
||||
B_UNICODE_ETHIOPIC,
|
||||
B_UNICODE_CHEROKEE,
|
||||
B_UNICODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS,
|
||||
B_UNICODE_OGHAM,
|
||||
B_UNICODE_RUNIC,
|
||||
B_UNICODE_KHMER,
|
||||
B_UNICODE_MONGOLIAN,
|
||||
B_UNICODE_LATIN_EXTENDED_ADDITIONAL,
|
||||
B_UNICODE_GREEK_EXTENDED,
|
||||
B_UNICODE_GENERAL_PUNCTUATION,
|
||||
B_UNICODE_SUPERSCRIPTS_AND_SUBSCRIPTS,
|
||||
B_UNICODE_CURRENCY_SYMBOLS,
|
||||
B_UNICODE_COMBINING_MARKS_FOR_SYMBOLS,
|
||||
B_UNICODE_LETTERLIKE_SYMBOLS,
|
||||
B_UNICODE_NUMBER_FORMS,
|
||||
B_UNICODE_ARROWS,
|
||||
B_UNICODE_MATHEMATICAL_OPERATORS,
|
||||
B_UNICODE_MISCELLANEOUS_TECHNICAL,
|
||||
B_UNICODE_CONTROL_PICTURES,
|
||||
B_UNICODE_OPTICAL_CHARACTER_RECOGNITION,
|
||||
B_UNICODE_ENCLOSED_ALPHANUMERICS,
|
||||
B_UNICODE_BOX_DRAWING,
|
||||
B_UNICODE_BLOCK_ELEMENTS,
|
||||
B_UNICODE_GEOMETRIC_SHAPES,
|
||||
B_UNICODE_MISCELLANEOUS_SYMBOLS,
|
||||
B_UNICODE_DINGBATS,
|
||||
B_UNICODE_BRAILLE_PATTERNS,
|
||||
B_UNICODE_CJK_RADICALS_SUPPLEMENT,
|
||||
B_UNICODE_KANGXI_RADICALS,
|
||||
B_UNICODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS,
|
||||
B_UNICODE_CJK_SYMBOLS_AND_PUNCTUATION,
|
||||
B_UNICODE_HIRAGANA,
|
||||
B_UNICODE_KATAKANA,
|
||||
B_UNICODE_BOPOMOFO,
|
||||
B_UNICODE_HANGUL_COMPATIBILITY_JAMO,
|
||||
B_UNICODE_KANBUN,
|
||||
B_UNICODE_BOPOMOFO_EXTENDED,
|
||||
B_UNICODE_ENCLOSED_CJK_LETTERS_AND_MONTHS,
|
||||
B_UNICODE_CJK_COMPATIBILITY,
|
||||
B_UNICODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A,
|
||||
B_UNICODE_CJK_UNIFIED_IDEOGRAPHS,
|
||||
B_UNICODE_YI_SYLLABLES,
|
||||
B_UNICODE_YI_RADICALS,
|
||||
B_UNICODE_HANGUL_SYLLABLES,
|
||||
B_UNICODE_HIGH_SURROGATES,
|
||||
B_UNICODE_HIGH_PRIVATE_USE_SURROGATES,
|
||||
B_UNICODE_LOW_SURROGATES,
|
||||
B_UNICODE_PRIVATE_USE_AREA,
|
||||
B_UNICODE_CJK_COMPATIBILITY_IDEOGRAPHS,
|
||||
B_UNICODE_ALPHABETIC_PRESENTATION_FORMS,
|
||||
B_UNICODE_ARABIC_PRESENTATION_FORMS_A,
|
||||
B_UNICODE_COMBINING_HALF_MARKS,
|
||||
B_UNICODE_CJK_COMPATIBILITY_FORMS,
|
||||
B_UNICODE_SMALL_FORM_VARIANTS,
|
||||
B_UNICODE_ARABIC_PRESENTATION_FORMS_B,
|
||||
B_UNICODE_SPECIALS,
|
||||
B_UNICODE_HALFWIDTH_AND_FULLWIDTH_FORMS,
|
||||
// New No_Block value in Unicode 4.
|
||||
B_UNICODE_NO_BLOCK = 0, // [none] Special range
|
||||
B_UNICODE_BASIC_LATIN = 1, // [0000]
|
||||
B_UNICODE_LATIN_1_SUPPLEMENT = 2, // [0080]
|
||||
B_UNICODE_LATIN_EXTENDED_A = 3, // [0100]
|
||||
B_UNICODE_LATIN_EXTENDED_B = 4, // [0180]
|
||||
B_UNICODE_IPA_EXTENSIONS = 5, // [0250]
|
||||
B_UNICODE_SPACING_MODIFIER_LETTERS = 6, // [02B0]
|
||||
B_UNICODE_COMBINING_DIACRITICAL_MARKS = 7, // [0300]
|
||||
B_UNICODE_GREEK = 8, // [0370]
|
||||
B_UNICODE_CYRILLIC = 9, // [0400]
|
||||
B_UNICODE_ARMENIAN = 10, // [0530]
|
||||
B_UNICODE_HEBREW = 11, // [0590]
|
||||
B_UNICODE_ARABIC = 12, // [0600]
|
||||
B_UNICODE_SYRIAC = 13, // [0700]
|
||||
B_UNICODE_THAANA = 14, // [0780]
|
||||
B_UNICODE_DEVANAGARI = 15, // [0900]
|
||||
B_UNICODE_BENGALI = 16, // [0980]
|
||||
B_UNICODE_GURMUKHI = 17, // [0A00]
|
||||
B_UNICODE_GUJARATI = 18, // [0A80]
|
||||
B_UNICODE_ORIYA = 19, // [0B00]
|
||||
B_UNICODE_TAMIL = 20, // [0B80]
|
||||
B_UNICODE_TELUGU = 21, // [0C00]
|
||||
B_UNICODE_KANNADA = 22, // [0C80]
|
||||
B_UNICODE_MALAYALAM = 23, // [0D00]
|
||||
B_UNICODE_SINHALA = 24, // [0D80]
|
||||
B_UNICODE_THAI = 25, // [0E00]
|
||||
B_UNICODE_LAO = 26, // [0E80]
|
||||
B_UNICODE_TIBETAN = 27, // [0F00]
|
||||
B_UNICODE_MYANMAR = 28, // [1000]
|
||||
B_UNICODE_GEORGIAN = 29, // [10A0]
|
||||
B_UNICODE_HANGUL_JAMO = 30, // [1100]
|
||||
B_UNICODE_ETHIOPIC = 31, // [1200]
|
||||
B_UNICODE_CHEROKEE = 32, // [13A0]
|
||||
B_UNICODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS = 33, // [1400]
|
||||
B_UNICODE_OGHAM = 34, // [1680]
|
||||
B_UNICODE_RUNIC = 35, // [16A0]
|
||||
B_UNICODE_KHMER = 36, // [1780]
|
||||
B_UNICODE_MONGOLIAN = 37, // [1800]
|
||||
B_UNICODE_LATIN_EXTENDED_ADDITIONAL = 38, // [1E00]
|
||||
B_UNICODE_GREEK_EXTENDED = 39, // [1F00]
|
||||
B_UNICODE_GENERAL_PUNCTUATION = 40, // [2000]
|
||||
B_UNICODE_SUPERSCRIPTS_AND_SUBSCRIPTS = 41, // [2070]
|
||||
B_UNICODE_CURRENCY_SYMBOLS = 42, // [20A0]
|
||||
B_UNICODE_COMBINING_MARKS_FOR_SYMBOLS = 43, // [20D0]
|
||||
B_UNICODE_LETTERLIKE_SYMBOLS = 44, // [2100]
|
||||
B_UNICODE_NUMBER_FORMS = 45, // [2150]
|
||||
B_UNICODE_ARROWS = 46, // [2190]
|
||||
B_UNICODE_MATHEMATICAL_OPERATORS = 47, // [2200]
|
||||
B_UNICODE_MISCELLANEOUS_TECHNICAL = 48, // [2300]
|
||||
B_UNICODE_CONTROL_PICTURES = 49, // [2400]
|
||||
B_UNICODE_OPTICAL_CHARACTER_RECOGNITION = 50, // [2440]
|
||||
B_UNICODE_ENCLOSED_ALPHANUMERICS = 51, // [2460]
|
||||
B_UNICODE_BOX_DRAWING = 52, // [2500]
|
||||
B_UNICODE_BLOCK_ELEMENTS = 53, // [2580]
|
||||
B_UNICODE_GEOMETRIC_SHAPES = 54, // [25A0]
|
||||
B_UNICODE_MISCELLANEOUS_SYMBOLS = 55, // [2600]
|
||||
B_UNICODE_DINGBATS = 56, // [2700]
|
||||
B_UNICODE_BRAILLE_PATTERNS = 57, // [2800]
|
||||
B_UNICODE_CJK_RADICALS_SUPPLEMENT = 58, // [2E80]
|
||||
B_UNICODE_KANGXI_RADICALS = 59, // [2F00]
|
||||
B_UNICODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS = 60, // [2FF0]
|
||||
B_UNICODE_CJK_SYMBOLS_AND_PUNCTUATION = 61, // [3000]
|
||||
B_UNICODE_HIRAGANA = 62, // [3040]
|
||||
B_UNICODE_KATAKANA = 63, // [30A0]
|
||||
B_UNICODE_BOPOMOFO = 64, // [3100]
|
||||
B_UNICODE_HANGUL_COMPATIBILITY_JAMO = 65, // [3130]
|
||||
B_UNICODE_KANBUN = 66, // [3190]
|
||||
B_UNICODE_BOPOMOFO_EXTENDED = 67, // [31A0]
|
||||
B_UNICODE_ENCLOSED_CJK_LETTERS_AND_MONTHS = 68, // [3200]
|
||||
B_UNICODE_CJK_COMPATIBILITY = 69, // [3300]
|
||||
B_UNICODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A = 70, // [3400]
|
||||
B_UNICODE_CJK_UNIFIED_IDEOGRAPHS = 71, // [4E00]
|
||||
B_UNICODE_YI_SYLLABLES = 72, // [A000]
|
||||
B_UNICODE_YI_RADICALS = 73, // [A490]
|
||||
B_UNICODE_HANGUL_SYLLABLES = 74, // [AC00]
|
||||
B_UNICODE_HIGH_SURROGATES = 75, // [D800]
|
||||
B_UNICODE_HIGH_PRIVATE_USE_SURROGATES = 76, // [DB80]
|
||||
B_UNICODE_LOW_SURROGATES = 77, // [DC00]
|
||||
B_UNICODE_PRIVATE_USE = 78,
|
||||
B_UNICODE_PRIVATE_USE_AREA = B_UNICODE_PRIVATE_USE, // [E000]
|
||||
B_UNICODE_CJK_COMPATIBILITY_IDEOGRAPHS = 79, // [F900]
|
||||
B_UNICODE_ALPHABETIC_PRESENTATION_FORMS = 80, // [FB00]
|
||||
B_UNICODE_ARABIC_PRESENTATION_FORMS_A = 81, // [FB50]
|
||||
B_UNICODE_COMBINING_HALF_MARKS = 82, // [FE20]
|
||||
B_UNICODE_CJK_COMPATIBILITY_FORMS = 83, // [FE30]
|
||||
B_UNICODE_SMALL_FORM_VARIANTS = 84, // [FE50]
|
||||
B_UNICODE_ARABIC_PRESENTATION_FORMS_B = 85, // [FE70]
|
||||
B_UNICODE_SPECIALS = 86, // [FFF0]
|
||||
B_UNICODE_HALFWIDTH_AND_FULLWIDTH_FORMS = 87, // [FF00]
|
||||
|
||||
B_UNICODE_SCRIPT_COUNT,
|
||||
B_UNICODE_NO_SCRIPT = B_UNICODE_SCRIPT_COUNT
|
||||
// New blocks in Unicode 3.1
|
||||
B_UNICODE_OLD_ITALIC = 88, // [10300]
|
||||
B_UNICODE_GOTHIC = 89, // [10330]
|
||||
B_UNICODE_DESERET = 90, // [10400]
|
||||
B_UNICODE_BYZANTINE_MUSICAL_SYMBOLS = 91, // [1D000]
|
||||
B_UNICODE_MUSICAL_SYMBOLS = 92, // [1D100]
|
||||
B_UNICODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93, // [1D400]
|
||||
B_UNICODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94, // [20000]
|
||||
B_UNICODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95, // [2F800]
|
||||
B_UNICODE_TAGS = 96, // [E0000]
|
||||
|
||||
// New blocks in Unicode
|
||||
B_UNICODE_CYRILLIC_SUPPLEMENTARY = 97,
|
||||
B_UNICODE_CYRILLIC_SUPPLEMENT = B_UNICODE_CYRILLIC_SUPPLEMENTARY, // [0500]
|
||||
B_UNICODE_TAGALOG = 98, // [1700]
|
||||
B_UNICODE_HANUNOO = 99, // [1720]
|
||||
B_UNICODE_BUHID = 100, // [1740]
|
||||
B_UNICODE_TAGBANWA = 101, // [1760]
|
||||
B_UNICODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102, // [27C0]
|
||||
B_UNICODE_SUPPLEMENTAL_ARROWS_A = 103, // [27F0]
|
||||
B_UNICODE_SUPPLEMENTAL_ARROWS_B = 104, // [2900]
|
||||
B_UNICODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105, // [2980]
|
||||
B_UNICODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106, // [2A00]
|
||||
B_UNICODE_KATAKANA_PHONETIC_EXTENSIONS = 107, // [31F0]
|
||||
B_UNICODE_VARIATION_SELECTORS = 108, // [FE00]
|
||||
B_UNICODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109, // [F0000]
|
||||
B_UNICODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110, // [100000]
|
||||
|
||||
// New blocks in Unicode 4
|
||||
B_UNICODE_LIMBU = 111, // [1900]
|
||||
B_UNICODE_TAI_LE = 112, // [1950]
|
||||
B_UNICODE_KHMER_SYMBOLS = 113, // [19E0]
|
||||
B_UNICODE_PHONETIC_EXTENSIONS = 114, // [1D00]
|
||||
B_UNICODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115, // [2B00]
|
||||
B_UNICODE_YIJING_HEXAGRAM_SYMBOLS = 116, // [4DC0]
|
||||
B_UNICODE_LINEAR_B_SYLLABARY = 117, // [10000]
|
||||
B_UNICODE_LINEAR_B_IDEOGRAMS = 118, // [10080]
|
||||
B_UNICODE_AEGEAN_NUMBERS = 119, // [10100]
|
||||
B_UNICODE_UGARITIC = 120, // [10380]
|
||||
B_UNICODE_SHAVIAN = 121, // [10450]
|
||||
B_UNICODE_OSMANYA = 122, // [10480]
|
||||
B_UNICODE_CYPRIOT_SYLLABARY = 123, // [10800]
|
||||
B_UNICODE_TAI_XUAN_JING_SYMBOLS = 124, // [1D300]
|
||||
B_UNICODE_VARIATION_SELECTORS_SUPPLEMENT = 125, // [E0100]
|
||||
|
||||
// New blocks in Unicode 4.1
|
||||
B_UNICODE_ANCIENT_GREEK_MUSICAL_NOTATION = 126, // [1D200]
|
||||
B_UNICODE_ANCIENT_GREEK_NUMBERS = 127, // [10140]
|
||||
B_UNICODE_ARABIC_SUPPLEMENT = 128, // [0750]
|
||||
B_UNICODE_BUGINESE = 129, // [1A00]
|
||||
B_UNICODE_CJK_STROKES = 130, // [31C0]
|
||||
B_UNICODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 131, // [1DC0]
|
||||
B_UNICODE_COPTIC = 132, // [2C80]
|
||||
B_UNICODE_ETHIOPIC_EXTENDED = 133, // [2D80]
|
||||
B_UNICODE_ETHIOPIC_SUPPLEMENT = 134, // [1380]
|
||||
B_UNICODE_GEORGIAN_SUPPLEMENT = 135, // [2D00]
|
||||
B_UNICODE_GLAGOLITIC = 136, // [2C00]
|
||||
B_UNICODE_KHAROSHTHI = 137, // [10A00]
|
||||
B_UNICODE_MODIFIER_TONE_LETTERS = 138, // [A700]
|
||||
B_UNICODE_NEW_TAI_LUE = 139, // [1980]
|
||||
B_UNICODE_OLD_PERSIAN = 140, // [103A0]
|
||||
B_UNICODE_PHONETIC_EXTENSIONS_SUPPLEMENT = 141, // [1D80]
|
||||
B_UNICODE_SUPPLEMENTAL_PUNCTUATION = 142, // [2E00]
|
||||
B_UNICODE_SYLOTI_NAGRI = 143, // [A800]
|
||||
B_UNICODE_TIFINAGH = 144, // [2D30]
|
||||
B_UNICODE_VERTICAL_FORMS = 145, // [FE10]
|
||||
|
||||
// New blocks in Unicode 5.0
|
||||
B_UNICODE_NKO = 146, // [07C0]
|
||||
B_UNICODE_BALINESE = 147, // [1B00]
|
||||
B_UNICODE_LATIN_EXTENDED_C = 148, // [2C60]
|
||||
B_UNICODE_LATIN_EXTENDED_D = 149, // [A720]
|
||||
B_UNICODE_PHAGS_PA = 150, // [A840]
|
||||
B_UNICODE_PHOENICIAN = 151, // [10900]
|
||||
B_UNICODE_CUNEIFORM = 152, // [12000]
|
||||
B_UNICODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION = 153, // [12400]
|
||||
B_UNICODE_COUNTING_ROD_NUMERALS = 154, // [1D360]
|
||||
|
||||
// New blocks in Unicode 5.1
|
||||
B_UNICODE_SUNDANESE = 155, // [1B80]
|
||||
B_UNICODE_LEPCHA = 156, // [1C00]
|
||||
B_UNICODE_OL_CHIKI = 157, // [1C50]
|
||||
B_UNICODE_CYRILLIC_EXTENDED_A = 158, // [2DE0]
|
||||
B_UNICODE_VAI = 159, // [A500]
|
||||
B_UNICODE_CYRILLIC_EXTENDED_B = 160, // [A640]
|
||||
B_UNICODE_SAURASHTRA = 161, // [A880]
|
||||
B_UNICODE_KAYAH_LI = 162, // [A900]
|
||||
B_UNICODE_REJANG = 163, // [A930]
|
||||
B_UNICODE_CHAM = 164, // [AA00]
|
||||
B_UNICODE_ANCIENT_SYMBOLS = 165, // [10190]
|
||||
B_UNICODE_PHAISTOS_DISC = 166, // [101D0]
|
||||
B_UNICODE_LYCIAN = 167, // [10280]
|
||||
B_UNICODE_CARIAN = 168, // [102A0]
|
||||
B_UNICODE_LYDIAN = 169, // [10920]
|
||||
B_UNICODE_MAHJONG_TILES = 170, // [1F000]
|
||||
B_UNICODE_DOMINO_TILES = 171, // [1F030]
|
||||
|
||||
// New blocks in Unicode 5.2
|
||||
B_UNICODE_SAMARITAN = 172, // [0800]
|
||||
B_UNICODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 173, // [18B0]
|
||||
B_UNICODE_TAI_THAM = 174, // [1A20]
|
||||
B_UNICODE_VEDIC_EXTENSIONS = 175, // [1CD0]
|
||||
B_UNICODE_LISU = 176, // [A4D0]
|
||||
B_UNICODE_BAMUM = 177, // [A6A0]
|
||||
B_UNICODE_COMMON_INDIC_NUMBER_FORMS = 178, // [A830]
|
||||
B_UNICODE_DEVANAGARI_EXTENDED = 179, // [A8E0]
|
||||
B_UNICODE_HANGUL_JAMO_EXTENDED_A = 180, // [A960]
|
||||
B_UNICODE_JAVANESE = 181, // [A980]
|
||||
B_UNICODE_MYANMAR_EXTENDED_A = 182, // [AA60]
|
||||
B_UNICODE_TAI_VIET = 183, // [AA80]
|
||||
B_UNICODE_MEETEI_MAYEK = 184, // [ABC0]
|
||||
B_UNICODE_HANGUL_JAMO_EXTENDED_B = 185, // [D7B0]
|
||||
B_UNICODE_IMPERIAL_ARAMAIC = 186, // [10840]
|
||||
B_UNICODE_OLD_SOUTH_ARABIAN = 187, // [10A60]
|
||||
B_UNICODE_AVESTAN = 188, // [10B00]
|
||||
B_UNICODE_INSCRIPTIONAL_PARTHIAN = 189, // [10B40]
|
||||
B_UNICODE_INSCRIPTIONAL_PAHLAVI = 190, // [10B60]
|
||||
B_UNICODE_OLD_TURKIC = 191, // [10C00]
|
||||
B_UNICODE_RUMI_NUMERAL_SYMBOLS = 192, // [10E60]
|
||||
B_UNICODE_KAITHI = 193, // [11080]
|
||||
B_UNICODE_EGYPTIAN_HIEROGLYPHS = 194, // [13000]
|
||||
B_UNICODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 195, // [1F100]
|
||||
B_UNICODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 196, // [1F200]
|
||||
B_UNICODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 197, // [2A700]
|
||||
|
||||
// New blocks in Unicode 6.0
|
||||
B_UNICODE_MANDAIC = 198, // [0840]
|
||||
B_UNICODE_BATAK = 199, // [1BC0]
|
||||
B_UNICODE_ETHIOPIC_EXTENDED_A = 200, // [AB00]
|
||||
B_UNICODE_BRAHMI = 201, // [11000]
|
||||
B_UNICODE_BAMUM_SUPPLEMENT = 202, // [16800]
|
||||
B_UNICODE_KANA_SUPPLEMENT = 203, // [1B000]
|
||||
B_UNICODE_PLAYING_CARDS = 204, // [1F0A0]
|
||||
B_UNICODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 205, // [1F300]
|
||||
B_UNICODE_EMOTICONS = 206, // [1F600]
|
||||
B_UNICODE_TRANSPORT_AND_MAP_SYMBOLS = 207, // [1F680]
|
||||
B_UNICODE_ALCHEMICAL_SYMBOLS = 208, // [1F700]
|
||||
B_UNICODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 209, // [2B740]
|
||||
|
||||
B_UNICODE_SCRIPT_COUNT = 210,
|
||||
B_UNICODE_NO_SCRIPT = B_UNICODE_SCRIPT_COUNT,
|
||||
|
||||
B_UNICODE_INVALID_CODE = -1
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Values returned by the u_getCellWidth() function.
|
||||
*/
|
||||
// East Asian Width constants.
|
||||
|
||||
enum unicode_cell_width
|
||||
enum unicode_east_asian_width
|
||||
{
|
||||
B_UNICODE_ZERO_WIDTH = 0,
|
||||
B_UNICODE_HALF_WIDTH = 1,
|
||||
B_UNICODE_FULL_WIDTH = 2,
|
||||
B_UNICODE_NEUTRAL_WIDTH = 3,
|
||||
|
||||
B_UNICODE_CELL_WIDTH_COUNT
|
||||
B_UNICODE_EA_NEUTRAL, // [N]
|
||||
B_UNICODE_EA_AMBIGUOUS, // [A]
|
||||
B_UNICODE_EA_HALFWIDTH, // [H]
|
||||
B_UNICODE_EA_FULLWIDTH, // [F]
|
||||
B_UNICODE_EA_NARROW, // [Na]
|
||||
B_UNICODE_EA_WIDE, // [W]
|
||||
B_UNICODE_EA_COUNT
|
||||
};
|
||||
|
||||
|
||||
@@ -209,6 +347,7 @@ class BUnicodeChar {
|
||||
static uint32 ToUpper(uint32 c);
|
||||
static uint32 ToTitle(uint32 c);
|
||||
static int32 DigitValue(uint32 c);
|
||||
static unicode_east_asian_width EastAsianWidth(uint32 c);
|
||||
|
||||
static void ToUTF8(uint32 c, char **out);
|
||||
static uint32 FromUTF8(const char **in);
|
||||
@@ -230,4 +369,4 @@ BUnicodeChar::FromUTF8(const char *in)
|
||||
}
|
||||
|
||||
|
||||
#endif /* _UNICODE_CHAR_H_ */
|
||||
#endif // _UNICODE_CHAR_H_
|
||||
|
||||
@@ -39,7 +39,8 @@ enum {
|
||||
B_ISO15_CONVERSION,
|
||||
B_BIG5_CONVERSION, // Chinese Big5
|
||||
B_GBK_CONVERSION, // Chinese GB18030
|
||||
B_UTF16_CONVERSION // Unicode UTF-16
|
||||
B_UTF16_CONVERSION, // Unicode UTF-16
|
||||
B_MS_WINDOWS_1250_CONVERSION // Windows Central European Codepage
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -238,6 +238,7 @@ union res_sockaddr_union {
|
||||
#define RES_NOTLDQUERY 0x00100000 /* don't unqualified name as a tld */
|
||||
#define RES_USE_DNSSEC 0x00200000 /* use DNSSEC using OK bit in OPT */
|
||||
/* #define RES_DEBUG2 0x00400000 */ /* nslookup internal */
|
||||
#define RES_USE_INET4 0x00800000 /* use IPv4 in gethostbyname() */
|
||||
/* KAME extensions: use higher bit to avoid conflict with ISC use */
|
||||
#define RES_USE_DNAME 0x10000000 /* use DNAME */
|
||||
#define RES_USE_EDNS0 0x40000000 /* use EDNS0 if configured */
|
||||
|
||||
@@ -13,23 +13,25 @@
|
||||
#include <InterfaceDefs.h>
|
||||
|
||||
|
||||
static const int32 kNumColors = 34;
|
||||
// Update this constant with the largest color constant excluding
|
||||
// B_SUCCESS_COLOR and B_FAILURE_COLOR.
|
||||
// If you add a constant with index greater than 100 you'll have to add
|
||||
// to the second operand.
|
||||
static const int32 kColorWhichCount = B_SCROLL_BAR_THUMB_COLOR + 3;
|
||||
|
||||
|
||||
struct server_read_only_memory {
|
||||
rgb_color colors[kNumColors];
|
||||
rgb_color colors[kColorWhichCount];
|
||||
};
|
||||
|
||||
|
||||
// NOTE: these functions must be kept in sync with InterfaceDefs.h color_which!
|
||||
|
||||
static inline int32
|
||||
color_which_to_index(color_which which)
|
||||
{
|
||||
// NOTE: this must be kept in sync with InterfaceDefs.h color_which!
|
||||
if (which <= B_LIST_SELECTED_ITEM_TEXT_COLOR)
|
||||
if (which <= kColorWhichCount - 3)
|
||||
return which - 1;
|
||||
if (which >= B_SUCCESS_COLOR && which <= B_FAILURE_COLOR)
|
||||
return which - B_SUCCESS_COLOR + B_LIST_SELECTED_ITEM_TEXT_COLOR;
|
||||
return which - B_SUCCESS_COLOR + kColorWhichCount - 3;
|
||||
|
||||
return -1;
|
||||
}
|
||||
@@ -38,12 +40,12 @@ color_which_to_index(color_which which)
|
||||
static inline color_which
|
||||
index_to_color_which(int32 index)
|
||||
{
|
||||
if (index >= 0 && index < kNumColors) {
|
||||
if ((color_which)index < B_LIST_SELECTED_ITEM_TEXT_COLOR)
|
||||
if (index >= 0 && index < kColorWhichCount) {
|
||||
if ((color_which)index < kColorWhichCount - 3)
|
||||
return (color_which)(index + 1);
|
||||
else {
|
||||
return (color_which)(index + B_SUCCESS_COLOR
|
||||
- B_LIST_SELECTED_ITEM_TEXT_COLOR);
|
||||
- kColorWhichCount - 3);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
#define USER_SIZE (0x80000000 - (0x10000 + 0x100000))
|
||||
#define USER_TOP (USER_BASE + (USER_SIZE - 1))
|
||||
|
||||
#define KERNEL_USER_DATA_BASE 0x6fff0000
|
||||
#define KERNEL_USER_DATA_BASE 0x60000000
|
||||
#define USER_STACK_REGION 0x70000000
|
||||
#define USER_STACK_REGION_SIZE ((USER_TOP - USER_STACK_REGION) + 1)
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
#define USER_SIZE (0x80000000 - (0x10000 + 0x100000))
|
||||
#define USER_TOP (USER_BASE + (USER_SIZE - 1))
|
||||
|
||||
#define KERNEL_USER_DATA_BASE 0x6fff0000
|
||||
#define KERNEL_USER_DATA_BASE 0x60000000
|
||||
#define USER_STACK_REGION 0x70000000
|
||||
#define USER_STACK_REGION_SIZE ((USER_TOP - USER_STACK_REGION) + 1)
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
#define USER_SIZE (0x80000000 - (0x10000 + 0x100000))
|
||||
#define USER_TOP (USER_BASE + (USER_SIZE - 1))
|
||||
|
||||
#define KERNEL_USER_DATA_BASE 0x6fff0000
|
||||
#define KERNEL_USER_DATA_BASE 0x60000000
|
||||
#define USER_STACK_REGION 0x70000000
|
||||
#define USER_STACK_REGION_SIZE ((USER_TOP - USER_STACK_REGION) + 1)
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
#define USER_SIZE (0x80000000 - (0x10000 + 0x100000))
|
||||
#define USER_TOP (USER_BASE + (USER_SIZE - 1))
|
||||
|
||||
#define KERNEL_USER_DATA_BASE 0x6fff0000
|
||||
#define KERNEL_USER_DATA_BASE 0x60000000
|
||||
#define USER_STACK_REGION 0x70000000
|
||||
#define USER_STACK_REGION_SIZE ((USER_TOP - USER_STACK_REGION) + 1)
|
||||
|
||||
|
||||
@@ -39,6 +39,11 @@
|
||||
|
||||
#define IA32_MSR_EFER 0xc0000080
|
||||
|
||||
// MSR EFER bits
|
||||
// reference
|
||||
#define IA32_MSR_EFER_SYSCALL (1 << 0)
|
||||
#define IA32_MSR_EFER_NX (1 << 11)
|
||||
|
||||
// x86_64 MSRs.
|
||||
#define IA32_MSR_STAR 0xc0000081
|
||||
#define IA32_MSR_LSTAR 0xc0000082
|
||||
@@ -131,6 +136,13 @@
|
||||
#define IA32_FEATURE_AMD_EXT_3DNOWEXT (1 << 30) // 3DNow! extensions
|
||||
#define IA32_FEATURE_AMD_EXT_3DNOW (1 << 31) // 3DNow!
|
||||
|
||||
// some of the features from cpuid eax 0x80000001, edx register (AMD) are also
|
||||
// available on Intel processors
|
||||
#define IA32_FEATURES_INTEL_EXT (IA32_FEATURE_AMD_EXT_SYSCALL \
|
||||
| IA32_FEATURE_AMD_EXT_NX \
|
||||
| IA32_FEATURE_AMD_EXT_RDTSCP \
|
||||
| IA32_FEATURE_AMD_EXT_LONG)
|
||||
|
||||
// x86 defined features from cpuid eax 6, eax register
|
||||
// reference http://www.intel.com/Assets/en_US/PDF/appnote/241618.pdf (Table 5-11)
|
||||
#define IA32_FEATURE_DTS (1 << 0) //Digital Thermal Sensor
|
||||
|
||||
@@ -48,8 +48,8 @@
|
||||
#define USER_SIZE (0x800000000000 - 0x200000)
|
||||
#define USER_TOP (USER_BASE + (USER_SIZE - 1))
|
||||
|
||||
#define KERNEL_USER_DATA_BASE 0x7fffefff0000
|
||||
#define USER_STACK_REGION 0x7ffff0000000
|
||||
#define KERNEL_USER_DATA_BASE 0x7f0000000000
|
||||
#define USER_STACK_REGION 0x7f0000000000
|
||||
#define USER_STACK_REGION_SIZE ((USER_TOP - USER_STACK_REGION) + 1)
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
#define USER_SIZE (KERNEL_BASE - 0x10000)
|
||||
#define USER_TOP (USER_BASE + (USER_SIZE - 1))
|
||||
|
||||
#define KERNEL_USER_DATA_BASE 0x6fff0000
|
||||
#define KERNEL_USER_DATA_BASE 0x60000000
|
||||
#define USER_STACK_REGION 0x70000000
|
||||
#define USER_STACK_REGION_SIZE ((USER_TOP - USER_STACK_REGION) + 1)
|
||||
|
||||
|
||||
@@ -18,8 +18,9 @@ extern "C" {
|
||||
status_t commpage_init(void);
|
||||
status_t commpage_init_post_cpus(void);
|
||||
void* allocate_commpage_entry(int entry, size_t size);
|
||||
void* fill_commpage_entry(int entry, const void* copyFrom, size_t size);
|
||||
addr_t fill_commpage_entry(int entry, const void* copyFrom, size_t size);
|
||||
image_id get_commpage_image();
|
||||
area_id clone_commpage_area(team_id team, void** address);
|
||||
|
||||
// implemented in the architecture specific part
|
||||
status_t arch_commpage_init(void);
|
||||
|
||||
@@ -52,6 +52,7 @@ struct signal_frame_data {
|
||||
int32 thread_flags;
|
||||
uint64 syscall_restart_return_value;
|
||||
uint8 syscall_restart_parameters[SYSCALL_RESTART_PARAMETER_SIZE];
|
||||
void* commpage_address;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -259,6 +259,8 @@ struct Team : TeamThreadIteratorEntry<team_id>, KernelReferenceable,
|
||||
size_t used_user_data;
|
||||
struct free_user_thread* free_user_threads;
|
||||
|
||||
void* commpage_address;
|
||||
|
||||
struct team_debug_info debug_info;
|
||||
|
||||
// protected by scheduler lock
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
/*
|
||||
* Copyright 2013 Haiku, Inc. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* Paweł Dziepak, pdziepak@quarnos.org
|
||||
*/
|
||||
#ifndef KERNEL_UTIL_RANDOM_H
|
||||
#define KERNEL_UTIL_RANDOM_H
|
||||
|
||||
|
||||
#include <smp.h>
|
||||
#include <SupportDefs.h>
|
||||
|
||||
|
||||
#define MAX_FAST_RANDOM_VALUE 0x7fff
|
||||
#define MAX_RANDOM_VALUE 0x7fffffffu
|
||||
#define MAX_SECURE_RANDOM_VALUE 0xffffffffu
|
||||
|
||||
static const int kFastRandomShift = 15;
|
||||
static const int kRandomShift = 31;
|
||||
static const int kSecureRandomShift = 32;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
unsigned int fast_random_value(void);
|
||||
unsigned int random_value(void);
|
||||
unsigned int secure_random_value(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
template<typename T>
|
||||
T
|
||||
fast_get_random()
|
||||
{
|
||||
size_t shift = 0;
|
||||
T random = 0;
|
||||
while (shift < sizeof(T) * 8) {
|
||||
random |= (T)fast_random_value() << shift;
|
||||
shift += kFastRandomShift;
|
||||
}
|
||||
|
||||
return random;
|
||||
}
|
||||
|
||||
|
||||
template<typename T>
|
||||
T
|
||||
get_random()
|
||||
{
|
||||
size_t shift = 0;
|
||||
T random = 0;
|
||||
while (shift < sizeof(T) * 8) {
|
||||
random |= (T)random_value() << shift;
|
||||
shift += kRandomShift;
|
||||
}
|
||||
|
||||
return random;
|
||||
}
|
||||
|
||||
|
||||
template<typename T>
|
||||
T
|
||||
secure_get_random()
|
||||
{
|
||||
size_t shift = 0;
|
||||
T random = 0;
|
||||
while (shift < sizeof(T) * 8) {
|
||||
random |= (T)secure_random_value() << shift;
|
||||
shift += kSecureRandomShift;
|
||||
}
|
||||
|
||||
return random;
|
||||
}
|
||||
|
||||
|
||||
#endif // __cplusplus
|
||||
|
||||
#endif // KERNEL_UTIL_RANDOM_H
|
||||
|
||||
@@ -121,6 +121,8 @@ status_t vm_delete_area(team_id teamID, area_id areaID, bool kernel);
|
||||
status_t vm_create_vnode_cache(struct vnode *vnode, struct VMCache **_cache);
|
||||
status_t vm_set_area_memory_type(area_id id, phys_addr_t physicalBase,
|
||||
uint32 type);
|
||||
status_t vm_set_area_protection(team_id team, area_id areaID,
|
||||
uint32 newProtection, bool kernel);
|
||||
status_t vm_get_page_mapping(team_id team, addr_t vaddr, phys_addr_t *paddr);
|
||||
bool vm_test_map_modification(struct vm_page *page);
|
||||
void vm_clear_map_flags(struct vm_page *page, uint32 flags);
|
||||
|
||||
@@ -28,7 +28,7 @@ extern "C" {
|
||||
|
||||
// Should only be used by vm internals
|
||||
status_t vm_page_fault(addr_t address, addr_t faultAddress, bool isWrite,
|
||||
bool isUser, addr_t *newip);
|
||||
bool isExecute, bool isUser, addr_t *newip);
|
||||
void vm_unreserve_memory(size_t bytes);
|
||||
status_t vm_try_reserve_memory(size_t bytes, int priority, bigtime_t timeout);
|
||||
status_t vm_daemon_init(void);
|
||||
|
||||
@@ -34,7 +34,7 @@ void __init_env(const struct user_space_program_args *args);
|
||||
void __init_heap(void);
|
||||
void __init_heap_post_env(void);
|
||||
|
||||
void __init_time(void);
|
||||
void __init_time(addr_t commPageTable);
|
||||
void __arch_init_time(struct real_time_data *data, bool setDefaults);
|
||||
bigtime_t __arch_get_system_time_offset(struct real_time_data *data);
|
||||
bigtime_t __get_system_time_offset();
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#define kMsgRemovePersistentNetwork 'RPnw'
|
||||
#define kMsgJoinNetwork 'JNnw'
|
||||
#define kMsgLeaveNetwork 'LVnw'
|
||||
#define kMsgAutoJoinNetwork 'AJnw'
|
||||
|
||||
|
||||
#endif // _NET_SERVER_H
|
||||
|
||||
@@ -51,6 +51,7 @@ struct rld_export {
|
||||
void (*call_termination_hooks)();
|
||||
|
||||
const struct user_space_program_args *program_args;
|
||||
const void* commpage_address;
|
||||
};
|
||||
|
||||
extern struct rld_export *__gRuntimeLoader;
|
||||
|
||||
@@ -19,7 +19,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
const char *get_cpu_vendor_string(enum cpu_types type);
|
||||
const char *get_cpu_model_string(system_info *info);
|
||||
const char *get_cpu_model_string(const system_info *info);
|
||||
void get_cpu_type(char *vendorBuffer, size_t vendorSize,
|
||||
char *modelBuffer, size_t modelSize);
|
||||
int32 get_rounded_cpu_speed(void);
|
||||
@@ -257,7 +257,7 @@ get_cpuid_model_string(char *name)
|
||||
|
||||
|
||||
const char *
|
||||
get_cpu_model_string(system_info *info)
|
||||
get_cpu_model_string(const system_info *info)
|
||||
{
|
||||
#if defined(__INTEL__) || defined(__x86_64__)
|
||||
char cpuidName[49];
|
||||
|
||||
@@ -12,8 +12,4 @@
|
||||
//#define COMMPAGE_ENTRY_M68K_SYSCALL (COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC + 0)
|
||||
//#define COMMPAGE_ENTRY_M68K_MEMCPY (COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC + 1)
|
||||
|
||||
/* 0xffff0000 colides with IO space mapped with TT1 on Atari */
|
||||
#warning ARM: determine good place for compage..
|
||||
#define ARCH_USER_COMMPAGE_ADDR (0xfeff0000)
|
||||
|
||||
#endif /* _SYSTEM_ARCH_M68K_COMMPAGE_DEFS_H */
|
||||
|
||||
@@ -12,7 +12,4 @@
|
||||
#define COMMPAGE_ENTRY_M68K_SYSCALL (COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC + 0)
|
||||
#define COMMPAGE_ENTRY_M68K_MEMCPY (COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC + 1)
|
||||
|
||||
/* 0xffff0000 colides with IO space mapped with TT1 on Atari */
|
||||
#define ARCH_USER_COMMPAGE_ADDR (0xfeff0000)
|
||||
|
||||
#endif /* _SYSTEM_ARCH_M68K_COMMPAGE_DEFS_H */
|
||||
|
||||
@@ -14,7 +14,5 @@
|
||||
#define COMMPAGE_ENTRY_MIPSEL_SYSCALL (COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC + 0)
|
||||
#define COMMPAGE_ENTRY_MIPSEL_MEMCPY (COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC + 1)
|
||||
|
||||
#define ARCH_USER_COMMPAGE_ADDR (0xffff0000)
|
||||
|
||||
#endif /* _SYSTEM_ARCH_MIPSEL_COMMPAGE_DEFS_H */
|
||||
|
||||
|
||||
@@ -12,6 +12,4 @@
|
||||
#define COMMPAGE_ENTRY_PPC_SYSCALL (COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC + 0)
|
||||
#define COMMPAGE_ENTRY_PPC_MEMCPY (COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC + 1)
|
||||
|
||||
#define ARCH_USER_COMMPAGE_ADDR (0xffff0000)
|
||||
|
||||
#endif /* _SYSTEM_ARCH_PPC_COMMPAGE_DEFS_H */
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
(COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC + 3)
|
||||
#define COMMPAGE_ENTRY_X86_SIGNAL_HANDLER_BEOS \
|
||||
(COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC + 4)
|
||||
|
||||
#define ARCH_USER_COMMPAGE_ADDR (0xffff0000)
|
||||
#define COMMPAGE_ENTRY_X86_THREAD_EXIT \
|
||||
(COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC + 5)
|
||||
|
||||
#endif /* _SYSTEM_ARCH_x86_COMMPAGE_DEFS_H */
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#define COMMPAGE_ENTRY_X86_MEMSET (COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC + 1)
|
||||
#define COMMPAGE_ENTRY_X86_SIGNAL_HANDLER \
|
||||
(COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC + 2)
|
||||
|
||||
#define ARCH_USER_COMMPAGE_ADDR (0xffffffffffff0000)
|
||||
#define COMMPAGE_ENTRY_X86_THREAD_EXIT \
|
||||
(COMMPAGE_ENTRY_FIRST_ARCH_SPECIFIC + 3)
|
||||
|
||||
#endif /* _SYSTEM_ARCH_x86_64_COMMPAGE_DEFS_H */
|
||||
|
||||
@@ -19,11 +19,6 @@
|
||||
#define COMMPAGE_SIGNATURE 'COMM'
|
||||
#define COMMPAGE_VERSION 1
|
||||
|
||||
#define USER_COMMPAGE_ADDR ARCH_USER_COMMPAGE_ADDR
|
||||
// set by the architecture specific implementation
|
||||
|
||||
#define USER_COMMPAGE_TABLE ((void**)(USER_COMMPAGE_ADDR))
|
||||
|
||||
#include <arch_commpage_defs.h>
|
||||
|
||||
#endif /* _SYSTEM_COMMPAGE_DEFS_H */
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
#define USER_STACK_GUARD_SIZE (4 * B_PAGE_SIZE) // 16 kB
|
||||
#define USER_MAIN_THREAD_STACK_SIZE (16 * 1024 * 1024) // 16 MB
|
||||
#define USER_STACK_SIZE (256 * 1024) // 256 kB
|
||||
#define MIN_USER_STACK_SIZE (4 * 1024) // 4 KB
|
||||
#define MIN_USER_STACK_SIZE (8 * 1024) // 8 kB
|
||||
#define MAX_USER_STACK_SIZE (16 * 1024 * 1024) // 16 MB
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user