--- a/jdk/make/BuildJdk.gmk Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/make/BuildJdk.gmk Mon Feb 17 11:37:46 2014 -0500
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -42,8 +42,8 @@
# Include Profile information
include ProfileNames.gmk
-# Include the corresponding custom file, if present.
--include $(CUSTOM_MAKE_DIR)/BuildJdk.gmk
+# Hook to include the corresponding custom file, if present.
+$(eval $(call IncludeCustomExtension, jdk, BuildJdk.gmk))
import: import-only
import-only:
--- a/jdk/make/CompileJavaClasses.gmk Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/make/CompileJavaClasses.gmk Mon Feb 17 11:37:46 2014 -0500
@@ -100,8 +100,6 @@
EXCLUDES += com/oracle/security
endif
-EXFILES += WrapperGenerator.java
-
ifneq ($(OPENJDK_TARGET_OS), windows)
# Exclude Window security related files in src/share/classes
EXFILES += NTLoginModule.java \
@@ -239,11 +237,6 @@
EXFILES += sun/nio/fs/PollingWatchService.java
endif
-# TODO: Fix when converting NIO
-# Exclude *-linux-arm.java and *-linux-ppc.java from closed.
-EXFILES += -linux-arm.java \
- -linux-ppc.java
-
ifeq ($(OPENJDK_TARGET_OS), windows)
EXFILES += sun/nio/ch/AbstractPollSelectorImpl.java \
sun/nio/ch/PollSelectorProvider.java \
--- a/jdk/make/CopyFiles.gmk Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/make/CopyFiles.gmk Mon Feb 17 11:37:46 2014 -0500
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -570,4 +570,5 @@
##########################################################################################
--include $(CUSTOM_MAKE_DIR)/CopyFiles.gmk
+# Hook to include the corresponding custom file, if present.
+$(eval $(call IncludeCustomExtension, jdk, CopyFiles.gmk))
--- a/jdk/make/CreateJars.gmk Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/make/CreateJars.gmk Mon Feb 17 11:37:46 2014 -0500
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -745,7 +745,8 @@
##########################################################################################
--include $(CUSTOM_MAKE_DIR)/CreateJars.gmk
+# Hook to include the corresponding custom file, if present.
+$(eval $(call IncludeCustomExtension, jdk, CreateJars.gmk))
##########################################################################################
--- a/jdk/make/Images.gmk Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/make/Images.gmk Mon Feb 17 11:37:46 2014 -0500
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
@@ -783,4 +783,5 @@
.PHONY: default images jre-image jdk-image
--include $(CUSTOM_MAKE_DIR)/Images.gmk
+# Hook to include the corresponding custom file, if present.
+$(eval $(call IncludeCustomExtension, jdk, Images.gmk))
--- a/jdk/make/Tools.gmk Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/make/Tools.gmk Mon Feb 17 11:37:46 2014 -0500
@@ -26,17 +26,11 @@
# Cache all finds needed for this file. Only used on windows.
$(eval $(call FillCacheFind, $(JDK_TOPDIR)/make/src/classes))
-TOOLS_SRC := $(JDK_TOPDIR)/make/src/classes
-
-ifeq ($(findstring $(OPENJDK_TARGET_OS),windows macosx),)
- TOOLS_SRC += $(JDK_TOPDIR)/src/solaris/classes/sun/awt/X11/generator
-endif
-
# The exception handling of swing beaninfo which have the own tool directory
ifeq (, $(BUILD_TOOLS))
$(eval $(call SetupJavaCompilation,BUILD_TOOLS, \
SETUP := GENERATE_OLDBYTECODE, \
- SRC := $(TOOLS_SRC), \
+ SRC := $(JDK_TOPDIR)/make/src/classes, \
BIN := $(JDK_OUTPUTDIR)/btclasses))
endif
@@ -111,7 +105,7 @@
build.tools.generatenimbus.Generator
TOOL_WRAPPERGENERATOR = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \
- WrapperGenerator
+ build.tools.x11wrappergen.WrapperGenerator
TOOL_AWT_TOBIN = $(JAVA) -Djava.awt.headless=true -cp $(JDK_OUTPUTDIR)/btclasses \
build.tools.icondata.awt.ToBin
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/data/x11wrappergen/functions.txt Mon Feb 17 11:37:46 2014 -0500
@@ -0,0 +1,26 @@
+!XGetWindowProperty|int
+ w long
+ property Atom
+ long_offset long
+ long_length long
+ delete Bool
+ req_type Atom
+ actual_type Atom out
+ actual_format int out
+ number_of_items long out
+ bytes_after long out
+ data pointer out free
+!XQueryTree|int
+ w long
+ root long out
+ parent long out
+ children pointer out free
+ nchildren int out
+!XTranslateCoordinates|int
+ scr_w long
+ dest_w long
+ src_x int
+ src_y int
+ dest_x int out
+ dest_y int out
+ child long out
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/data/x11wrappergen/sizes.32 Mon Feb 17 11:37:46 2014 -0500
@@ -0,0 +1,1016 @@
+long 4
+int 4
+short 2
+ptr 4
+Bool 4
+Atom 4
+Window 4
+XExtData.number 0
+XExtData.next 4
+XExtData.free_private 8
+XExtData.private_data 12
+XExtData 16
+XIMStringConversionCallbackStruct.position 0
+XIMStringConversionCallbackStruct.direction 4
+XIMStringConversionCallbackStruct.operation 8
+XIMStringConversionCallbackStruct.factor 10
+XIMStringConversionCallbackStruct.text 12
+XIMStringConversionCallbackStruct 16
+XkbNewKeyboardNotifyEvent.type 0
+XkbNewKeyboardNotifyEvent.serial 4
+XkbNewKeyboardNotifyEvent.send_event 8
+XkbNewKeyboardNotifyEvent.display 12
+XkbNewKeyboardNotifyEvent.time 16
+XkbNewKeyboardNotifyEvent.xkb_type 20
+XkbNewKeyboardNotifyEvent.device 24
+XkbNewKeyboardNotifyEvent.old_device 28
+XkbNewKeyboardNotifyEvent.min_key_code 32
+XkbNewKeyboardNotifyEvent.max_key_code 36
+XkbNewKeyboardNotifyEvent.old_min_key_code 40
+XkbNewKeyboardNotifyEvent.old_max_key_code 44
+XkbNewKeyboardNotifyEvent.changed 48
+XkbNewKeyboardNotifyEvent.req_major 52
+XkbNewKeyboardNotifyEvent.req_minor 53
+XkbNewKeyboardNotifyEvent 56
+XTimeCoord.time 0
+XTimeCoord.x 4
+XTimeCoord.y 6
+XTimeCoord 8
+XkbCompatMapNotifyEvent.type 0
+XkbCompatMapNotifyEvent.serial 4
+XkbCompatMapNotifyEvent.send_event 8
+XkbCompatMapNotifyEvent.display 12
+XkbCompatMapNotifyEvent.time 16
+XkbCompatMapNotifyEvent.xkb_type 20
+XkbCompatMapNotifyEvent.device 24
+XkbCompatMapNotifyEvent.changed_groups 28
+XkbCompatMapNotifyEvent.first_si 32
+XkbCompatMapNotifyEvent.num_si 36
+XkbCompatMapNotifyEvent.num_total_si 40
+XkbCompatMapNotifyEvent 44
+XIMStatusDrawCallbackStruct.type 0
+XIMStatusDrawCallbackStruct.data 4
+XIMStatusDrawCallbackStruct 8
+XKeyboardControl.key_click_percent 0
+XKeyboardControl.bell_percent 4
+XKeyboardControl.bell_pitch 8
+XKeyboardControl.bell_duration 12
+XKeyboardControl.led 16
+XKeyboardControl.led_mode 20
+XKeyboardControl.key 24
+XKeyboardControl.auto_repeat_mode 28
+XKeyboardControl 32
+XSelectionClearEvent.type 0
+XSelectionClearEvent.serial 4
+XSelectionClearEvent.send_event 8
+XSelectionClearEvent.display 12
+XSelectionClearEvent.window 16
+XSelectionClearEvent.selection 20
+XSelectionClearEvent.time 24
+XSelectionClearEvent 28
+XWindowChanges.x 0
+XWindowChanges.y 4
+XWindowChanges.width 8
+XWindowChanges.height 12
+XWindowChanges.border_width 16
+XWindowChanges.sibling 20
+XWindowChanges.stack_mode 24
+XWindowChanges 28
+XIMPreeditCaretCallbackStruct.position 0
+XIMPreeditCaretCallbackStruct.direction 4
+XIMPreeditCaretCallbackStruct.style 8
+XIMPreeditCaretCallbackStruct 12
+XOMCharSetList.charset_count 0
+XOMCharSetList.charset_list 4
+XOMCharSetList 8
+XOMFontInfo.num_font 0
+XOMFontInfo.font_struct_list 4
+XOMFontInfo.font_name_list 8
+XOMFontInfo 12
+AwtScreenData.numConfigs 0
+AwtScreenData.root 4
+AwtScreenData.whitepixel 8
+AwtScreenData.blackpixel 12
+AwtScreenData.defaultConfig 16
+AwtScreenData.configs 20
+AwtScreenData 24
+XIMHotKeyTrigger.keysym 0
+XIMHotKeyTrigger.modifier 4
+XIMHotKeyTrigger.modifier_mask 8
+XIMHotKeyTrigger 12
+XCirculateEvent.type 0
+XCirculateEvent.serial 4
+XCirculateEvent.send_event 8
+XCirculateEvent.display 12
+XCirculateEvent.event 16
+XCirculateEvent.window 20
+XCirculateEvent.place 24
+XCirculateEvent 28
+Screen.ext_data 0
+Screen.display 4
+Screen.root 8
+Screen.width 12
+Screen.height 16
+Screen.mwidth 20
+Screen.mheight 24
+Screen.ndepths 28
+Screen.depths 32
+Screen.root_depth 36
+Screen.root_visual 40
+Screen.default_gc 44
+Screen.cmap 48
+Screen.white_pixel 52
+Screen.black_pixel 56
+Screen.max_maps 60
+Screen.min_maps 64
+Screen.backing_store 68
+Screen.save_unders 72
+Screen.root_input_mask 76
+Screen 80
+XMapRequestEvent.type 0
+XMapRequestEvent.serial 4
+XMapRequestEvent.send_event 8
+XMapRequestEvent.display 12
+XMapRequestEvent.parent 16
+XMapRequestEvent.window 20
+XMapRequestEvent 24
+XIMText.length 0
+XIMText.feedback 4
+XIMText.encoding_is_wchar 8
+XIMText.string 12
+XIMText 16
+XGraphicsExposeEvent.type 0
+XGraphicsExposeEvent.serial 4
+XGraphicsExposeEvent.send_event 8
+XGraphicsExposeEvent.display 12
+XGraphicsExposeEvent.drawable 16
+XGraphicsExposeEvent.x 20
+XGraphicsExposeEvent.y 24
+XGraphicsExposeEvent.width 28
+XGraphicsExposeEvent.height 32
+XGraphicsExposeEvent.count 36
+XGraphicsExposeEvent.major_code 40
+XGraphicsExposeEvent.minor_code 44
+XGraphicsExposeEvent 48
+XEvent.type 0
+XEvent.xany 0
+XEvent.xkey 0
+XEvent.xbutton 0
+XEvent.xmotion 0
+XEvent.xcrossing 0
+XEvent.xfocus 0
+XEvent.xexpose 0
+XEvent.xgraphicsexpose 0
+XEvent.xnoexpose 0
+XEvent.xvisibility 0
+XEvent.xcreatewindow 0
+XEvent.xdestroywindow 0
+XEvent.xunmap 0
+XEvent.xmap 0
+XEvent.xmaprequest 0
+XEvent.xreparent 0
+XEvent.xconfigure 0
+XEvent.xgravity 0
+XEvent.xresizerequest 0
+XEvent.xconfigurerequest 0
+XEvent.xcirculate 0
+XEvent.xcirculaterequest 0
+XEvent.xproperty 0
+XEvent.xselectionclear 0
+XEvent.xselectionrequest 0
+XEvent.xselection 0
+XEvent.xcolormap 0
+XEvent.xclient 0
+XEvent.xmapping 0
+XEvent.xerror 0
+XEvent.xkeymap 0
+XEvent.pad 0
+XEvent 96
+XRenderDirectFormat.red 0
+XRenderDirectFormat.redMask 2
+XRenderDirectFormat.green 4
+XRenderDirectFormat.greenMask 6
+XRenderDirectFormat.blue 8
+XRenderDirectFormat.blueMask 10
+XRenderDirectFormat.alpha 12
+XRenderDirectFormat.alphaMask 14
+XRenderDirectFormat 16
+ColorData.awt_Colors 0
+ColorData.awt_numICMcolors 4
+ColorData.awt_icmLUT 8
+ColorData.awt_icmLUT2Colors 12
+ColorData.img_grays 16
+ColorData.img_clr_tbl 20
+ColorData.img_oda_red 24
+ColorData.img_oda_green 28
+ColorData.img_oda_blue 32
+ColorData.pGrayInverseLutData 36
+ColorData.screendata 40
+ColorData 44
+XFontStruct.ext_data 0
+XFontStruct.fid 4
+XFontStruct.direction 8
+XFontStruct.min_char_or_byte2 12
+XFontStruct.max_char_or_byte2 16
+XFontStruct.min_byte1 20
+XFontStruct.max_byte1 24
+XFontStruct.all_chars_exist 28
+XFontStruct.n_properties 36
+XFontStruct.properties 40
+XFontStruct.min_bounds 44
+XFontStruct.max_bounds 56
+XFontStruct.per_char 68
+XFontStruct.ascent 72
+XFontStruct.descent 76
+XFontStruct 80
+XExtCodes.extension 0
+XExtCodes.major_opcode 4
+XExtCodes.first_event 8
+XExtCodes.first_error 12
+XExtCodes 16
+XFontSetExtents.max_ink_extent 0
+XFontSetExtents.max_logical_extent 8
+XFontSetExtents 16
+XSelectionEvent.type 0
+XSelectionEvent.serial 4
+XSelectionEvent.send_event 8
+XSelectionEvent.display 12
+XSelectionEvent.requestor 16
+XSelectionEvent.selection 20
+XSelectionEvent.target 24
+XSelectionEvent.property 28
+XSelectionEvent.time 32
+XSelectionEvent 36
+XArc.x 0
+XArc.y 2
+XArc.width 4
+XArc.height 6
+XArc.angle1 8
+XArc.angle2 10
+XArc 12
+XErrorEvent.type 0
+XErrorEvent.display 4
+XErrorEvent.resourceid 8
+XErrorEvent.serial 12
+XErrorEvent.error_code 16
+XErrorEvent.request_code 17
+XErrorEvent.minor_code 18
+XErrorEvent 20
+XConfigureRequestEvent.type 0
+XConfigureRequestEvent.serial 4
+XConfigureRequestEvent.send_event 8
+XConfigureRequestEvent.display 12
+XConfigureRequestEvent.parent 16
+XConfigureRequestEvent.window 20
+XConfigureRequestEvent.x 24
+XConfigureRequestEvent.y 28
+XConfigureRequestEvent.width 32
+XConfigureRequestEvent.height 36
+XConfigureRequestEvent.border_width 40
+XConfigureRequestEvent.above 44
+XConfigureRequestEvent.detail 48
+XConfigureRequestEvent.value_mask 52
+XConfigureRequestEvent 56
+ScreenFormat.ext_data 0
+ScreenFormat.depth 4
+ScreenFormat.bits_per_pixel 8
+ScreenFormat.scanline_pad 12
+ScreenFormat 16
+XButtonEvent.type 0
+XButtonEvent.serial 4
+XButtonEvent.send_event 8
+XButtonEvent.display 12
+XButtonEvent.window 16
+XButtonEvent.root 20
+XButtonEvent.subwindow 24
+XButtonEvent.time 28
+XButtonEvent.x 32
+XButtonEvent.y 36
+XButtonEvent.x_root 40
+XButtonEvent.y_root 44
+XButtonEvent.state 48
+XButtonEvent.button 52
+XButtonEvent.same_screen 56
+XButtonEvent 60
+XFontProp.name 0
+XFontProp.card32 4
+XFontProp 8
+XIMValuesList.count_values 0
+XIMValuesList.supported_values 4
+XIMValuesList 8
+XKeymapEvent.type 0
+XKeymapEvent.serial 4
+XKeymapEvent.send_event 8
+XKeymapEvent.display 12
+XKeymapEvent.window 16
+XKeymapEvent.key_vector 20
+XKeymapEvent 52
+XTextItem16.chars 0
+XTextItem16.nchars 4
+XTextItem16.delta 8
+XTextItem16.font 12
+XTextItem16 16
+XIMPreeditDrawCallbackStruct.caret 0
+XIMPreeditDrawCallbackStruct.chg_first 4
+XIMPreeditDrawCallbackStruct.chg_length 8
+XIMPreeditDrawCallbackStruct.text 12
+XIMPreeditDrawCallbackStruct 16
+XVisualInfo.visual 0
+XVisualInfo.visualid 4
+XVisualInfo.screen 8
+XVisualInfo.depth 12
+XVisualInfo.class 16
+XVisualInfo.red_mask 20
+XVisualInfo.green_mask 24
+XVisualInfo.blue_mask 28
+XVisualInfo.colormap_size 32
+XVisualInfo.bits_per_rgb 36
+XVisualInfo 40
+XkbControlsNotifyEvent.type 0
+XkbControlsNotifyEvent.serial 4
+XkbControlsNotifyEvent.send_event 8
+XkbControlsNotifyEvent.display 12
+XkbControlsNotifyEvent.time 16
+XkbControlsNotifyEvent.xkb_type 20
+XkbControlsNotifyEvent.device 24
+XkbControlsNotifyEvent.changed_ctrls 28
+XkbControlsNotifyEvent.enabled_ctrls 32
+XkbControlsNotifyEvent.enabled_ctrl_changes 36
+XkbControlsNotifyEvent.num_groups 40
+XkbControlsNotifyEvent.keycode 44
+XkbControlsNotifyEvent.event_type 45
+XkbControlsNotifyEvent.req_major 46
+XkbControlsNotifyEvent.req_minor 47
+XkbControlsNotifyEvent 48
+PropMwmHints.flags 0
+PropMwmHints.functions 4
+PropMwmHints.decorations 8
+PropMwmHints.inputMode 12
+PropMwmHints.status 16
+PropMwmHints 20
+XClientMessageEvent.type 0
+XClientMessageEvent.serial 4
+XClientMessageEvent.send_event 8
+XClientMessageEvent.display 12
+XClientMessageEvent.window 16
+XClientMessageEvent.message_type 20
+XClientMessageEvent.format 24
+XClientMessageEvent.data 28
+XClientMessageEvent 48
+XAnyEvent.type 0
+XAnyEvent.serial 4
+XAnyEvent.send_event 8
+XAnyEvent.display 12
+XAnyEvent.window 16
+XAnyEvent 20
+XkbIndicatorNotifyEvent.type 0
+XkbIndicatorNotifyEvent.serial 4
+XkbIndicatorNotifyEvent.send_event 8
+XkbIndicatorNotifyEvent.display 12
+XkbIndicatorNotifyEvent.time 16
+XkbIndicatorNotifyEvent.xkb_type 20
+XkbIndicatorNotifyEvent.device 24
+XkbIndicatorNotifyEvent.changed 28
+XkbIndicatorNotifyEvent.state 32
+XkbIndicatorNotifyEvent 36
+XIMPreeditStateNotifyCallbackStruct.state 0
+XIMPreeditStateNotifyCallbackStruct 4
+XkbAnyEvent.type 0
+XkbAnyEvent.serial 4
+XkbAnyEvent.send_event 8
+XkbAnyEvent.display 12
+XkbAnyEvent.time 16
+XkbAnyEvent.xkb_type 20
+XkbAnyEvent.device 24
+XkbAnyEvent 28
+XMotionEvent.type 0
+XMotionEvent.serial 4
+XMotionEvent.send_event 8
+XMotionEvent.display 12
+XMotionEvent.window 16
+XMotionEvent.root 20
+XMotionEvent.subwindow 24
+XMotionEvent.time 28
+XMotionEvent.x 32
+XMotionEvent.y 36
+XMotionEvent.x_root 40
+XMotionEvent.y_root 44
+XMotionEvent.state 48
+XMotionEvent.is_hint 52
+XMotionEvent.same_screen 56
+XMotionEvent 60
+XIMHotKeyTriggers.num_hot_key 0
+XIMHotKeyTriggers.key 4
+XIMHotKeyTriggers 8
+XIMStyles.count_styles 0
+XIMStyles.supported_styles 4
+XIMStyles 8
+XkbExtensionDeviceNotifyEvent.type 0
+XkbExtensionDeviceNotifyEvent.serial 4
+XkbExtensionDeviceNotifyEvent.send_event 8
+XkbExtensionDeviceNotifyEvent.display 12
+XkbExtensionDeviceNotifyEvent.time 16
+XkbExtensionDeviceNotifyEvent.xkb_type 20
+XkbExtensionDeviceNotifyEvent.device 24
+XkbExtensionDeviceNotifyEvent.reason 28
+XkbExtensionDeviceNotifyEvent.supported 32
+XkbExtensionDeviceNotifyEvent.unsupported 36
+XkbExtensionDeviceNotifyEvent.first_btn 40
+XkbExtensionDeviceNotifyEvent.num_btns 44
+XkbExtensionDeviceNotifyEvent.leds_defined 48
+XkbExtensionDeviceNotifyEvent.led_state 52
+XkbExtensionDeviceNotifyEvent.led_class 56
+XkbExtensionDeviceNotifyEvent.led_id 60
+XkbExtensionDeviceNotifyEvent 64
+XwcTextItem.chars 0
+XwcTextItem.nchars 4
+XwcTextItem.delta 8
+XwcTextItem.font_set 12
+XwcTextItem 16
+XClassHint.res_name 0
+XClassHint.res_class 4
+XClassHint 8
+XChar2b.byte1 0
+XChar2b.byte2 1
+XChar2b 2
+XSetWindowAttributes.background_pixmap 0
+XSetWindowAttributes.background_pixel 4
+XSetWindowAttributes.border_pixmap 8
+XSetWindowAttributes.border_pixel 12
+XSetWindowAttributes.bit_gravity 16
+XSetWindowAttributes.win_gravity 20
+XSetWindowAttributes.backing_store 24
+XSetWindowAttributes.backing_planes 28
+XSetWindowAttributes.backing_pixel 32
+XSetWindowAttributes.save_under 36
+XSetWindowAttributes.event_mask 40
+XSetWindowAttributes.do_not_propagate_mask 44
+XSetWindowAttributes.override_redirect 48
+XSetWindowAttributes.colormap 52
+XSetWindowAttributes.cursor 56
+XSetWindowAttributes 60
+XRenderPictFormat.id 0
+XRenderPictFormat.type 4
+XRenderPictFormat.depth 8
+XRenderPictFormat.direct 12
+XRenderPictFormat.colormap 28
+XRenderPictFormat 32
+XReparentEvent.type 0
+XReparentEvent.serial 4
+XReparentEvent.send_event 8
+XReparentEvent.display 12
+XReparentEvent.event 16
+XReparentEvent.window 20
+XReparentEvent.parent 24
+XReparentEvent.x 28
+XReparentEvent.y 32
+XReparentEvent.override_redirect 36
+XReparentEvent 40
+XCirculateRequestEvent.type 0
+XCirculateRequestEvent.serial 4
+XCirculateRequestEvent.send_event 8
+XCirculateRequestEvent.display 12
+XCirculateRequestEvent.parent 16
+XCirculateRequestEvent.window 20
+XCirculateRequestEvent.place 24
+XCirculateRequestEvent 28
+XImage.width 0
+XImage.height 4
+XImage.xoffset 8
+XImage.format 12
+XImage.data 16
+XImage.byte_order 20
+XImage.bitmap_unit 24
+XImage.bitmap_bit_order 28
+XImage.bitmap_pad 32
+XImage.depth 36
+XImage.bytes_per_line 40
+XImage.bits_per_pixel 44
+XImage.red_mask 48
+XImage.green_mask 52
+XImage.blue_mask 56
+XImage.obdata 60
+XImage.f.create_image 64
+XImage.f.destroy_image 68
+XImage.f.get_pixel 72
+XImage.f.put_pixel 76
+XImage.f.sub_image 80
+XImage.f.add_pixel 84
+XImage 88
+XKeyEvent.type 0
+XKeyEvent.serial 4
+XKeyEvent.send_event 8
+XKeyEvent.display 12
+XKeyEvent.window 16
+XKeyEvent.root 20
+XKeyEvent.subwindow 24
+XKeyEvent.time 28
+XKeyEvent.x 32
+XKeyEvent.y 36
+XKeyEvent.x_root 40
+XKeyEvent.y_root 44
+XKeyEvent.state 48
+XKeyEvent.keycode 52
+XKeyEvent.same_screen 56
+XKeyEvent 60
+XkbActionMessageEvent.type 0
+XkbActionMessageEvent.serial 4
+XkbActionMessageEvent.send_event 8
+XkbActionMessageEvent.display 12
+XkbActionMessageEvent.time 16
+XkbActionMessageEvent.xkb_type 20
+XkbActionMessageEvent.device 24
+XkbActionMessageEvent.keycode 28
+XkbActionMessageEvent.press 32
+XkbActionMessageEvent.key_event_follows 36
+XkbActionMessageEvent.group 40
+XkbActionMessageEvent.mods 44
+XkbActionMessageEvent.message 48
+XkbActionMessageEvent 56
+XdbeSwapInfo.swap_window 0
+XdbeSwapInfo.swap_action 4
+XdbeSwapInfo 8
+XTextItem.chars 0
+XTextItem.nchars 4
+XTextItem.delta 8
+XTextItem.font 12
+XTextItem 16
+XModifierKeymap.max_keypermod 0
+XModifierKeymap.modifiermap 4
+XModifierKeymap 8
+XCharStruct.lbearing 0
+XCharStruct.rbearing 2
+XCharStruct.width 4
+XCharStruct.ascent 6
+XCharStruct.descent 8
+XCharStruct.attributes 10
+XCharStruct 12
+XGravityEvent.type 0
+XGravityEvent.serial 4
+XGravityEvent.send_event 8
+XGravityEvent.display 12
+XGravityEvent.event 16
+XGravityEvent.window 20
+XGravityEvent.x 24
+XGravityEvent.y 28
+XGravityEvent 32
+Visual.ext_data 0
+Visual.visualid 4
+Visual.class 8
+Visual.red_mask 12
+Visual.green_mask 16
+Visual.blue_mask 20
+Visual.bits_per_rgb 24
+Visual.map_entries 28
+Visual 32
+XOMOrientation.num_orientation 0
+XOMOrientation.orientation 4
+XOMOrientation 8
+XkbAccessXNotifyEvent.type 0
+XkbAccessXNotifyEvent.serial 4
+XkbAccessXNotifyEvent.send_event 8
+XkbAccessXNotifyEvent.display 12
+XkbAccessXNotifyEvent.time 16
+XkbAccessXNotifyEvent.xkb_type 20
+XkbAccessXNotifyEvent.device 24
+XkbAccessXNotifyEvent.detail 28
+XkbAccessXNotifyEvent.keycode 32
+XkbAccessXNotifyEvent.sk_delay 36
+XkbAccessXNotifyEvent.debounce_delay 40
+XkbAccessXNotifyEvent 44
+XWindowAttributes.x 0
+XWindowAttributes.y 4
+XWindowAttributes.width 8
+XWindowAttributes.height 12
+XWindowAttributes.border_width 16
+XWindowAttributes.depth 20
+XWindowAttributes.visual 24
+XWindowAttributes.root 28
+XWindowAttributes.class 32
+XWindowAttributes.bit_gravity 36
+XWindowAttributes.win_gravity 40
+XWindowAttributes.backing_store 44
+XWindowAttributes.backing_planes 48
+XWindowAttributes.backing_pixel 52
+XWindowAttributes.save_under 56
+XWindowAttributes.colormap 60
+XWindowAttributes.map_installed 64
+XWindowAttributes.map_state 68
+XWindowAttributes.all_event_masks 72
+XWindowAttributes.your_event_mask 76
+XWindowAttributes.do_not_propagate_mask 80
+XWindowAttributes.override_redirect 84
+XWindowAttributes.screen 88
+XWindowAttributes 92
+XmbTextItem.chars 0
+XmbTextItem.nchars 4
+XmbTextItem.delta 8
+XmbTextItem.font_set 12
+XmbTextItem 16
+XMappingEvent.type 0
+XMappingEvent.serial 4
+XMappingEvent.send_event 8
+XMappingEvent.display 12
+XMappingEvent.window 16
+XMappingEvent.request 20
+XMappingEvent.first_keycode 24
+XMappingEvent.count 28
+XMappingEvent 32
+XSizeHints.flags 0
+XSizeHints.x 4
+XSizeHints.y 8
+XSizeHints.width 12
+XSizeHints.height 16
+XSizeHints.min_width 20
+XSizeHints.min_height 24
+XSizeHints.max_width 28
+XSizeHints.max_height 32
+XSizeHints.width_inc 36
+XSizeHints.height_inc 40
+XSizeHints.min_aspect.x 44
+XSizeHints.min_aspect.y 48
+XSizeHints.max_aspect.x 52
+XSizeHints.max_aspect.y 56
+XSizeHints.base_width 60
+XSizeHints.base_height 64
+XSizeHints.win_gravity 68
+XSizeHints 72
+XUnmapEvent.type 0
+XUnmapEvent.serial 4
+XUnmapEvent.send_event 8
+XUnmapEvent.display 12
+XUnmapEvent.event 16
+XUnmapEvent.window 20
+XUnmapEvent.from_configure 24
+XUnmapEvent 28
+awtImageData.Depth 0
+awtImageData.wsImageFormat 4
+awtImageData.clrdata 16
+awtImageData.convert 48
+awtImageData 304
+XkbStateNotifyEvent.type 0
+XkbStateNotifyEvent.serial 4
+XkbStateNotifyEvent.send_event 8
+XkbStateNotifyEvent.display 12
+XkbStateNotifyEvent.time 16
+XkbStateNotifyEvent.xkb_type 20
+XkbStateNotifyEvent.device 24
+XkbStateNotifyEvent.changed 28
+XkbStateNotifyEvent.group 32
+XkbStateNotifyEvent.base_group 36
+XkbStateNotifyEvent.latched_group 40
+XkbStateNotifyEvent.locked_group 44
+XkbStateNotifyEvent.mods 48
+XkbStateNotifyEvent.base_mods 52
+XkbStateNotifyEvent.latched_mods 56
+XkbStateNotifyEvent.locked_mods 60
+XkbStateNotifyEvent.compat_state 64
+XkbStateNotifyEvent.grab_mods 68
+XkbStateNotifyEvent.compat_grab_mods 69
+XkbStateNotifyEvent.lookup_mods 70
+XkbStateNotifyEvent.compat_lookup_mods 71
+XkbStateNotifyEvent.ptr_buttons 72
+XkbStateNotifyEvent.keycode 76
+XkbStateNotifyEvent.event_type 77
+XkbStateNotifyEvent.req_major 78
+XkbStateNotifyEvent.req_minor 79
+XkbStateNotifyEvent 80
+XExposeEvent.type 0
+XExposeEvent.serial 4
+XExposeEvent.send_event 8
+XExposeEvent.display 12
+XExposeEvent.window 16
+XExposeEvent.x 20
+XExposeEvent.y 24
+XExposeEvent.width 28
+XExposeEvent.height 32
+XExposeEvent.count 36
+XExposeEvent 40
+XkbMapNotifyEvent.type 0
+XkbMapNotifyEvent.serial 4
+XkbMapNotifyEvent.send_event 8
+XkbMapNotifyEvent.display 12
+XkbMapNotifyEvent.time 16
+XkbMapNotifyEvent.xkb_type 20
+XkbMapNotifyEvent.device 24
+XkbMapNotifyEvent.changed 28
+XkbMapNotifyEvent.flags 32
+XkbMapNotifyEvent.first_type 36
+XkbMapNotifyEvent.num_types 40
+XkbMapNotifyEvent.min_key_code 44
+XkbMapNotifyEvent.max_key_code 45
+XkbMapNotifyEvent.first_key_sym 46
+XkbMapNotifyEvent.first_key_act 47
+XkbMapNotifyEvent.first_key_behavior 48
+XkbMapNotifyEvent.first_key_explicit 49
+XkbMapNotifyEvent.first_modmap_key 50
+XkbMapNotifyEvent.first_vmodmap_key 51
+XkbMapNotifyEvent.num_key_syms 52
+XkbMapNotifyEvent.num_key_acts 56
+XkbMapNotifyEvent.num_key_behaviors 60
+XkbMapNotifyEvent.num_key_explicit 64
+XkbMapNotifyEvent.num_modmap_keys 68
+XkbMapNotifyEvent.num_vmodmap_keys 72
+XkbMapNotifyEvent.vmods 76
+XkbMapNotifyEvent 80
+XGCValues.function 0
+XGCValues.plane_mask 4
+XGCValues.foreground 8
+XGCValues.background 12
+XGCValues.line_width 16
+XGCValues.line_style 20
+XGCValues.cap_style 24
+XGCValues.join_style 28
+XGCValues.fill_style 32
+XGCValues.fill_rule 36
+XGCValues.arc_mode 40
+XGCValues.tile 44
+XGCValues.stipple 48
+XGCValues.ts_x_origin 52
+XGCValues.ts_y_origin 56
+XGCValues.font 60
+XGCValues.subwindow_mode 64
+XGCValues.graphics_exposures 68
+XGCValues.clip_x_origin 72
+XGCValues.clip_y_origin 76
+XGCValues.clip_mask 80
+XGCValues.dash_offset 84
+XGCValues.dashes 88
+XGCValues 92
+XFocusChangeEvent.type 0
+XFocusChangeEvent.serial 4
+XFocusChangeEvent.send_event 8
+XFocusChangeEvent.display 12
+XFocusChangeEvent.window 16
+XFocusChangeEvent.mode 20
+XFocusChangeEvent.detail 24
+XFocusChangeEvent 28
+XPixmapFormatValues.depth 0
+XPixmapFormatValues.bits_per_pixel 4
+XPixmapFormatValues.scanline_pad 8
+XPixmapFormatValues 12
+XMapEvent.type 0
+XMapEvent.serial 4
+XMapEvent.send_event 8
+XMapEvent.display 12
+XMapEvent.event 16
+XMapEvent.window 20
+XMapEvent.override_redirect 24
+XMapEvent 28
+XkbBellNotifyEvent.type 0
+XkbBellNotifyEvent.serial 4
+XkbBellNotifyEvent.send_event 8
+XkbBellNotifyEvent.display 12
+XkbBellNotifyEvent.time 16
+XkbBellNotifyEvent.xkb_type 20
+XkbBellNotifyEvent.device 24
+XkbBellNotifyEvent.percent 28
+XkbBellNotifyEvent.pitch 32
+XkbBellNotifyEvent.duration 36
+XkbBellNotifyEvent.bell_class 40
+XkbBellNotifyEvent.bell_id 44
+XkbBellNotifyEvent.name 48
+XkbBellNotifyEvent.window 52
+XkbBellNotifyEvent.event_only 56
+XkbBellNotifyEvent 60
+XIMStringConversionText.length 0
+XIMStringConversionText.feedback 4
+XIMStringConversionText.encoding_is_wchar 8
+XIMStringConversionText.string 12
+XIMStringConversionText 16
+XKeyboardState.key_click_percent 0
+XKeyboardState.bell_percent 4
+XKeyboardState.bell_pitch 8
+XKeyboardState.bell_duration 12
+XKeyboardState.led_mask 16
+XKeyboardState.global_auto_repeat 20
+XKeyboardState.auto_repeats 24
+XKeyboardState 56
+XkbEvent.type 0
+XkbEvent.any 0
+XkbEvent.new_kbd 0
+XkbEvent.map 0
+XkbEvent.state 0
+XkbEvent.ctrls 0
+XkbEvent.indicators 0
+XkbEvent.names 0
+XkbEvent.compat 0
+XkbEvent.bell 0
+XkbEvent.message 0
+XkbEvent.accessx 0
+XkbEvent.device 0
+XkbEvent.core 0
+XkbEvent 96
+XPoint.x 0
+XPoint.y 2
+XPoint 4
+XSegment.x1 0
+XSegment.y1 2
+XSegment.x2 4
+XSegment.y2 6
+XSegment 8
+XIconSize.min_width 0
+XIconSize.min_height 4
+XIconSize.max_width 8
+XIconSize.max_height 12
+XIconSize.width_inc 16
+XIconSize.height_inc 20
+XIconSize 24
+XIMCallback.client_data 0
+XIMCallback.callback 4
+XIMCallback 8
+XConfigureEvent.type 0
+XConfigureEvent.serial 4
+XConfigureEvent.send_event 8
+XConfigureEvent.display 12
+XConfigureEvent.event 16
+XConfigureEvent.window 20
+XConfigureEvent.x 24
+XConfigureEvent.y 28
+XConfigureEvent.width 32
+XConfigureEvent.height 36
+XConfigureEvent.border_width 40
+XConfigureEvent.above 44
+XConfigureEvent.override_redirect 48
+XConfigureEvent 52
+XRectangle.x 0
+XRectangle.y 2
+XRectangle.width 4
+XRectangle.height 6
+XRectangle 8
+XkbNamesNotifyEvent.type 0
+XkbNamesNotifyEvent.serial 4
+XkbNamesNotifyEvent.send_event 8
+XkbNamesNotifyEvent.display 12
+XkbNamesNotifyEvent.time 16
+XkbNamesNotifyEvent.xkb_type 20
+XkbNamesNotifyEvent.device 24
+XkbNamesNotifyEvent.changed 28
+XkbNamesNotifyEvent.first_type 32
+XkbNamesNotifyEvent.num_types 36
+XkbNamesNotifyEvent.first_lvl 40
+XkbNamesNotifyEvent.num_lvls 44
+XkbNamesNotifyEvent.num_aliases 48
+XkbNamesNotifyEvent.num_radio_groups 52
+XkbNamesNotifyEvent.changed_vmods 56
+XkbNamesNotifyEvent.changed_groups 60
+XkbNamesNotifyEvent.changed_indicators 64
+XkbNamesNotifyEvent.first_key 68
+XkbNamesNotifyEvent.num_keys 72
+XkbNamesNotifyEvent 76
+XCreateWindowEvent.type 0
+XCreateWindowEvent.serial 4
+XCreateWindowEvent.send_event 8
+XCreateWindowEvent.display 12
+XCreateWindowEvent.parent 16
+XCreateWindowEvent.window 20
+XCreateWindowEvent.x 24
+XCreateWindowEvent.y 28
+XCreateWindowEvent.width 32
+XCreateWindowEvent.height 36
+XCreateWindowEvent.border_width 40
+XCreateWindowEvent.override_redirect 44
+XCreateWindowEvent 48
+XVisibilityEvent.type 0
+XVisibilityEvent.serial 4
+XVisibilityEvent.send_event 8
+XVisibilityEvent.display 12
+XVisibilityEvent.window 16
+XVisibilityEvent.state 20
+XVisibilityEvent 24
+XWMHints.flags 0
+XWMHints.initial_state 8
+XWMHints.icon_pixmap 12
+XWMHints.icon_window 16
+XWMHints.icon_x 20
+XWMHints.icon_y 24
+XWMHints.icon_mask 28
+XWMHints.input 4
+XWMHints.window_group 32
+XWMHints 36
+XCrossingEvent.type 0
+XCrossingEvent.serial 4
+XCrossingEvent.send_event 8
+XCrossingEvent.display 12
+XCrossingEvent.window 16
+XCrossingEvent.root 20
+XCrossingEvent.subwindow 24
+XCrossingEvent.time 28
+XCrossingEvent.x 32
+XCrossingEvent.y 36
+XCrossingEvent.x_root 40
+XCrossingEvent.y_root 44
+XCrossingEvent.mode 48
+XCrossingEvent.detail 52
+XCrossingEvent.same_screen 56
+XCrossingEvent.focus 60
+XCrossingEvent.state 64
+XCrossingEvent 68
+XSelectionRequestEvent.type 0
+XSelectionRequestEvent.serial 4
+XSelectionRequestEvent.send_event 8
+XSelectionRequestEvent.display 12
+XSelectionRequestEvent.owner 16
+XSelectionRequestEvent.requestor 20
+XSelectionRequestEvent.selection 24
+XSelectionRequestEvent.target 28
+XSelectionRequestEvent.property 32
+XSelectionRequestEvent.time 36
+XSelectionRequestEvent 40
+XNoExposeEvent.type 0
+XNoExposeEvent.serial 4
+XNoExposeEvent.send_event 8
+XNoExposeEvent.display 12
+XNoExposeEvent.drawable 16
+XNoExposeEvent.major_code 20
+XNoExposeEvent.minor_code 24
+XNoExposeEvent 28
+XHostAddress.family 0
+XHostAddress.length 4
+XHostAddress.address 8
+XHostAddress 12
+XColormapEvent.type 0
+XColormapEvent.serial 4
+XColormapEvent.send_event 8
+XColormapEvent.display 12
+XColormapEvent.window 16
+XColormapEvent.colormap 20
+XColormapEvent.new 24
+XColormapEvent.state 28
+XColormapEvent 32
+ColorEntry.r 0
+ColorEntry.g 1
+ColorEntry.b 2
+ColorEntry.flags 3
+ColorEntry 4
+XResizeRequestEvent.type 0
+XResizeRequestEvent.serial 4
+XResizeRequestEvent.send_event 8
+XResizeRequestEvent.display 12
+XResizeRequestEvent.window 16
+XResizeRequestEvent.width 20
+XResizeRequestEvent.height 24
+XResizeRequestEvent 28
+Depth.depth 0
+Depth.nvisuals 4
+Depth.visuals 8
+Depth 12
+XPropertyEvent.type 0
+XPropertyEvent.serial 4
+XPropertyEvent.send_event 8
+XPropertyEvent.display 12
+XPropertyEvent.window 16
+XPropertyEvent.atom 20
+XPropertyEvent.time 24
+XPropertyEvent.state 28
+XPropertyEvent 32
+XDestroyWindowEvent.type 0
+XDestroyWindowEvent.serial 4
+XDestroyWindowEvent.send_event 8
+XDestroyWindowEvent.display 12
+XDestroyWindowEvent.event 16
+XDestroyWindowEvent.window 20
+XDestroyWindowEvent 24
+XStandardColormap.colormap 0
+XStandardColormap.red_max 4
+XStandardColormap.red_mult 8
+XStandardColormap.green_max 12
+XStandardColormap.green_mult 16
+XStandardColormap.blue_max 20
+XStandardColormap.blue_mult 24
+XStandardColormap.base_pixel 28
+XStandardColormap.visualid 32
+XStandardColormap.killid 36
+XStandardColormap 40
+XComposeStatus.compose_ptr 0
+XComposeStatus.chars_matched 4
+XComposeStatus 8
+AwtGraphicsConfigData.awt_depth 0
+AwtGraphicsConfigData.awt_cmap 4
+AwtGraphicsConfigData.awt_visInfo 8
+AwtGraphicsConfigData.awt_num_colors 48
+AwtGraphicsConfigData.awtImage 52
+AwtGraphicsConfigData.AwtColorMatch 56
+AwtGraphicsConfigData.monoImage 60
+AwtGraphicsConfigData.monoPixmap 64
+AwtGraphicsConfigData.monoPixmapWidth 68
+AwtGraphicsConfigData.monoPixmapHeight 72
+AwtGraphicsConfigData.monoPixmapGC 76
+AwtGraphicsConfigData.pixelStride 80
+AwtGraphicsConfigData.color_data 84
+AwtGraphicsConfigData.glxInfo 88
+AwtGraphicsConfigData.isTranslucencySupported 92
+AwtGraphicsConfigData.renderPictFormat 96
+AwtGraphicsConfigData 128
+XColor.pixel 0
+XColor.red 4
+XColor.green 6
+XColor.blue 8
+XColor.flags 10
+XColor.pad 11
+XColor 12
+XTextProperty.value 0
+XTextProperty.encoding 4
+XTextProperty.format 8
+XTextProperty.nitems 12
+XTextProperty 16
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/data/x11wrappergen/sizes.64 Mon Feb 17 11:37:46 2014 -0500
@@ -0,0 +1,1016 @@
+long 8
+int 4
+short 2
+ptr 8
+Bool 4
+Atom 8
+Window 8
+XExtData.number 0
+XExtData.next 8
+XExtData.free_private 16
+XExtData.private_data 24
+XExtData 32
+XIMStringConversionCallbackStruct.position 0
+XIMStringConversionCallbackStruct.direction 4
+XIMStringConversionCallbackStruct.operation 8
+XIMStringConversionCallbackStruct.factor 10
+XIMStringConversionCallbackStruct.text 16
+XIMStringConversionCallbackStruct 24
+XkbNewKeyboardNotifyEvent.type 0
+XkbNewKeyboardNotifyEvent.serial 8
+XkbNewKeyboardNotifyEvent.send_event 16
+XkbNewKeyboardNotifyEvent.display 24
+XkbNewKeyboardNotifyEvent.time 32
+XkbNewKeyboardNotifyEvent.xkb_type 40
+XkbNewKeyboardNotifyEvent.device 44
+XkbNewKeyboardNotifyEvent.old_device 48
+XkbNewKeyboardNotifyEvent.min_key_code 52
+XkbNewKeyboardNotifyEvent.max_key_code 56
+XkbNewKeyboardNotifyEvent.old_min_key_code 60
+XkbNewKeyboardNotifyEvent.old_max_key_code 64
+XkbNewKeyboardNotifyEvent.changed 68
+XkbNewKeyboardNotifyEvent.req_major 72
+XkbNewKeyboardNotifyEvent.req_minor 73
+XkbNewKeyboardNotifyEvent 80
+XTimeCoord.time 0
+XTimeCoord.x 8
+XTimeCoord.y 10
+XTimeCoord 16
+XkbCompatMapNotifyEvent.type 0
+XkbCompatMapNotifyEvent.serial 8
+XkbCompatMapNotifyEvent.send_event 16
+XkbCompatMapNotifyEvent.display 24
+XkbCompatMapNotifyEvent.time 32
+XkbCompatMapNotifyEvent.xkb_type 40
+XkbCompatMapNotifyEvent.device 44
+XkbCompatMapNotifyEvent.changed_groups 48
+XkbCompatMapNotifyEvent.first_si 52
+XkbCompatMapNotifyEvent.num_si 56
+XkbCompatMapNotifyEvent.num_total_si 60
+XkbCompatMapNotifyEvent 64
+XIMStatusDrawCallbackStruct.type 0
+XIMStatusDrawCallbackStruct.data 8
+XIMStatusDrawCallbackStruct 16
+XKeyboardControl.key_click_percent 0
+XKeyboardControl.bell_percent 4
+XKeyboardControl.bell_pitch 8
+XKeyboardControl.bell_duration 12
+XKeyboardControl.led 16
+XKeyboardControl.led_mode 20
+XKeyboardControl.key 24
+XKeyboardControl.auto_repeat_mode 28
+XKeyboardControl 32
+XSelectionClearEvent.type 0
+XSelectionClearEvent.serial 8
+XSelectionClearEvent.send_event 16
+XSelectionClearEvent.display 24
+XSelectionClearEvent.window 32
+XSelectionClearEvent.selection 40
+XSelectionClearEvent.time 48
+XSelectionClearEvent 56
+XWindowChanges.x 0
+XWindowChanges.y 4
+XWindowChanges.width 8
+XWindowChanges.height 12
+XWindowChanges.border_width 16
+XWindowChanges.sibling 24
+XWindowChanges.stack_mode 32
+XWindowChanges 40
+XIMPreeditCaretCallbackStruct.position 0
+XIMPreeditCaretCallbackStruct.direction 4
+XIMPreeditCaretCallbackStruct.style 8
+XIMPreeditCaretCallbackStruct 12
+XOMCharSetList.charset_count 0
+XOMCharSetList.charset_list 8
+XOMCharSetList 16
+XOMFontInfo.num_font 0
+XOMFontInfo.font_struct_list 8
+XOMFontInfo.font_name_list 16
+XOMFontInfo 24
+AwtScreenData.numConfigs 0
+AwtScreenData.root 8
+AwtScreenData.whitepixel 16
+AwtScreenData.blackpixel 24
+AwtScreenData.defaultConfig 32
+AwtScreenData.configs 40
+AwtScreenData 48
+XIMHotKeyTrigger.keysym 0
+XIMHotKeyTrigger.modifier 8
+XIMHotKeyTrigger.modifier_mask 12
+XIMHotKeyTrigger 16
+XCirculateEvent.type 0
+XCirculateEvent.serial 8
+XCirculateEvent.send_event 16
+XCirculateEvent.display 24
+XCirculateEvent.event 32
+XCirculateEvent.window 40
+XCirculateEvent.place 48
+XCirculateEvent 56
+Screen.ext_data 0
+Screen.display 8
+Screen.root 16
+Screen.width 24
+Screen.height 28
+Screen.mwidth 32
+Screen.mheight 36
+Screen.ndepths 40
+Screen.depths 48
+Screen.root_depth 56
+Screen.root_visual 64
+Screen.default_gc 72
+Screen.cmap 80
+Screen.white_pixel 88
+Screen.black_pixel 96
+Screen.max_maps 104
+Screen.min_maps 108
+Screen.backing_store 112
+Screen.save_unders 116
+Screen.root_input_mask 120
+Screen 128
+XMapRequestEvent.type 0
+XMapRequestEvent.serial 8
+XMapRequestEvent.send_event 16
+XMapRequestEvent.display 24
+XMapRequestEvent.parent 32
+XMapRequestEvent.window 40
+XMapRequestEvent 48
+XIMText.length 0
+XIMText.feedback 8
+XIMText.encoding_is_wchar 16
+XIMText.string 24
+XIMText 32
+XGraphicsExposeEvent.type 0
+XGraphicsExposeEvent.serial 8
+XGraphicsExposeEvent.send_event 16
+XGraphicsExposeEvent.display 24
+XGraphicsExposeEvent.drawable 32
+XGraphicsExposeEvent.x 40
+XGraphicsExposeEvent.y 44
+XGraphicsExposeEvent.width 48
+XGraphicsExposeEvent.height 52
+XGraphicsExposeEvent.count 56
+XGraphicsExposeEvent.major_code 60
+XGraphicsExposeEvent.minor_code 64
+XGraphicsExposeEvent 72
+XEvent.type 0
+XEvent.xany 0
+XEvent.xkey 0
+XEvent.xbutton 0
+XEvent.xmotion 0
+XEvent.xcrossing 0
+XEvent.xfocus 0
+XEvent.xexpose 0
+XEvent.xgraphicsexpose 0
+XEvent.xnoexpose 0
+XEvent.xvisibility 0
+XEvent.xcreatewindow 0
+XEvent.xdestroywindow 0
+XEvent.xunmap 0
+XEvent.xmap 0
+XEvent.xmaprequest 0
+XEvent.xreparent 0
+XEvent.xconfigure 0
+XEvent.xgravity 0
+XEvent.xresizerequest 0
+XEvent.xconfigurerequest 0
+XEvent.xcirculate 0
+XEvent.xcirculaterequest 0
+XEvent.xproperty 0
+XEvent.xselectionclear 0
+XEvent.xselectionrequest 0
+XEvent.xselection 0
+XEvent.xcolormap 0
+XEvent.xclient 0
+XEvent.xmapping 0
+XEvent.xerror 0
+XEvent.xkeymap 0
+XEvent.pad 0
+XEvent 192
+XRenderDirectFormat.red 0
+XRenderDirectFormat.redMask 2
+XRenderDirectFormat.green 4
+XRenderDirectFormat.greenMask 6
+XRenderDirectFormat.blue 8
+XRenderDirectFormat.blueMask 10
+XRenderDirectFormat.alpha 12
+XRenderDirectFormat.alphaMask 14
+XRenderDirectFormat 16
+ColorData.awt_Colors 0
+ColorData.awt_numICMcolors 8
+ColorData.awt_icmLUT 16
+ColorData.awt_icmLUT2Colors 24
+ColorData.img_grays 32
+ColorData.img_clr_tbl 40
+ColorData.img_oda_red 48
+ColorData.img_oda_green 56
+ColorData.img_oda_blue 64
+ColorData.pGrayInverseLutData 72
+ColorData.screendata 80
+ColorData 88
+XFontStruct.ext_data 0
+XFontStruct.fid 8
+XFontStruct.direction 16
+XFontStruct.min_char_or_byte2 20
+XFontStruct.max_char_or_byte2 24
+XFontStruct.min_byte1 28
+XFontStruct.max_byte1 32
+XFontStruct.all_chars_exist 36
+XFontStruct.n_properties 44
+XFontStruct.properties 48
+XFontStruct.min_bounds 56
+XFontStruct.max_bounds 68
+XFontStruct.per_char 80
+XFontStruct.ascent 88
+XFontStruct.descent 92
+XFontStruct 96
+XExtCodes.extension 0
+XExtCodes.major_opcode 4
+XExtCodes.first_event 8
+XExtCodes.first_error 12
+XExtCodes 16
+XFontSetExtents.max_ink_extent 0
+XFontSetExtents.max_logical_extent 8
+XFontSetExtents 16
+XSelectionEvent.type 0
+XSelectionEvent.serial 8
+XSelectionEvent.send_event 16
+XSelectionEvent.display 24
+XSelectionEvent.requestor 32
+XSelectionEvent.selection 40
+XSelectionEvent.target 48
+XSelectionEvent.property 56
+XSelectionEvent.time 64
+XSelectionEvent 72
+XArc.x 0
+XArc.y 2
+XArc.width 4
+XArc.height 6
+XArc.angle1 8
+XArc.angle2 10
+XArc 12
+XErrorEvent.type 0
+XErrorEvent.display 8
+XErrorEvent.resourceid 16
+XErrorEvent.serial 24
+XErrorEvent.error_code 32
+XErrorEvent.request_code 33
+XErrorEvent.minor_code 34
+XErrorEvent 40
+XConfigureRequestEvent.type 0
+XConfigureRequestEvent.serial 8
+XConfigureRequestEvent.send_event 16
+XConfigureRequestEvent.display 24
+XConfigureRequestEvent.parent 32
+XConfigureRequestEvent.window 40
+XConfigureRequestEvent.x 48
+XConfigureRequestEvent.y 52
+XConfigureRequestEvent.width 56
+XConfigureRequestEvent.height 60
+XConfigureRequestEvent.border_width 64
+XConfigureRequestEvent.above 72
+XConfigureRequestEvent.detail 80
+XConfigureRequestEvent.value_mask 88
+XConfigureRequestEvent 96
+ScreenFormat.ext_data 0
+ScreenFormat.depth 8
+ScreenFormat.bits_per_pixel 12
+ScreenFormat.scanline_pad 16
+ScreenFormat 24
+XButtonEvent.type 0
+XButtonEvent.serial 8
+XButtonEvent.send_event 16
+XButtonEvent.display 24
+XButtonEvent.window 32
+XButtonEvent.root 40
+XButtonEvent.subwindow 48
+XButtonEvent.time 56
+XButtonEvent.x 64
+XButtonEvent.y 68
+XButtonEvent.x_root 72
+XButtonEvent.y_root 76
+XButtonEvent.state 80
+XButtonEvent.button 84
+XButtonEvent.same_screen 88
+XButtonEvent 96
+XFontProp.name 0
+XFontProp.card32 8
+XFontProp 16
+XIMValuesList.count_values 0
+XIMValuesList.supported_values 8
+XIMValuesList 16
+XKeymapEvent.type 0
+XKeymapEvent.serial 8
+XKeymapEvent.send_event 16
+XKeymapEvent.display 24
+XKeymapEvent.window 32
+XKeymapEvent.key_vector 40
+XKeymapEvent 72
+XTextItem16.chars 0
+XTextItem16.nchars 8
+XTextItem16.delta 12
+XTextItem16.font 16
+XTextItem16 24
+XIMPreeditDrawCallbackStruct.caret 0
+XIMPreeditDrawCallbackStruct.chg_first 4
+XIMPreeditDrawCallbackStruct.chg_length 8
+XIMPreeditDrawCallbackStruct.text 16
+XIMPreeditDrawCallbackStruct 24
+XVisualInfo.visual 0
+XVisualInfo.visualid 8
+XVisualInfo.screen 16
+XVisualInfo.depth 20
+XVisualInfo.class 24
+XVisualInfo.red_mask 32
+XVisualInfo.green_mask 40
+XVisualInfo.blue_mask 48
+XVisualInfo.colormap_size 56
+XVisualInfo.bits_per_rgb 60
+XVisualInfo 64
+XkbControlsNotifyEvent.type 0
+XkbControlsNotifyEvent.serial 8
+XkbControlsNotifyEvent.send_event 16
+XkbControlsNotifyEvent.display 24
+XkbControlsNotifyEvent.time 32
+XkbControlsNotifyEvent.xkb_type 40
+XkbControlsNotifyEvent.device 44
+XkbControlsNotifyEvent.changed_ctrls 48
+XkbControlsNotifyEvent.enabled_ctrls 52
+XkbControlsNotifyEvent.enabled_ctrl_changes 56
+XkbControlsNotifyEvent.num_groups 60
+XkbControlsNotifyEvent.keycode 64
+XkbControlsNotifyEvent.event_type 65
+XkbControlsNotifyEvent.req_major 66
+XkbControlsNotifyEvent.req_minor 67
+XkbControlsNotifyEvent 72
+PropMwmHints.flags 0
+PropMwmHints.functions 8
+PropMwmHints.decorations 16
+PropMwmHints.inputMode 24
+PropMwmHints.status 32
+PropMwmHints 40
+XClientMessageEvent.type 0
+XClientMessageEvent.serial 8
+XClientMessageEvent.send_event 16
+XClientMessageEvent.display 24
+XClientMessageEvent.window 32
+XClientMessageEvent.message_type 40
+XClientMessageEvent.format 48
+XClientMessageEvent.data 56
+XClientMessageEvent 96
+XAnyEvent.type 0
+XAnyEvent.serial 8
+XAnyEvent.send_event 16
+XAnyEvent.display 24
+XAnyEvent.window 32
+XAnyEvent 40
+XkbIndicatorNotifyEvent.type 0
+XkbIndicatorNotifyEvent.serial 8
+XkbIndicatorNotifyEvent.send_event 16
+XkbIndicatorNotifyEvent.display 24
+XkbIndicatorNotifyEvent.time 32
+XkbIndicatorNotifyEvent.xkb_type 40
+XkbIndicatorNotifyEvent.device 44
+XkbIndicatorNotifyEvent.changed 48
+XkbIndicatorNotifyEvent.state 52
+XkbIndicatorNotifyEvent 56
+XIMPreeditStateNotifyCallbackStruct.state 0
+XIMPreeditStateNotifyCallbackStruct 8
+XkbAnyEvent.type 0
+XkbAnyEvent.serial 8
+XkbAnyEvent.send_event 16
+XkbAnyEvent.display 24
+XkbAnyEvent.time 32
+XkbAnyEvent.xkb_type 40
+XkbAnyEvent.device 44
+XkbAnyEvent 48
+XMotionEvent.type 0
+XMotionEvent.serial 8
+XMotionEvent.send_event 16
+XMotionEvent.display 24
+XMotionEvent.window 32
+XMotionEvent.root 40
+XMotionEvent.subwindow 48
+XMotionEvent.time 56
+XMotionEvent.x 64
+XMotionEvent.y 68
+XMotionEvent.x_root 72
+XMotionEvent.y_root 76
+XMotionEvent.state 80
+XMotionEvent.is_hint 84
+XMotionEvent.same_screen 88
+XMotionEvent 96
+XIMHotKeyTriggers.num_hot_key 0
+XIMHotKeyTriggers.key 8
+XIMHotKeyTriggers 16
+XIMStyles.count_styles 0
+XIMStyles.supported_styles 8
+XIMStyles 16
+XkbExtensionDeviceNotifyEvent.type 0
+XkbExtensionDeviceNotifyEvent.serial 8
+XkbExtensionDeviceNotifyEvent.send_event 16
+XkbExtensionDeviceNotifyEvent.display 24
+XkbExtensionDeviceNotifyEvent.time 32
+XkbExtensionDeviceNotifyEvent.xkb_type 40
+XkbExtensionDeviceNotifyEvent.device 44
+XkbExtensionDeviceNotifyEvent.reason 48
+XkbExtensionDeviceNotifyEvent.supported 52
+XkbExtensionDeviceNotifyEvent.unsupported 56
+XkbExtensionDeviceNotifyEvent.first_btn 60
+XkbExtensionDeviceNotifyEvent.num_btns 64
+XkbExtensionDeviceNotifyEvent.leds_defined 68
+XkbExtensionDeviceNotifyEvent.led_state 72
+XkbExtensionDeviceNotifyEvent.led_class 76
+XkbExtensionDeviceNotifyEvent.led_id 80
+XkbExtensionDeviceNotifyEvent 88
+XwcTextItem.chars 0
+XwcTextItem.nchars 8
+XwcTextItem.delta 12
+XwcTextItem.font_set 16
+XwcTextItem 24
+XClassHint.res_name 0
+XClassHint.res_class 8
+XClassHint 16
+XChar2b.byte1 0
+XChar2b.byte2 1
+XChar2b 2
+XSetWindowAttributes.background_pixmap 0
+XSetWindowAttributes.background_pixel 8
+XSetWindowAttributes.border_pixmap 16
+XSetWindowAttributes.border_pixel 24
+XSetWindowAttributes.bit_gravity 32
+XSetWindowAttributes.win_gravity 36
+XSetWindowAttributes.backing_store 40
+XSetWindowAttributes.backing_planes 48
+XSetWindowAttributes.backing_pixel 56
+XSetWindowAttributes.save_under 64
+XSetWindowAttributes.event_mask 72
+XSetWindowAttributes.do_not_propagate_mask 80
+XSetWindowAttributes.override_redirect 88
+XSetWindowAttributes.colormap 96
+XSetWindowAttributes.cursor 104
+XSetWindowAttributes 112
+XRenderPictFormat.id 0
+XRenderPictFormat.type 8
+XRenderPictFormat.depth 12
+XRenderPictFormat.direct 16
+XRenderPictFormat.colormap 32
+XRenderPictFormat 40
+XReparentEvent.type 0
+XReparentEvent.serial 8
+XReparentEvent.send_event 16
+XReparentEvent.display 24
+XReparentEvent.event 32
+XReparentEvent.window 40
+XReparentEvent.parent 48
+XReparentEvent.x 56
+XReparentEvent.y 60
+XReparentEvent.override_redirect 64
+XReparentEvent 72
+XCirculateRequestEvent.type 0
+XCirculateRequestEvent.serial 8
+XCirculateRequestEvent.send_event 16
+XCirculateRequestEvent.display 24
+XCirculateRequestEvent.parent 32
+XCirculateRequestEvent.window 40
+XCirculateRequestEvent.place 48
+XCirculateRequestEvent 56
+XImage.width 0
+XImage.height 4
+XImage.xoffset 8
+XImage.format 12
+XImage.data 16
+XImage.byte_order 24
+XImage.bitmap_unit 28
+XImage.bitmap_bit_order 32
+XImage.bitmap_pad 36
+XImage.depth 40
+XImage.bytes_per_line 44
+XImage.bits_per_pixel 48
+XImage.red_mask 56
+XImage.green_mask 64
+XImage.blue_mask 72
+XImage.obdata 80
+XImage.f.create_image 88
+XImage.f.destroy_image 96
+XImage.f.get_pixel 104
+XImage.f.put_pixel 112
+XImage.f.sub_image 120
+XImage.f.add_pixel 128
+XImage 136
+XKeyEvent.type 0
+XKeyEvent.serial 8
+XKeyEvent.send_event 16
+XKeyEvent.display 24
+XKeyEvent.window 32
+XKeyEvent.root 40
+XKeyEvent.subwindow 48
+XKeyEvent.time 56
+XKeyEvent.x 64
+XKeyEvent.y 68
+XKeyEvent.x_root 72
+XKeyEvent.y_root 76
+XKeyEvent.state 80
+XKeyEvent.keycode 84
+XKeyEvent.same_screen 88
+XKeyEvent 96
+XkbActionMessageEvent.type 0
+XkbActionMessageEvent.serial 8
+XkbActionMessageEvent.send_event 16
+XkbActionMessageEvent.display 24
+XkbActionMessageEvent.time 32
+XkbActionMessageEvent.xkb_type 40
+XkbActionMessageEvent.device 44
+XkbActionMessageEvent.keycode 48
+XkbActionMessageEvent.press 52
+XkbActionMessageEvent.key_event_follows 56
+XkbActionMessageEvent.group 60
+XkbActionMessageEvent.mods 64
+XkbActionMessageEvent.message 68
+XkbActionMessageEvent 80
+XdbeSwapInfo.swap_window 0
+XdbeSwapInfo.swap_action 8
+XdbeSwapInfo 16
+XTextItem.chars 0
+XTextItem.nchars 8
+XTextItem.delta 12
+XTextItem.font 16
+XTextItem 24
+XModifierKeymap.max_keypermod 0
+XModifierKeymap.modifiermap 8
+XModifierKeymap 16
+XCharStruct.lbearing 0
+XCharStruct.rbearing 2
+XCharStruct.width 4
+XCharStruct.ascent 6
+XCharStruct.descent 8
+XCharStruct.attributes 10
+XCharStruct 12
+XGravityEvent.type 0
+XGravityEvent.serial 8
+XGravityEvent.send_event 16
+XGravityEvent.display 24
+XGravityEvent.event 32
+XGravityEvent.window 40
+XGravityEvent.x 48
+XGravityEvent.y 52
+XGravityEvent 56
+Visual.ext_data 0
+Visual.visualid 8
+Visual.class 16
+Visual.red_mask 24
+Visual.green_mask 32
+Visual.blue_mask 40
+Visual.bits_per_rgb 48
+Visual.map_entries 52
+Visual 56
+XOMOrientation.num_orientation 0
+XOMOrientation.orientation 8
+XOMOrientation 16
+XkbAccessXNotifyEvent.type 0
+XkbAccessXNotifyEvent.serial 8
+XkbAccessXNotifyEvent.send_event 16
+XkbAccessXNotifyEvent.display 24
+XkbAccessXNotifyEvent.time 32
+XkbAccessXNotifyEvent.xkb_type 40
+XkbAccessXNotifyEvent.device 44
+XkbAccessXNotifyEvent.detail 48
+XkbAccessXNotifyEvent.keycode 52
+XkbAccessXNotifyEvent.sk_delay 56
+XkbAccessXNotifyEvent.debounce_delay 60
+XkbAccessXNotifyEvent 64
+XWindowAttributes.x 0
+XWindowAttributes.y 4
+XWindowAttributes.width 8
+XWindowAttributes.height 12
+XWindowAttributes.border_width 16
+XWindowAttributes.depth 20
+XWindowAttributes.visual 24
+XWindowAttributes.root 32
+XWindowAttributes.class 40
+XWindowAttributes.bit_gravity 44
+XWindowAttributes.win_gravity 48
+XWindowAttributes.backing_store 52
+XWindowAttributes.backing_planes 56
+XWindowAttributes.backing_pixel 64
+XWindowAttributes.save_under 72
+XWindowAttributes.colormap 80
+XWindowAttributes.map_installed 88
+XWindowAttributes.map_state 92
+XWindowAttributes.all_event_masks 96
+XWindowAttributes.your_event_mask 104
+XWindowAttributes.do_not_propagate_mask 112
+XWindowAttributes.override_redirect 120
+XWindowAttributes.screen 128
+XWindowAttributes 136
+XmbTextItem.chars 0
+XmbTextItem.nchars 8
+XmbTextItem.delta 12
+XmbTextItem.font_set 16
+XmbTextItem 24
+XMappingEvent.type 0
+XMappingEvent.serial 8
+XMappingEvent.send_event 16
+XMappingEvent.display 24
+XMappingEvent.window 32
+XMappingEvent.request 40
+XMappingEvent.first_keycode 44
+XMappingEvent.count 48
+XMappingEvent 56
+XSizeHints.flags 0
+XSizeHints.x 8
+XSizeHints.y 12
+XSizeHints.width 16
+XSizeHints.height 20
+XSizeHints.min_width 24
+XSizeHints.min_height 28
+XSizeHints.max_width 32
+XSizeHints.max_height 36
+XSizeHints.width_inc 40
+XSizeHints.height_inc 44
+XSizeHints.min_aspect.x 48
+XSizeHints.min_aspect.y 52
+XSizeHints.max_aspect.x 56
+XSizeHints.max_aspect.y 60
+XSizeHints.base_width 64
+XSizeHints.base_height 68
+XSizeHints.win_gravity 72
+XSizeHints 80
+XUnmapEvent.type 0
+XUnmapEvent.serial 8
+XUnmapEvent.send_event 16
+XUnmapEvent.display 24
+XUnmapEvent.event 32
+XUnmapEvent.window 40
+XUnmapEvent.from_configure 48
+XUnmapEvent 56
+awtImageData.Depth 0
+awtImageData.wsImageFormat 4
+awtImageData.clrdata 16
+awtImageData.convert 48
+awtImageData 560
+XkbStateNotifyEvent.type 0
+XkbStateNotifyEvent.serial 8
+XkbStateNotifyEvent.send_event 16
+XkbStateNotifyEvent.display 24
+XkbStateNotifyEvent.time 32
+XkbStateNotifyEvent.xkb_type 40
+XkbStateNotifyEvent.device 44
+XkbStateNotifyEvent.changed 48
+XkbStateNotifyEvent.group 52
+XkbStateNotifyEvent.base_group 56
+XkbStateNotifyEvent.latched_group 60
+XkbStateNotifyEvent.locked_group 64
+XkbStateNotifyEvent.mods 68
+XkbStateNotifyEvent.base_mods 72
+XkbStateNotifyEvent.latched_mods 76
+XkbStateNotifyEvent.locked_mods 80
+XkbStateNotifyEvent.compat_state 84
+XkbStateNotifyEvent.grab_mods 88
+XkbStateNotifyEvent.compat_grab_mods 89
+XkbStateNotifyEvent.lookup_mods 90
+XkbStateNotifyEvent.compat_lookup_mods 91
+XkbStateNotifyEvent.ptr_buttons 92
+XkbStateNotifyEvent.keycode 96
+XkbStateNotifyEvent.event_type 97
+XkbStateNotifyEvent.req_major 98
+XkbStateNotifyEvent.req_minor 99
+XkbStateNotifyEvent 104
+XExposeEvent.type 0
+XExposeEvent.serial 8
+XExposeEvent.send_event 16
+XExposeEvent.display 24
+XExposeEvent.window 32
+XExposeEvent.x 40
+XExposeEvent.y 44
+XExposeEvent.width 48
+XExposeEvent.height 52
+XExposeEvent.count 56
+XExposeEvent 64
+XkbMapNotifyEvent.type 0
+XkbMapNotifyEvent.serial 8
+XkbMapNotifyEvent.send_event 16
+XkbMapNotifyEvent.display 24
+XkbMapNotifyEvent.time 32
+XkbMapNotifyEvent.xkb_type 40
+XkbMapNotifyEvent.device 44
+XkbMapNotifyEvent.changed 48
+XkbMapNotifyEvent.flags 52
+XkbMapNotifyEvent.first_type 56
+XkbMapNotifyEvent.num_types 60
+XkbMapNotifyEvent.min_key_code 64
+XkbMapNotifyEvent.max_key_code 65
+XkbMapNotifyEvent.first_key_sym 66
+XkbMapNotifyEvent.first_key_act 67
+XkbMapNotifyEvent.first_key_behavior 68
+XkbMapNotifyEvent.first_key_explicit 69
+XkbMapNotifyEvent.first_modmap_key 70
+XkbMapNotifyEvent.first_vmodmap_key 71
+XkbMapNotifyEvent.num_key_syms 72
+XkbMapNotifyEvent.num_key_acts 76
+XkbMapNotifyEvent.num_key_behaviors 80
+XkbMapNotifyEvent.num_key_explicit 84
+XkbMapNotifyEvent.num_modmap_keys 88
+XkbMapNotifyEvent.num_vmodmap_keys 92
+XkbMapNotifyEvent.vmods 96
+XkbMapNotifyEvent 104
+XGCValues.function 0
+XGCValues.plane_mask 8
+XGCValues.foreground 16
+XGCValues.background 24
+XGCValues.line_width 32
+XGCValues.line_style 36
+XGCValues.cap_style 40
+XGCValues.join_style 44
+XGCValues.fill_style 48
+XGCValues.fill_rule 52
+XGCValues.arc_mode 56
+XGCValues.tile 64
+XGCValues.stipple 72
+XGCValues.ts_x_origin 80
+XGCValues.ts_y_origin 84
+XGCValues.font 88
+XGCValues.subwindow_mode 96
+XGCValues.graphics_exposures 100
+XGCValues.clip_x_origin 104
+XGCValues.clip_y_origin 108
+XGCValues.clip_mask 112
+XGCValues.dash_offset 120
+XGCValues.dashes 124
+XGCValues 128
+XFocusChangeEvent.type 0
+XFocusChangeEvent.serial 8
+XFocusChangeEvent.send_event 16
+XFocusChangeEvent.display 24
+XFocusChangeEvent.window 32
+XFocusChangeEvent.mode 40
+XFocusChangeEvent.detail 44
+XFocusChangeEvent 48
+XPixmapFormatValues.depth 0
+XPixmapFormatValues.bits_per_pixel 4
+XPixmapFormatValues.scanline_pad 8
+XPixmapFormatValues 12
+XMapEvent.type 0
+XMapEvent.serial 8
+XMapEvent.send_event 16
+XMapEvent.display 24
+XMapEvent.event 32
+XMapEvent.window 40
+XMapEvent.override_redirect 48
+XMapEvent 56
+XkbBellNotifyEvent.type 0
+XkbBellNotifyEvent.serial 8
+XkbBellNotifyEvent.send_event 16
+XkbBellNotifyEvent.display 24
+XkbBellNotifyEvent.time 32
+XkbBellNotifyEvent.xkb_type 40
+XkbBellNotifyEvent.device 44
+XkbBellNotifyEvent.percent 48
+XkbBellNotifyEvent.pitch 52
+XkbBellNotifyEvent.duration 56
+XkbBellNotifyEvent.bell_class 60
+XkbBellNotifyEvent.bell_id 64
+XkbBellNotifyEvent.name 72
+XkbBellNotifyEvent.window 80
+XkbBellNotifyEvent.event_only 88
+XkbBellNotifyEvent 96
+XIMStringConversionText.length 0
+XIMStringConversionText.feedback 8
+XIMStringConversionText.encoding_is_wchar 16
+XIMStringConversionText.string 24
+XIMStringConversionText 32
+XKeyboardState.key_click_percent 0
+XKeyboardState.bell_percent 4
+XKeyboardState.bell_pitch 8
+XKeyboardState.bell_duration 12
+XKeyboardState.led_mask 16
+XKeyboardState.global_auto_repeat 24
+XKeyboardState.auto_repeats 28
+XKeyboardState 64
+XkbEvent.type 0
+XkbEvent.any 0
+XkbEvent.new_kbd 0
+XkbEvent.map 0
+XkbEvent.state 0
+XkbEvent.ctrls 0
+XkbEvent.indicators 0
+XkbEvent.names 0
+XkbEvent.compat 0
+XkbEvent.bell 0
+XkbEvent.message 0
+XkbEvent.accessx 0
+XkbEvent.device 0
+XkbEvent.core 0
+XkbEvent 192
+XPoint.x 0
+XPoint.y 2
+XPoint 4
+XSegment.x1 0
+XSegment.y1 2
+XSegment.x2 4
+XSegment.y2 6
+XSegment 8
+XIconSize.min_width 0
+XIconSize.min_height 4
+XIconSize.max_width 8
+XIconSize.max_height 12
+XIconSize.width_inc 16
+XIconSize.height_inc 20
+XIconSize 24
+XIMCallback.client_data 0
+XIMCallback.callback 8
+XIMCallback 16
+XConfigureEvent.type 0
+XConfigureEvent.serial 8
+XConfigureEvent.send_event 16
+XConfigureEvent.display 24
+XConfigureEvent.event 32
+XConfigureEvent.window 40
+XConfigureEvent.x 48
+XConfigureEvent.y 52
+XConfigureEvent.width 56
+XConfigureEvent.height 60
+XConfigureEvent.border_width 64
+XConfigureEvent.above 72
+XConfigureEvent.override_redirect 80
+XConfigureEvent 88
+XRectangle.x 0
+XRectangle.y 2
+XRectangle.width 4
+XRectangle.height 6
+XRectangle 8
+XkbNamesNotifyEvent.type 0
+XkbNamesNotifyEvent.serial 8
+XkbNamesNotifyEvent.send_event 16
+XkbNamesNotifyEvent.display 24
+XkbNamesNotifyEvent.time 32
+XkbNamesNotifyEvent.xkb_type 40
+XkbNamesNotifyEvent.device 44
+XkbNamesNotifyEvent.changed 48
+XkbNamesNotifyEvent.first_type 52
+XkbNamesNotifyEvent.num_types 56
+XkbNamesNotifyEvent.first_lvl 60
+XkbNamesNotifyEvent.num_lvls 64
+XkbNamesNotifyEvent.num_aliases 68
+XkbNamesNotifyEvent.num_radio_groups 72
+XkbNamesNotifyEvent.changed_vmods 76
+XkbNamesNotifyEvent.changed_groups 80
+XkbNamesNotifyEvent.changed_indicators 84
+XkbNamesNotifyEvent.first_key 88
+XkbNamesNotifyEvent.num_keys 92
+XkbNamesNotifyEvent 96
+XCreateWindowEvent.type 0
+XCreateWindowEvent.serial 8
+XCreateWindowEvent.send_event 16
+XCreateWindowEvent.display 24
+XCreateWindowEvent.parent 32
+XCreateWindowEvent.window 40
+XCreateWindowEvent.x 48
+XCreateWindowEvent.y 52
+XCreateWindowEvent.width 56
+XCreateWindowEvent.height 60
+XCreateWindowEvent.border_width 64
+XCreateWindowEvent.override_redirect 68
+XCreateWindowEvent 72
+XVisibilityEvent.type 0
+XVisibilityEvent.serial 8
+XVisibilityEvent.send_event 16
+XVisibilityEvent.display 24
+XVisibilityEvent.window 32
+XVisibilityEvent.state 40
+XVisibilityEvent 48
+XWMHints.flags 0
+XWMHints.initial_state 12
+XWMHints.icon_pixmap 16
+XWMHints.icon_window 24
+XWMHints.icon_x 32
+XWMHints.icon_y 36
+XWMHints.icon_mask 40
+XWMHints.input 8
+XWMHints.window_group 48
+XWMHints 56
+XCrossingEvent.type 0
+XCrossingEvent.serial 8
+XCrossingEvent.send_event 16
+XCrossingEvent.display 24
+XCrossingEvent.window 32
+XCrossingEvent.root 40
+XCrossingEvent.subwindow 48
+XCrossingEvent.time 56
+XCrossingEvent.x 64
+XCrossingEvent.y 68
+XCrossingEvent.x_root 72
+XCrossingEvent.y_root 76
+XCrossingEvent.mode 80
+XCrossingEvent.detail 84
+XCrossingEvent.same_screen 88
+XCrossingEvent.focus 92
+XCrossingEvent.state 96
+XCrossingEvent 104
+XSelectionRequestEvent.type 0
+XSelectionRequestEvent.serial 8
+XSelectionRequestEvent.send_event 16
+XSelectionRequestEvent.display 24
+XSelectionRequestEvent.owner 32
+XSelectionRequestEvent.requestor 40
+XSelectionRequestEvent.selection 48
+XSelectionRequestEvent.target 56
+XSelectionRequestEvent.property 64
+XSelectionRequestEvent.time 72
+XSelectionRequestEvent 80
+XNoExposeEvent.type 0
+XNoExposeEvent.serial 8
+XNoExposeEvent.send_event 16
+XNoExposeEvent.display 24
+XNoExposeEvent.drawable 32
+XNoExposeEvent.major_code 40
+XNoExposeEvent.minor_code 44
+XNoExposeEvent 48
+XHostAddress.family 0
+XHostAddress.length 4
+XHostAddress.address 8
+XHostAddress 16
+XColormapEvent.type 0
+XColormapEvent.serial 8
+XColormapEvent.send_event 16
+XColormapEvent.display 24
+XColormapEvent.window 32
+XColormapEvent.colormap 40
+XColormapEvent.new 48
+XColormapEvent.state 52
+XColormapEvent 56
+ColorEntry.r 0
+ColorEntry.g 1
+ColorEntry.b 2
+ColorEntry.flags 3
+ColorEntry 4
+XResizeRequestEvent.type 0
+XResizeRequestEvent.serial 8
+XResizeRequestEvent.send_event 16
+XResizeRequestEvent.display 24
+XResizeRequestEvent.window 32
+XResizeRequestEvent.width 40
+XResizeRequestEvent.height 44
+XResizeRequestEvent 48
+Depth.depth 0
+Depth.nvisuals 4
+Depth.visuals 8
+Depth 16
+XPropertyEvent.type 0
+XPropertyEvent.serial 8
+XPropertyEvent.send_event 16
+XPropertyEvent.display 24
+XPropertyEvent.window 32
+XPropertyEvent.atom 40
+XPropertyEvent.time 48
+XPropertyEvent.state 56
+XPropertyEvent 64
+XDestroyWindowEvent.type 0
+XDestroyWindowEvent.serial 8
+XDestroyWindowEvent.send_event 16
+XDestroyWindowEvent.display 24
+XDestroyWindowEvent.event 32
+XDestroyWindowEvent.window 40
+XDestroyWindowEvent 48
+XStandardColormap.colormap 0
+XStandardColormap.red_max 8
+XStandardColormap.red_mult 16
+XStandardColormap.green_max 24
+XStandardColormap.green_mult 32
+XStandardColormap.blue_max 40
+XStandardColormap.blue_mult 48
+XStandardColormap.base_pixel 56
+XStandardColormap.visualid 64
+XStandardColormap.killid 72
+XStandardColormap 80
+XComposeStatus.compose_ptr 0
+XComposeStatus.chars_matched 8
+XComposeStatus 16
+AwtGraphicsConfigData.awt_depth 0
+AwtGraphicsConfigData.awt_cmap 8
+AwtGraphicsConfigData.awt_visInfo 16
+AwtGraphicsConfigData.awt_num_colors 80
+AwtGraphicsConfigData.awtImage 88
+AwtGraphicsConfigData.AwtColorMatch 96
+AwtGraphicsConfigData.monoImage 104
+AwtGraphicsConfigData.monoPixmap 112
+AwtGraphicsConfigData.monoPixmapWidth 120
+AwtGraphicsConfigData.monoPixmapHeight 124
+AwtGraphicsConfigData.monoPixmapGC 128
+AwtGraphicsConfigData.pixelStride 136
+AwtGraphicsConfigData.color_data 144
+AwtGraphicsConfigData.glxInfo 152
+AwtGraphicsConfigData.isTranslucencySupported 160
+AwtGraphicsConfigData.renderPictFormat 168
+AwtGraphicsConfigData 208
+XColor.pixel 0
+XColor.red 8
+XColor.green 10
+XColor.blue 12
+XColor.flags 14
+XColor.pad 15
+XColor 16
+XTextProperty.value 0
+XTextProperty.encoding 8
+XTextProperty.format 16
+XTextProperty.nitems 24
+XTextProperty 32
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/data/x11wrappergen/sizes.64-solaris-i386 Mon Feb 17 11:37:46 2014 -0500
@@ -0,0 +1,1016 @@
+long 8
+int 4
+short 2
+ptr 8
+Bool 4
+Atom 8
+Window 8
+XExtData.number 0
+XExtData.next 8
+XExtData.free_private 16
+XExtData.private_data 24
+XExtData 32
+XIMStringConversionCallbackStruct.position 0
+XIMStringConversionCallbackStruct.direction 4
+XIMStringConversionCallbackStruct.operation 8
+XIMStringConversionCallbackStruct.factor 10
+XIMStringConversionCallbackStruct.text 16
+XIMStringConversionCallbackStruct 24
+XkbNewKeyboardNotifyEvent.type 0
+XkbNewKeyboardNotifyEvent.serial 8
+XkbNewKeyboardNotifyEvent.send_event 16
+XkbNewKeyboardNotifyEvent.display 24
+XkbNewKeyboardNotifyEvent.time 32
+XkbNewKeyboardNotifyEvent.xkb_type 40
+XkbNewKeyboardNotifyEvent.device 44
+XkbNewKeyboardNotifyEvent.old_device 48
+XkbNewKeyboardNotifyEvent.min_key_code 52
+XkbNewKeyboardNotifyEvent.max_key_code 56
+XkbNewKeyboardNotifyEvent.old_min_key_code 60
+XkbNewKeyboardNotifyEvent.old_max_key_code 64
+XkbNewKeyboardNotifyEvent.changed 68
+XkbNewKeyboardNotifyEvent.req_major 72
+XkbNewKeyboardNotifyEvent.req_minor 73
+XkbNewKeyboardNotifyEvent 80
+XTimeCoord.time 0
+XTimeCoord.x 8
+XTimeCoord.y 10
+XTimeCoord 16
+XkbCompatMapNotifyEvent.type 0
+XkbCompatMapNotifyEvent.serial 8
+XkbCompatMapNotifyEvent.send_event 16
+XkbCompatMapNotifyEvent.display 24
+XkbCompatMapNotifyEvent.time 32
+XkbCompatMapNotifyEvent.xkb_type 40
+XkbCompatMapNotifyEvent.device 44
+XkbCompatMapNotifyEvent.changed_groups 48
+XkbCompatMapNotifyEvent.first_si 52
+XkbCompatMapNotifyEvent.num_si 56
+XkbCompatMapNotifyEvent.num_total_si 60
+XkbCompatMapNotifyEvent 64
+XIMStatusDrawCallbackStruct.type 0
+XIMStatusDrawCallbackStruct.data 8
+XIMStatusDrawCallbackStruct 16
+XKeyboardControl.key_click_percent 0
+XKeyboardControl.bell_percent 4
+XKeyboardControl.bell_pitch 8
+XKeyboardControl.bell_duration 12
+XKeyboardControl.led 16
+XKeyboardControl.led_mode 20
+XKeyboardControl.key 24
+XKeyboardControl.auto_repeat_mode 28
+XKeyboardControl 32
+XSelectionClearEvent.type 0
+XSelectionClearEvent.serial 8
+XSelectionClearEvent.send_event 16
+XSelectionClearEvent.display 24
+XSelectionClearEvent.window 32
+XSelectionClearEvent.selection 40
+XSelectionClearEvent.time 48
+XSelectionClearEvent 56
+XWindowChanges.x 0
+XWindowChanges.y 4
+XWindowChanges.width 8
+XWindowChanges.height 12
+XWindowChanges.border_width 16
+XWindowChanges.sibling 24
+XWindowChanges.stack_mode 32
+XWindowChanges 40
+XIMPreeditCaretCallbackStruct.position 0
+XIMPreeditCaretCallbackStruct.direction 4
+XIMPreeditCaretCallbackStruct.style 8
+XIMPreeditCaretCallbackStruct 12
+XOMCharSetList.charset_count 0
+XOMCharSetList.charset_list 8
+XOMCharSetList 16
+XOMFontInfo.num_font 0
+XOMFontInfo.font_struct_list 8
+XOMFontInfo.font_name_list 16
+XOMFontInfo 24
+AwtScreenData.numConfigs 0
+AwtScreenData.root 8
+AwtScreenData.whitepixel 16
+AwtScreenData.blackpixel 24
+AwtScreenData.defaultConfig 32
+AwtScreenData.configs 40
+AwtScreenData 48
+XIMHotKeyTrigger.keysym 0
+XIMHotKeyTrigger.modifier 8
+XIMHotKeyTrigger.modifier_mask 12
+XIMHotKeyTrigger 16
+XCirculateEvent.type 0
+XCirculateEvent.serial 8
+XCirculateEvent.send_event 16
+XCirculateEvent.display 24
+XCirculateEvent.event 32
+XCirculateEvent.window 40
+XCirculateEvent.place 48
+XCirculateEvent 56
+Screen.ext_data 0
+Screen.display 8
+Screen.root 16
+Screen.width 24
+Screen.height 28
+Screen.mwidth 32
+Screen.mheight 36
+Screen.ndepths 40
+Screen.depths 48
+Screen.root_depth 56
+Screen.root_visual 64
+Screen.default_gc 72
+Screen.cmap 80
+Screen.white_pixel 88
+Screen.black_pixel 96
+Screen.max_maps 104
+Screen.min_maps 108
+Screen.backing_store 112
+Screen.save_unders 116
+Screen.root_input_mask 120
+Screen 128
+XMapRequestEvent.type 0
+XMapRequestEvent.serial 8
+XMapRequestEvent.send_event 16
+XMapRequestEvent.display 24
+XMapRequestEvent.parent 32
+XMapRequestEvent.window 40
+XMapRequestEvent 48
+XIMText.length 0
+XIMText.feedback 8
+XIMText.encoding_is_wchar 16
+XIMText.string 24
+XIMText 32
+XGraphicsExposeEvent.type 0
+XGraphicsExposeEvent.serial 8
+XGraphicsExposeEvent.send_event 16
+XGraphicsExposeEvent.display 24
+XGraphicsExposeEvent.drawable 32
+XGraphicsExposeEvent.x 40
+XGraphicsExposeEvent.y 44
+XGraphicsExposeEvent.width 48
+XGraphicsExposeEvent.height 52
+XGraphicsExposeEvent.count 56
+XGraphicsExposeEvent.major_code 60
+XGraphicsExposeEvent.minor_code 64
+XGraphicsExposeEvent 72
+XEvent.type 0
+XEvent.xany 0
+XEvent.xkey 0
+XEvent.xbutton 0
+XEvent.xmotion 0
+XEvent.xcrossing 0
+XEvent.xfocus 0
+XEvent.xexpose 0
+XEvent.xgraphicsexpose 0
+XEvent.xnoexpose 0
+XEvent.xvisibility 0
+XEvent.xcreatewindow 0
+XEvent.xdestroywindow 0
+XEvent.xunmap 0
+XEvent.xmap 0
+XEvent.xmaprequest 0
+XEvent.xreparent 0
+XEvent.xconfigure 0
+XEvent.xgravity 0
+XEvent.xresizerequest 0
+XEvent.xconfigurerequest 0
+XEvent.xcirculate 0
+XEvent.xcirculaterequest 0
+XEvent.xproperty 0
+XEvent.xselectionclear 0
+XEvent.xselectionrequest 0
+XEvent.xselection 0
+XEvent.xcolormap 0
+XEvent.xclient 0
+XEvent.xmapping 0
+XEvent.xerror 0
+XEvent.xkeymap 0
+XEvent.pad 0
+XEvent 192
+XRenderDirectFormat.red 0
+XRenderDirectFormat.redMask 2
+XRenderDirectFormat.green 4
+XRenderDirectFormat.greenMask 6
+XRenderDirectFormat.blue 8
+XRenderDirectFormat.blueMask 10
+XRenderDirectFormat.alpha 12
+XRenderDirectFormat.alphaMask 14
+XRenderDirectFormat 16
+ColorData.awt_Colors 0
+ColorData.awt_numICMcolors 8
+ColorData.awt_icmLUT 16
+ColorData.awt_icmLUT2Colors 24
+ColorData.img_grays 32
+ColorData.img_clr_tbl 40
+ColorData.img_oda_red 48
+ColorData.img_oda_green 56
+ColorData.img_oda_blue 64
+ColorData.pGrayInverseLutData 72
+ColorData.screendata 80
+ColorData 88
+XFontStruct.ext_data 0
+XFontStruct.fid 8
+XFontStruct.direction 16
+XFontStruct.min_char_or_byte2 20
+XFontStruct.max_char_or_byte2 24
+XFontStruct.min_byte1 28
+XFontStruct.max_byte1 32
+XFontStruct.all_chars_exist 36
+XFontStruct.n_properties 44
+XFontStruct.properties 48
+XFontStruct.min_bounds 56
+XFontStruct.max_bounds 68
+XFontStruct.per_char 80
+XFontStruct.ascent 88
+XFontStruct.descent 92
+XFontStruct 96
+XExtCodes.extension 0
+XExtCodes.major_opcode 4
+XExtCodes.first_event 8
+XExtCodes.first_error 12
+XExtCodes 16
+XFontSetExtents.max_ink_extent 0
+XFontSetExtents.max_logical_extent 8
+XFontSetExtents 16
+XSelectionEvent.type 0
+XSelectionEvent.serial 8
+XSelectionEvent.send_event 16
+XSelectionEvent.display 24
+XSelectionEvent.requestor 32
+XSelectionEvent.selection 40
+XSelectionEvent.target 48
+XSelectionEvent.property 56
+XSelectionEvent.time 64
+XSelectionEvent 72
+XArc.x 0
+XArc.y 2
+XArc.width 4
+XArc.height 6
+XArc.angle1 8
+XArc.angle2 10
+XArc 12
+XErrorEvent.type 0
+XErrorEvent.display 8
+XErrorEvent.resourceid 16
+XErrorEvent.serial 24
+XErrorEvent.error_code 32
+XErrorEvent.request_code 33
+XErrorEvent.minor_code 34
+XErrorEvent 40
+XConfigureRequestEvent.type 0
+XConfigureRequestEvent.serial 8
+XConfigureRequestEvent.send_event 16
+XConfigureRequestEvent.display 24
+XConfigureRequestEvent.parent 32
+XConfigureRequestEvent.window 40
+XConfigureRequestEvent.x 48
+XConfigureRequestEvent.y 52
+XConfigureRequestEvent.width 56
+XConfigureRequestEvent.height 60
+XConfigureRequestEvent.border_width 64
+XConfigureRequestEvent.above 72
+XConfigureRequestEvent.detail 80
+XConfigureRequestEvent.value_mask 88
+XConfigureRequestEvent 96
+ScreenFormat.ext_data 0
+ScreenFormat.depth 8
+ScreenFormat.bits_per_pixel 12
+ScreenFormat.scanline_pad 16
+ScreenFormat 24
+XButtonEvent.type 0
+XButtonEvent.serial 8
+XButtonEvent.send_event 16
+XButtonEvent.display 24
+XButtonEvent.window 32
+XButtonEvent.root 40
+XButtonEvent.subwindow 48
+XButtonEvent.time 56
+XButtonEvent.x 64
+XButtonEvent.y 68
+XButtonEvent.x_root 72
+XButtonEvent.y_root 76
+XButtonEvent.state 80
+XButtonEvent.button 84
+XButtonEvent.same_screen 88
+XButtonEvent 96
+XFontProp.name 0
+XFontProp.card32 8
+XFontProp 16
+XIMValuesList.count_values 0
+XIMValuesList.supported_values 8
+XIMValuesList 16
+XKeymapEvent.type 0
+XKeymapEvent.serial 8
+XKeymapEvent.send_event 16
+XKeymapEvent.display 24
+XKeymapEvent.window 32
+XKeymapEvent.key_vector 40
+XKeymapEvent 72
+XTextItem16.chars 0
+XTextItem16.nchars 8
+XTextItem16.delta 12
+XTextItem16.font 16
+XTextItem16 24
+XIMPreeditDrawCallbackStruct.caret 0
+XIMPreeditDrawCallbackStruct.chg_first 4
+XIMPreeditDrawCallbackStruct.chg_length 8
+XIMPreeditDrawCallbackStruct.text 16
+XIMPreeditDrawCallbackStruct 24
+XVisualInfo.visual 0
+XVisualInfo.visualid 8
+XVisualInfo.screen 16
+XVisualInfo.depth 20
+XVisualInfo.class 24
+XVisualInfo.red_mask 32
+XVisualInfo.green_mask 40
+XVisualInfo.blue_mask 48
+XVisualInfo.colormap_size 56
+XVisualInfo.bits_per_rgb 60
+XVisualInfo 64
+XkbControlsNotifyEvent.type 0
+XkbControlsNotifyEvent.serial 8
+XkbControlsNotifyEvent.send_event 16
+XkbControlsNotifyEvent.display 24
+XkbControlsNotifyEvent.time 32
+XkbControlsNotifyEvent.xkb_type 40
+XkbControlsNotifyEvent.device 44
+XkbControlsNotifyEvent.changed_ctrls 48
+XkbControlsNotifyEvent.enabled_ctrls 52
+XkbControlsNotifyEvent.enabled_ctrl_changes 56
+XkbControlsNotifyEvent.num_groups 60
+XkbControlsNotifyEvent.keycode 64
+XkbControlsNotifyEvent.event_type 65
+XkbControlsNotifyEvent.req_major 66
+XkbControlsNotifyEvent.req_minor 67
+XkbControlsNotifyEvent 72
+PropMwmHints.flags 0
+PropMwmHints.functions 8
+PropMwmHints.decorations 16
+PropMwmHints.inputMode 24
+PropMwmHints.status 32
+PropMwmHints 40
+XClientMessageEvent.type 0
+XClientMessageEvent.serial 8
+XClientMessageEvent.send_event 16
+XClientMessageEvent.display 24
+XClientMessageEvent.window 32
+XClientMessageEvent.message_type 40
+XClientMessageEvent.format 48
+XClientMessageEvent.data 56
+XClientMessageEvent 96
+XAnyEvent.type 0
+XAnyEvent.serial 8
+XAnyEvent.send_event 16
+XAnyEvent.display 24
+XAnyEvent.window 32
+XAnyEvent 40
+XkbIndicatorNotifyEvent.type 0
+XkbIndicatorNotifyEvent.serial 8
+XkbIndicatorNotifyEvent.send_event 16
+XkbIndicatorNotifyEvent.display 24
+XkbIndicatorNotifyEvent.time 32
+XkbIndicatorNotifyEvent.xkb_type 40
+XkbIndicatorNotifyEvent.device 44
+XkbIndicatorNotifyEvent.changed 48
+XkbIndicatorNotifyEvent.state 52
+XkbIndicatorNotifyEvent 56
+XIMPreeditStateNotifyCallbackStruct.state 0
+XIMPreeditStateNotifyCallbackStruct 8
+XkbAnyEvent.type 0
+XkbAnyEvent.serial 8
+XkbAnyEvent.send_event 16
+XkbAnyEvent.display 24
+XkbAnyEvent.time 32
+XkbAnyEvent.xkb_type 40
+XkbAnyEvent.device 44
+XkbAnyEvent 48
+XMotionEvent.type 0
+XMotionEvent.serial 8
+XMotionEvent.send_event 16
+XMotionEvent.display 24
+XMotionEvent.window 32
+XMotionEvent.root 40
+XMotionEvent.subwindow 48
+XMotionEvent.time 56
+XMotionEvent.x 64
+XMotionEvent.y 68
+XMotionEvent.x_root 72
+XMotionEvent.y_root 76
+XMotionEvent.state 80
+XMotionEvent.is_hint 84
+XMotionEvent.same_screen 88
+XMotionEvent 96
+XIMHotKeyTriggers.num_hot_key 0
+XIMHotKeyTriggers.key 8
+XIMHotKeyTriggers 16
+XIMStyles.count_styles 0
+XIMStyles.supported_styles 8
+XIMStyles 16
+XkbExtensionDeviceNotifyEvent.type 0
+XkbExtensionDeviceNotifyEvent.serial 8
+XkbExtensionDeviceNotifyEvent.send_event 16
+XkbExtensionDeviceNotifyEvent.display 24
+XkbExtensionDeviceNotifyEvent.time 32
+XkbExtensionDeviceNotifyEvent.xkb_type 40
+XkbExtensionDeviceNotifyEvent.device 44
+XkbExtensionDeviceNotifyEvent.reason 48
+XkbExtensionDeviceNotifyEvent.supported 52
+XkbExtensionDeviceNotifyEvent.unsupported 56
+XkbExtensionDeviceNotifyEvent.first_btn 60
+XkbExtensionDeviceNotifyEvent.num_btns 64
+XkbExtensionDeviceNotifyEvent.leds_defined 68
+XkbExtensionDeviceNotifyEvent.led_state 72
+XkbExtensionDeviceNotifyEvent.led_class 76
+XkbExtensionDeviceNotifyEvent.led_id 80
+XkbExtensionDeviceNotifyEvent 88
+XwcTextItem.chars 0
+XwcTextItem.nchars 8
+XwcTextItem.delta 12
+XwcTextItem.font_set 16
+XwcTextItem 24
+XClassHint.res_name 0
+XClassHint.res_class 8
+XClassHint 16
+XChar2b.byte1 0
+XChar2b.byte2 1
+XChar2b 2
+XSetWindowAttributes.background_pixmap 0
+XSetWindowAttributes.background_pixel 8
+XSetWindowAttributes.border_pixmap 16
+XSetWindowAttributes.border_pixel 24
+XSetWindowAttributes.bit_gravity 32
+XSetWindowAttributes.win_gravity 36
+XSetWindowAttributes.backing_store 40
+XSetWindowAttributes.backing_planes 48
+XSetWindowAttributes.backing_pixel 56
+XSetWindowAttributes.save_under 64
+XSetWindowAttributes.event_mask 72
+XSetWindowAttributes.do_not_propagate_mask 80
+XSetWindowAttributes.override_redirect 88
+XSetWindowAttributes.colormap 96
+XSetWindowAttributes.cursor 104
+XSetWindowAttributes 112
+XRenderPictFormat.id 0
+XRenderPictFormat.type 8
+XRenderPictFormat.depth 12
+XRenderPictFormat.direct 16
+XRenderPictFormat.colormap 32
+XRenderPictFormat 40
+XReparentEvent.type 0
+XReparentEvent.serial 8
+XReparentEvent.send_event 16
+XReparentEvent.display 24
+XReparentEvent.event 32
+XReparentEvent.window 40
+XReparentEvent.parent 48
+XReparentEvent.x 56
+XReparentEvent.y 60
+XReparentEvent.override_redirect 64
+XReparentEvent 72
+XCirculateRequestEvent.type 0
+XCirculateRequestEvent.serial 8
+XCirculateRequestEvent.send_event 16
+XCirculateRequestEvent.display 24
+XCirculateRequestEvent.parent 32
+XCirculateRequestEvent.window 40
+XCirculateRequestEvent.place 48
+XCirculateRequestEvent 56
+XImage.width 0
+XImage.height 4
+XImage.xoffset 8
+XImage.format 12
+XImage.data 16
+XImage.byte_order 24
+XImage.bitmap_unit 28
+XImage.bitmap_bit_order 32
+XImage.bitmap_pad 36
+XImage.depth 40
+XImage.bytes_per_line 44
+XImage.bits_per_pixel 48
+XImage.red_mask 56
+XImage.green_mask 64
+XImage.blue_mask 72
+XImage.obdata 80
+XImage.f.create_image 88
+XImage.f.destroy_image 96
+XImage.f.get_pixel 104
+XImage.f.put_pixel 112
+XImage.f.sub_image 120
+XImage.f.add_pixel 128
+XImage 136
+XKeyEvent.type 0
+XKeyEvent.serial 8
+XKeyEvent.send_event 16
+XKeyEvent.display 24
+XKeyEvent.window 32
+XKeyEvent.root 40
+XKeyEvent.subwindow 48
+XKeyEvent.time 56
+XKeyEvent.x 64
+XKeyEvent.y 68
+XKeyEvent.x_root 72
+XKeyEvent.y_root 76
+XKeyEvent.state 80
+XKeyEvent.keycode 84
+XKeyEvent.same_screen 88
+XKeyEvent 96
+XkbActionMessageEvent.type 0
+XkbActionMessageEvent.serial 8
+XkbActionMessageEvent.send_event 16
+XkbActionMessageEvent.display 24
+XkbActionMessageEvent.time 32
+XkbActionMessageEvent.xkb_type 40
+XkbActionMessageEvent.device 44
+XkbActionMessageEvent.keycode 48
+XkbActionMessageEvent.press 52
+XkbActionMessageEvent.key_event_follows 56
+XkbActionMessageEvent.group 60
+XkbActionMessageEvent.mods 64
+XkbActionMessageEvent.message 68
+XkbActionMessageEvent 80
+XdbeSwapInfo.swap_window 0
+XdbeSwapInfo.swap_action 8
+XdbeSwapInfo 16
+XTextItem.chars 0
+XTextItem.nchars 8
+XTextItem.delta 12
+XTextItem.font 16
+XTextItem 24
+XModifierKeymap.max_keypermod 0
+XModifierKeymap.modifiermap 8
+XModifierKeymap 16
+XCharStruct.lbearing 0
+XCharStruct.rbearing 2
+XCharStruct.width 4
+XCharStruct.ascent 6
+XCharStruct.descent 8
+XCharStruct.attributes 10
+XCharStruct 12
+XGravityEvent.type 0
+XGravityEvent.serial 8
+XGravityEvent.send_event 16
+XGravityEvent.display 24
+XGravityEvent.event 32
+XGravityEvent.window 40
+XGravityEvent.x 48
+XGravityEvent.y 52
+XGravityEvent 56
+Visual.ext_data 0
+Visual.visualid 8
+Visual.class 16
+Visual.red_mask 24
+Visual.green_mask 32
+Visual.blue_mask 40
+Visual.bits_per_rgb 48
+Visual.map_entries 52
+Visual 56
+XOMOrientation.num_orientation 0
+XOMOrientation.orientation 8
+XOMOrientation 16
+XkbAccessXNotifyEvent.type 0
+XkbAccessXNotifyEvent.serial 8
+XkbAccessXNotifyEvent.send_event 16
+XkbAccessXNotifyEvent.display 24
+XkbAccessXNotifyEvent.time 32
+XkbAccessXNotifyEvent.xkb_type 40
+XkbAccessXNotifyEvent.device 44
+XkbAccessXNotifyEvent.detail 48
+XkbAccessXNotifyEvent.keycode 52
+XkbAccessXNotifyEvent.sk_delay 56
+XkbAccessXNotifyEvent.debounce_delay 60
+XkbAccessXNotifyEvent 64
+XWindowAttributes.x 0
+XWindowAttributes.y 4
+XWindowAttributes.width 8
+XWindowAttributes.height 12
+XWindowAttributes.border_width 16
+XWindowAttributes.depth 20
+XWindowAttributes.visual 24
+XWindowAttributes.root 32
+XWindowAttributes.class 40
+XWindowAttributes.bit_gravity 44
+XWindowAttributes.win_gravity 48
+XWindowAttributes.backing_store 52
+XWindowAttributes.backing_planes 56
+XWindowAttributes.backing_pixel 64
+XWindowAttributes.save_under 72
+XWindowAttributes.colormap 80
+XWindowAttributes.map_installed 88
+XWindowAttributes.map_state 92
+XWindowAttributes.all_event_masks 96
+XWindowAttributes.your_event_mask 104
+XWindowAttributes.do_not_propagate_mask 112
+XWindowAttributes.override_redirect 120
+XWindowAttributes.screen 128
+XWindowAttributes 136
+XmbTextItem.chars 0
+XmbTextItem.nchars 8
+XmbTextItem.delta 12
+XmbTextItem.font_set 16
+XmbTextItem 24
+XMappingEvent.type 0
+XMappingEvent.serial 8
+XMappingEvent.send_event 16
+XMappingEvent.display 24
+XMappingEvent.window 32
+XMappingEvent.request 40
+XMappingEvent.first_keycode 44
+XMappingEvent.count 48
+XMappingEvent 56
+XSizeHints.flags 0
+XSizeHints.x 8
+XSizeHints.y 12
+XSizeHints.width 16
+XSizeHints.height 20
+XSizeHints.min_width 24
+XSizeHints.min_height 28
+XSizeHints.max_width 32
+XSizeHints.max_height 36
+XSizeHints.width_inc 40
+XSizeHints.height_inc 44
+XSizeHints.min_aspect.x 48
+XSizeHints.min_aspect.y 52
+XSizeHints.max_aspect.x 56
+XSizeHints.max_aspect.y 60
+XSizeHints.base_width 64
+XSizeHints.base_height 68
+XSizeHints.win_gravity 72
+XSizeHints 80
+XUnmapEvent.type 0
+XUnmapEvent.serial 8
+XUnmapEvent.send_event 16
+XUnmapEvent.display 24
+XUnmapEvent.event 32
+XUnmapEvent.window 40
+XUnmapEvent.from_configure 48
+XUnmapEvent 56
+awtImageData.Depth 0
+awtImageData.wsImageFormat 4
+awtImageData.clrdata 16
+awtImageData.convert 48
+awtImageData 560
+XkbStateNotifyEvent.type 0
+XkbStateNotifyEvent.serial 8
+XkbStateNotifyEvent.send_event 16
+XkbStateNotifyEvent.display 24
+XkbStateNotifyEvent.time 32
+XkbStateNotifyEvent.xkb_type 40
+XkbStateNotifyEvent.device 44
+XkbStateNotifyEvent.changed 48
+XkbStateNotifyEvent.group 52
+XkbStateNotifyEvent.base_group 56
+XkbStateNotifyEvent.latched_group 60
+XkbStateNotifyEvent.locked_group 64
+XkbStateNotifyEvent.mods 68
+XkbStateNotifyEvent.base_mods 72
+XkbStateNotifyEvent.latched_mods 76
+XkbStateNotifyEvent.locked_mods 80
+XkbStateNotifyEvent.compat_state 84
+XkbStateNotifyEvent.grab_mods 88
+XkbStateNotifyEvent.compat_grab_mods 89
+XkbStateNotifyEvent.lookup_mods 90
+XkbStateNotifyEvent.compat_lookup_mods 91
+XkbStateNotifyEvent.ptr_buttons 92
+XkbStateNotifyEvent.keycode 96
+XkbStateNotifyEvent.event_type 97
+XkbStateNotifyEvent.req_major 98
+XkbStateNotifyEvent.req_minor 99
+XkbStateNotifyEvent 104
+XExposeEvent.type 0
+XExposeEvent.serial 8
+XExposeEvent.send_event 16
+XExposeEvent.display 24
+XExposeEvent.window 32
+XExposeEvent.x 40
+XExposeEvent.y 44
+XExposeEvent.width 48
+XExposeEvent.height 52
+XExposeEvent.count 56
+XExposeEvent 64
+XkbMapNotifyEvent.type 0
+XkbMapNotifyEvent.serial 8
+XkbMapNotifyEvent.send_event 16
+XkbMapNotifyEvent.display 24
+XkbMapNotifyEvent.time 32
+XkbMapNotifyEvent.xkb_type 40
+XkbMapNotifyEvent.device 44
+XkbMapNotifyEvent.changed 48
+XkbMapNotifyEvent.flags 52
+XkbMapNotifyEvent.first_type 56
+XkbMapNotifyEvent.num_types 60
+XkbMapNotifyEvent.min_key_code 64
+XkbMapNotifyEvent.max_key_code 65
+XkbMapNotifyEvent.first_key_sym 66
+XkbMapNotifyEvent.first_key_act 67
+XkbMapNotifyEvent.first_key_behavior 68
+XkbMapNotifyEvent.first_key_explicit 69
+XkbMapNotifyEvent.first_modmap_key 70
+XkbMapNotifyEvent.first_vmodmap_key 71
+XkbMapNotifyEvent.num_key_syms 72
+XkbMapNotifyEvent.num_key_acts 76
+XkbMapNotifyEvent.num_key_behaviors 80
+XkbMapNotifyEvent.num_key_explicit 84
+XkbMapNotifyEvent.num_modmap_keys 88
+XkbMapNotifyEvent.num_vmodmap_keys 92
+XkbMapNotifyEvent.vmods 96
+XkbMapNotifyEvent 104
+XGCValues.function 0
+XGCValues.plane_mask 8
+XGCValues.foreground 16
+XGCValues.background 24
+XGCValues.line_width 32
+XGCValues.line_style 36
+XGCValues.cap_style 40
+XGCValues.join_style 44
+XGCValues.fill_style 48
+XGCValues.fill_rule 52
+XGCValues.arc_mode 56
+XGCValues.tile 64
+XGCValues.stipple 72
+XGCValues.ts_x_origin 80
+XGCValues.ts_y_origin 84
+XGCValues.font 88
+XGCValues.subwindow_mode 96
+XGCValues.graphics_exposures 100
+XGCValues.clip_x_origin 104
+XGCValues.clip_y_origin 108
+XGCValues.clip_mask 112
+XGCValues.dash_offset 120
+XGCValues.dashes 124
+XGCValues 128
+XFocusChangeEvent.type 0
+XFocusChangeEvent.serial 8
+XFocusChangeEvent.send_event 16
+XFocusChangeEvent.display 24
+XFocusChangeEvent.window 32
+XFocusChangeEvent.mode 40
+XFocusChangeEvent.detail 44
+XFocusChangeEvent 48
+XPixmapFormatValues.depth 0
+XPixmapFormatValues.bits_per_pixel 4
+XPixmapFormatValues.scanline_pad 8
+XPixmapFormatValues 12
+XMapEvent.type 0
+XMapEvent.serial 8
+XMapEvent.send_event 16
+XMapEvent.display 24
+XMapEvent.event 32
+XMapEvent.window 40
+XMapEvent.override_redirect 48
+XMapEvent 56
+XkbBellNotifyEvent.type 0
+XkbBellNotifyEvent.serial 8
+XkbBellNotifyEvent.send_event 16
+XkbBellNotifyEvent.display 24
+XkbBellNotifyEvent.time 32
+XkbBellNotifyEvent.xkb_type 40
+XkbBellNotifyEvent.device 44
+XkbBellNotifyEvent.percent 48
+XkbBellNotifyEvent.pitch 52
+XkbBellNotifyEvent.duration 56
+XkbBellNotifyEvent.bell_class 60
+XkbBellNotifyEvent.bell_id 64
+XkbBellNotifyEvent.name 72
+XkbBellNotifyEvent.window 80
+XkbBellNotifyEvent.event_only 88
+XkbBellNotifyEvent 96
+XIMStringConversionText.length 0
+XIMStringConversionText.feedback 8
+XIMStringConversionText.encoding_is_wchar 16
+XIMStringConversionText.string 24
+XIMStringConversionText 32
+XKeyboardState.key_click_percent 0
+XKeyboardState.bell_percent 4
+XKeyboardState.bell_pitch 8
+XKeyboardState.bell_duration 12
+XKeyboardState.led_mask 16
+XKeyboardState.global_auto_repeat 24
+XKeyboardState.auto_repeats 28
+XKeyboardState 64
+XkbEvent.type 0
+XkbEvent.any 0
+XkbEvent.new_kbd 0
+XkbEvent.map 0
+XkbEvent.state 0
+XkbEvent.ctrls 0
+XkbEvent.indicators 0
+XkbEvent.names 0
+XkbEvent.compat 0
+XkbEvent.bell 0
+XkbEvent.message 0
+XkbEvent.accessx 0
+XkbEvent.device 0
+XkbEvent.core 0
+XkbEvent 192
+XPoint.x 0
+XPoint.y 2
+XPoint 4
+XSegment.x1 0
+XSegment.y1 2
+XSegment.x2 4
+XSegment.y2 6
+XSegment 8
+XIconSize.min_width 0
+XIconSize.min_height 4
+XIconSize.max_width 8
+XIconSize.max_height 12
+XIconSize.width_inc 16
+XIconSize.height_inc 20
+XIconSize 24
+XIMCallback.client_data 0
+XIMCallback.callback 8
+XIMCallback 16
+XConfigureEvent.type 0
+XConfigureEvent.serial 8
+XConfigureEvent.send_event 16
+XConfigureEvent.display 24
+XConfigureEvent.event 32
+XConfigureEvent.window 40
+XConfigureEvent.x 48
+XConfigureEvent.y 52
+XConfigureEvent.width 56
+XConfigureEvent.height 60
+XConfigureEvent.border_width 64
+XConfigureEvent.above 72
+XConfigureEvent.override_redirect 80
+XConfigureEvent 88
+XRectangle.x 0
+XRectangle.y 2
+XRectangle.width 4
+XRectangle.height 6
+XRectangle 8
+XkbNamesNotifyEvent.type 0
+XkbNamesNotifyEvent.serial 8
+XkbNamesNotifyEvent.send_event 16
+XkbNamesNotifyEvent.display 24
+XkbNamesNotifyEvent.time 32
+XkbNamesNotifyEvent.xkb_type 40
+XkbNamesNotifyEvent.device 44
+XkbNamesNotifyEvent.changed 48
+XkbNamesNotifyEvent.first_type 52
+XkbNamesNotifyEvent.num_types 56
+XkbNamesNotifyEvent.first_lvl 60
+XkbNamesNotifyEvent.num_lvls 64
+XkbNamesNotifyEvent.num_aliases 68
+XkbNamesNotifyEvent.num_radio_groups 72
+XkbNamesNotifyEvent.changed_vmods 76
+XkbNamesNotifyEvent.changed_groups 80
+XkbNamesNotifyEvent.changed_indicators 84
+XkbNamesNotifyEvent.first_key 88
+XkbNamesNotifyEvent.num_keys 92
+XkbNamesNotifyEvent 96
+XCreateWindowEvent.type 0
+XCreateWindowEvent.serial 8
+XCreateWindowEvent.send_event 16
+XCreateWindowEvent.display 24
+XCreateWindowEvent.parent 32
+XCreateWindowEvent.window 40
+XCreateWindowEvent.x 48
+XCreateWindowEvent.y 52
+XCreateWindowEvent.width 56
+XCreateWindowEvent.height 60
+XCreateWindowEvent.border_width 64
+XCreateWindowEvent.override_redirect 68
+XCreateWindowEvent 72
+XVisibilityEvent.type 0
+XVisibilityEvent.serial 8
+XVisibilityEvent.send_event 16
+XVisibilityEvent.display 24
+XVisibilityEvent.window 32
+XVisibilityEvent.state 40
+XVisibilityEvent 48
+XWMHints.flags 0
+XWMHints.initial_state 12
+XWMHints.icon_pixmap 16
+XWMHints.icon_window 24
+XWMHints.icon_x 32
+XWMHints.icon_y 36
+XWMHints.icon_mask 40
+XWMHints.input 8
+XWMHints.window_group 48
+XWMHints 56
+XCrossingEvent.type 0
+XCrossingEvent.serial 8
+XCrossingEvent.send_event 16
+XCrossingEvent.display 24
+XCrossingEvent.window 32
+XCrossingEvent.root 40
+XCrossingEvent.subwindow 48
+XCrossingEvent.time 56
+XCrossingEvent.x 64
+XCrossingEvent.y 68
+XCrossingEvent.x_root 72
+XCrossingEvent.y_root 76
+XCrossingEvent.mode 80
+XCrossingEvent.detail 84
+XCrossingEvent.same_screen 88
+XCrossingEvent.focus 92
+XCrossingEvent.state 96
+XCrossingEvent 104
+XSelectionRequestEvent.type 0
+XSelectionRequestEvent.serial 8
+XSelectionRequestEvent.send_event 16
+XSelectionRequestEvent.display 24
+XSelectionRequestEvent.owner 32
+XSelectionRequestEvent.requestor 40
+XSelectionRequestEvent.selection 48
+XSelectionRequestEvent.target 56
+XSelectionRequestEvent.property 64
+XSelectionRequestEvent.time 72
+XSelectionRequestEvent 80
+XNoExposeEvent.type 0
+XNoExposeEvent.serial 8
+XNoExposeEvent.send_event 16
+XNoExposeEvent.display 24
+XNoExposeEvent.drawable 32
+XNoExposeEvent.major_code 40
+XNoExposeEvent.minor_code 44
+XNoExposeEvent 48
+XHostAddress.family 0
+XHostAddress.length 4
+XHostAddress.address 8
+XHostAddress 16
+XColormapEvent.type 0
+XColormapEvent.serial 8
+XColormapEvent.send_event 16
+XColormapEvent.display 24
+XColormapEvent.window 32
+XColormapEvent.colormap 40
+XColormapEvent.new 48
+XColormapEvent.state 52
+XColormapEvent 56
+ColorEntry.r 0
+ColorEntry.g 1
+ColorEntry.b 2
+ColorEntry.flags 3
+ColorEntry 4
+XResizeRequestEvent.type 0
+XResizeRequestEvent.serial 8
+XResizeRequestEvent.send_event 16
+XResizeRequestEvent.display 24
+XResizeRequestEvent.window 32
+XResizeRequestEvent.width 40
+XResizeRequestEvent.height 44
+XResizeRequestEvent 48
+Depth.depth 0
+Depth.nvisuals 4
+Depth.visuals 8
+Depth 16
+XPropertyEvent.type 0
+XPropertyEvent.serial 8
+XPropertyEvent.send_event 16
+XPropertyEvent.display 24
+XPropertyEvent.window 32
+XPropertyEvent.atom 40
+XPropertyEvent.time 48
+XPropertyEvent.state 56
+XPropertyEvent 64
+XDestroyWindowEvent.type 0
+XDestroyWindowEvent.serial 8
+XDestroyWindowEvent.send_event 16
+XDestroyWindowEvent.display 24
+XDestroyWindowEvent.event 32
+XDestroyWindowEvent.window 40
+XDestroyWindowEvent 48
+XStandardColormap.colormap 0
+XStandardColormap.red_max 8
+XStandardColormap.red_mult 16
+XStandardColormap.green_max 24
+XStandardColormap.green_mult 32
+XStandardColormap.blue_max 40
+XStandardColormap.blue_mult 48
+XStandardColormap.base_pixel 56
+XStandardColormap.visualid 64
+XStandardColormap.killid 72
+XStandardColormap 80
+XComposeStatus.compose_ptr 0
+XComposeStatus.chars_matched 8
+XComposeStatus 16
+AwtGraphicsConfigData.awt_depth 0
+AwtGraphicsConfigData.awt_cmap 8
+AwtGraphicsConfigData.awt_visInfo 16
+AwtGraphicsConfigData.awt_num_colors 80
+AwtGraphicsConfigData.awtImage 88
+AwtGraphicsConfigData.AwtColorMatch 96
+AwtGraphicsConfigData.monoImage 104
+AwtGraphicsConfigData.monoPixmap 112
+AwtGraphicsConfigData.monoPixmapWidth 120
+AwtGraphicsConfigData.monoPixmapHeight 124
+AwtGraphicsConfigData.monoPixmapGC 128
+AwtGraphicsConfigData.pixelStride 136
+AwtGraphicsConfigData.color_data 144
+AwtGraphicsConfigData.glxInfo 152
+AwtGraphicsConfigData.isTranslucencySupported 160
+AwtGraphicsConfigData.renderPictFormat 168
+AwtGraphicsConfigData 208
+XColor.pixel 0
+XColor.red 8
+XColor.green 10
+XColor.blue 12
+XColor.flags 14
+XColor.pad 15
+XColor 16
+XTextProperty.value 0
+XTextProperty.encoding 8
+XTextProperty.format 16
+XTextProperty.nitems 24
+XTextProperty 32
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/data/x11wrappergen/xlibtypes.txt Mon Feb 17 11:37:46 2014 -0500
@@ -0,0 +1,1040 @@
+//
+//
+// This file is used for automated generation of java classes to wrap native structures.
+// The detail on format of this file see WrapperGenerator.java
+//
+// WARNING: if you modified this file, you need to regenerate sizes.64-solaris-i386
+//
+
+XExtData
+ number int
+ next pointer XExtData
+ free_private pointer
+ private_data pointer
+XIMText
+ length short
+ feedback pointer
+ encoding_is_wchar Bool
+ string pointer
+XSetWindowAttributes
+ background_pixmap long
+ background_pixel long
+ border_pixmap long
+ border_pixel long
+ bit_gravity int
+ win_gravity int
+ backing_store int
+ backing_planes long
+ backing_pixel long
+ save_under Bool
+ event_mask long
+ do_not_propagate_mask long
+ override_redirect Bool
+ colormap long
+ cursor long
+Visual
+ ext_data pointer XExtData
+ visualid long
+ class int
+ red_mask long
+ green_mask long
+ blue_mask long
+ bits_per_rgb int
+ map_entries int
+Depth
+ depth int
+ nvisuals int
+ visuals pointer Visual
+XClassHint
+ res_name pointer
+ res_class pointer
+XIMPreeditCaretCallbackStruct
+ position int
+ direction int
+ style int
+XmbTextItem
+ chars pointer byte
+ nchars int
+ delta int
+ font_set pointer
+XStandardColormap
+ colormap long
+ red_max long
+ red_mult long
+ green_max long
+ green_mult long
+ blue_max long
+ blue_mult long
+ base_pixel long
+ visualid long
+ killid long
+XIMCallback
+ client_data pointer
+ callback pointer
+XKeyboardState
+ key_click_percent int
+ bell_percent int
+ bell_pitch int
+ bell_duration int
+ led_mask long
+ global_auto_repeat int
+ auto_repeats array byte 32
+XCirculateEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ event long
+ window long
+ place int
+XWMHints
+ flags long
+ initial_state int
+ icon_pixmap pointer
+ icon_window long
+ icon_x int
+ icon_y int
+ icon_mask long
+ input Bool
+ window_group long
+XCrossingEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ window long
+ root long
+ subwindow long
+ time ulong
+ x int
+ y int
+ x_root int
+ y_root int
+ mode int
+ detail int
+ same_screen Bool
+ focus Bool
+ state int
+XIMStringConversionText
+ length short
+ feedback pointer
+ encoding_is_wchar Bool
+ string pointer
+XKeymapEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ window long
+ key_vector array byte 32
+XDestroyWindowEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ event long
+ window long
+XComposeStatus
+ compose_ptr pointer
+ chars_matched int
+XTextItem
+ chars pointer
+ nchars int
+ delta int
+ font long
+XIMStringConversionCallbackStruct
+ position short
+ direction int
+ operation short
+ factor short
+ text pointer XIMStringConversionText
+XOMFontInfo
+ num_font int
+ font_struct_list pointer
+ font_name_list pointer
+XClientMessageEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ window long
+ message_type Atom
+ format int
+ data array long 5
+XMapRequestEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ parent long
+ window long
+XSelectionEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ requestor long
+ selection Atom
+ target Atom
+ property Atom
+ time ulong
+XVisibilityEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ window long
+ state int
+XConfigureRequestEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ parent long
+ window long
+ x int
+ y int
+ width int
+ height int
+ border_width int
+ above long
+ detail int
+ value_mask long
+Screen
+ ext_data pointer XExtData
+ display pointer
+ root long
+ width int
+ height int
+ mwidth int
+ mheight int
+ ndepths int
+ depths pointer Depth
+ root_depth int
+ root_visual pointer Visual
+ default_gc long
+ cmap long
+ white_pixel long
+ black_pixel long
+ max_maps int
+ min_maps int
+ backing_store int
+ save_unders Bool
+ root_input_mask long
+XTextProperty
+ value pointer byte
+ encoding long
+ format int
+ nitems long
+XWindowChanges
+ x int
+ y int
+ width int
+ height int
+ border_width int
+ sibling long
+ stack_mode int
+XVisualInfo
+ visual pointer
+ visualid long
+ screen int
+ depth int
+ class int
+ red_mask long
+ green_mask long
+ blue_mask long
+ colormap_size int
+ bits_per_rgb int
+XRenderDirectFormat
+ red short
+ redMask short
+ green short
+ greenMask short
+ blue short
+ blueMask short
+ alpha short
+ alphaMask short
+XRenderPictFormat
+ id long
+ type int
+ depth int
+ direct struct XRenderDirectFormat
+ colormap long
+XIMHotKeyTrigger
+ keysym long
+ modifier int
+ modifier_mask int
+XIMHotKeyTriggers
+ num_hot_key int
+ key pointer XIMHotKeyTrigger
+XIMStyles
+ count_styles short
+ supported_styles pointer long
+XIMStatusDrawCallbackStruct
+ type int
+ data long
+XWindowAttributes
+ x int
+ y int
+ width int
+ height int
+ border_width int
+ depth int
+ visual pointer Visual
+ root long
+ class int
+ bit_gravity int
+ win_gravity int
+ backing_store int
+ backing_planes long
+ backing_pixel long
+ save_under Bool
+ colormap long
+ map_installed Bool
+ map_state int
+ all_event_masks long
+ your_event_mask long
+ do_not_propagate_mask long
+ override_redirect Bool
+ screen pointer Screen
+XExtCodes
+ extension int
+ major_opcode int
+ first_event int
+ first_error int
+XPropertyEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ window long
+ atom Atom
+ time ulong
+ state int
+
+XSizeHints
+ flags long
+ x int
+ y int
+ width int
+ height int
+ min_width int
+ min_height int
+ max_width int
+ max_height int
+ width_inc int
+ height_inc int
+ min_aspect.x int
+ min_aspect.y int
+ max_aspect.x int
+ max_aspect.y int
+ base_width int
+ base_height int
+ win_gravity int
+XIconSize
+ min_width int
+ min_height int
+ max_width int
+ max_height int
+ width_inc int
+ height_inc int
+XwcTextItem
+ chars pointer
+ nchars int
+ delta int
+ font_set pointer
+XIMPreeditDrawCallbackStruct
+ caret int
+ chg_first int
+ chg_length int
+ text pointer XIMText
+XErrorEvent
+ type int
+ display long
+ resourceid long
+ serial long
+ error_code byte
+ request_code byte
+ minor_code byte
+XSelectionClearEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ window long
+ selection Atom
+ time ulong
+XKeyboardControl
+ key_click_percent int
+ bell_percent int
+ bell_pitch int
+ bell_duration int
+ led int
+ led_mode int
+ key int
+ auto_repeat_mode int
+XAnyEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ window long
+XTimeCoord
+ time ulong
+ x short
+ y short
+XGravityEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ event long
+ window long
+ x int
+ y int
+XCharStruct
+ lbearing short
+ rbearing short
+ width short
+ ascent short
+ descent short
+ attributes short
+XArc
+ x short
+ y short
+ width short
+ height short
+ angle1 short
+ angle2 short
+XPoint
+ x short
+ y short
+ScreenFormat
+ ext_data pointer XExtData
+ depth int
+ bits_per_pixel int
+ scanline_pad int
+XFocusChangeEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ window long
+ mode int
+ detail int
+XResizeRequestEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ window long
+ width int
+ height int
+
+XRectangle
+ x short
+ y short
+ width short
+ height short
+
+XMappingEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ window long
+ request int
+ first_keycode int
+ count int
+XSegment
+ x1 short
+ y1 short
+ x2 short
+ y2 short
+XColor
+ pixel long
+ red short
+ green short
+ blue short
+ flags byte
+ pad byte
+XKeyEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ window long
+ root long
+ subwindow long
+ time ulong
+ x int
+ y int
+ x_root int
+ y_root int
+ state int
+ keycode int
+ same_screen Bool
+XReparentEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ event long
+ window long
+ parent long
+ x int
+ y int
+ override_redirect Bool
+XMotionEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ window long
+ root long
+ subwindow long
+ time ulong
+ x int
+ y int
+ x_root int
+ y_root int
+ state int
+ is_hint byte
+ same_screen Bool
+XButtonEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ window long
+ root long
+ subwindow long
+ time ulong
+ x int
+ y int
+ x_root int
+ y_root int
+ state int
+ button int
+ same_screen Bool
+XHostAddress
+ family int
+ length int
+ address pointer
+XOMCharSetList
+ charset_count int
+ charset_list pointer
+XNoExposeEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ drawable long
+ major_code int
+ minor_code int
+XSelectionRequestEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ owner long
+ requestor long
+ selection Atom
+ target Atom
+ property Atom
+ time ulong
+XGCValues
+ function int
+ plane_mask long
+ foreground long
+ background long
+ line_width int
+ line_style int
+ cap_style int
+ join_style int
+ fill_style int
+ fill_rule int
+ arc_mode int
+ tile long
+ stipple long
+ ts_x_origin int
+ ts_y_origin int
+ font long
+ subwindow_mode int
+ graphics_exposures Bool
+ clip_x_origin int
+ clip_y_origin int
+ clip_mask long
+ dash_offset int
+ dashes byte
+XImage
+ width int
+ height int
+ xoffset int
+ format int
+ data pointer byte
+ byte_order int
+ bitmap_unit int
+ bitmap_bit_order int
+ bitmap_pad int
+ depth int
+ bytes_per_line int
+ bits_per_pixel int
+ red_mask long
+ green_mask long
+ blue_mask long
+ obdata pointer
+ f.create_image pointer
+ f.destroy_image pointer
+ f.get_pixel pointer
+ f.put_pixel pointer
+ f.sub_image pointer
+ f.add_pixel pointer
+XIMValuesList
+ count_values short
+ supported_values pointer
+XColormapEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ window long
+ colormap long
+ new Bool
+ state int
+XIMPreeditStateNotifyCallbackStruct
+ state long
+XCreateWindowEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ parent long
+ window long
+ x int
+ y int
+ width int
+ height int
+ border_width int
+ override_redirect Bool
+XConfigureEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ event long
+ window long
+ x int
+ y int
+ width int
+ height int
+ border_width int
+ above long
+ override_redirect Bool
+XFontProp
+ name long
+ card32 long
+XModifierKeymap
+ max_keypermod int
+ modifiermap pointer
+XCirculateRequestEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ parent long
+ window long
+ place int
+XChar2b
+ byte1 byte
+ byte2 byte
+XTextItem16
+ chars pointer XChar2b
+ nchars int
+ delta int
+ font long
+XOMOrientation
+ num_orientation int
+ orientation pointer int
+XGraphicsExposeEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ drawable long
+ x int
+ y int
+ width int
+ height int
+ count int
+ major_code int
+ minor_code int
+XFontStruct
+ ext_data pointer XExtData
+ fid long
+ direction int
+ min_char_or_byte2 int
+ max_char_or_byte2 int
+ min_byte1 int
+ max_byte1 int
+ all_chars_exist Bool
+ n_properties int
+ properties pointer XFontProp
+ min_bounds struct XCharStruct
+ max_bounds struct XCharStruct
+ per_char pointer XCharStruct
+ ascent int
+ descent int
+XMapEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ event long
+ window long
+ override_redirect int
+XExposeEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ window long
+ x int
+ y int
+ width int
+ height int
+ count int
+
+XFontSetExtents
+ max_ink_extent struct XRectangle
+ max_logical_extent struct XRectangle
+
+XUnmapEvent
+ type int
+ serial long
+ send_event Bool
+ display long
+ event long
+ window long
+ from_configure Bool
+PropMwmHints
+ flags long
+ functions long
+ decorations long
+ inputMode long
+ status long
+XPixmapFormatValues
+ depth int
+ bits_per_pixel int
+ scanline_pad int
+awtImageData
+ Depth int
+ wsImageFormat struct XPixmapFormatValues
+ clrdata pointer
+ convert array pointer 32
+ColorEntry
+ r byte
+ g byte
+ b byte
+ flags byte
+ColorData
+ awt_Colors pointer ColorEntry
+ awt_numICMcolors int
+ awt_icmLUT pointer int
+ awt_icmLUT2Colors pointer byte
+ img_grays pointer byte
+ img_clr_tbl pointer byte
+ img_oda_red pointer byte
+ img_oda_green pointer byte
+ img_oda_blue pointer byte
+ pGrayInverseLutData pointer int
+ screendata int
+
+AwtGraphicsConfigData
+ awt_depth int
+ awt_cmap long
+ awt_visInfo struct XVisualInfo
+ awt_num_colors int
+ awtImage pointer awtImageData
+ AwtColorMatch pointer
+ monoImage pointer
+ monoPixmap long
+ monoPixmapWidth int
+ monoPixmapHeight int
+ monoPixmapGC long
+ pixelStride int
+ color_data pointer ColorData
+ glxInfo pointer
+ isTranslucencySupported int
+ renderPictFormat struct XRenderPictFormat
+
+AwtScreenData
+ numConfigs int
+ root long
+ whitepixel long
+ blackpixel long
+ defaultConfig pointer AwtGraphicsConfigData
+ configs pointer // AwtGraphicsConfigDataPtr *configs;
+
+XdbeSwapInfo
+ swap_window long
+ swap_action int
+
+XEvent
+ type int
+ xany struct XAnyEvent
+ xkey struct XKeyEvent
+ xbutton struct XButtonEvent
+ xmotion struct XMotionEvent
+ xcrossing struct XCrossingEvent
+ xfocus struct XFocusChangeEvent
+ xexpose struct XExposeEvent
+ xgraphicsexpose struct XGraphicsExposeEvent
+ xnoexpose struct XNoExposeEvent
+ xvisibility struct XVisibilityEvent
+ xcreatewindow struct XCreateWindowEvent
+ xdestroywindow struct XDestroyWindowEvent
+ xunmap struct XUnmapEvent
+ xmap struct XMapEvent
+ xmaprequest struct XMapRequestEvent
+ xreparent struct XReparentEvent
+ xconfigure struct XConfigureEvent
+ xgravity struct XGravityEvent
+ xresizerequest struct XResizeRequestEvent
+ xconfigurerequest struct XConfigureRequestEvent
+ xcirculate struct XCirculateEvent
+ xcirculaterequest struct XCirculateRequestEvent
+ xproperty struct XPropertyEvent
+ xselectionclear struct XSelectionClearEvent
+ xselectionrequest struct XSelectionRequestEvent
+ xselection struct XSelectionEvent
+ xcolormap struct XColormapEvent
+ xclient struct XClientMessageEvent
+ xmapping struct XMappingEvent
+ xerror struct XErrorEvent
+ xkeymap struct XKeymapEvent
+ pad array long 24
+
+XkbAnyEvent
+ type int
+ serial ulong
+ send_event Bool
+ display long
+ time ulong
+ xkb_type int
+ device int
+
+XkbNewKeyboardNotifyEvent
+ type int
+ serial ulong
+ send_event Bool
+ display long
+ time ulong
+ xkb_type int
+ device int
+ old_device int
+ min_key_code int
+ max_key_code int
+ old_min_key_code int
+ old_max_key_code int
+ changed int
+ req_major byte
+ req_minor byte
+
+XkbMapNotifyEvent
+ type int
+ serial ulong
+ send_event Bool
+ display long
+ time ulong
+ xkb_type int
+ device int
+ changed int
+ flags int
+ first_type int
+ num_types int
+ min_key_code int
+ max_key_code int
+ first_key_sym int
+ first_key_act int
+ first_key_behavior int
+ first_key_explicit int
+ first_modmap_key int
+ first_vmodmap_key int
+ num_key_syms int
+ num_key_acts int
+ num_key_behaviors int
+ num_key_explicit int
+ num_modmap_keys int
+ num_vmodmap_keys int
+ vmods int
+
+XkbStateNotifyEvent
+ type int
+ serial ulong
+ send_event Bool
+ display long
+ time ulong
+ xkb_type int
+ device int
+ changed int
+ group int
+ base_group int
+ latched_group int
+ locked_group int
+ mods int
+ base_mods int
+ latched_mods int
+ locked_mods int
+ compat_state int
+ grab_mods byte
+ compat_grab_mods byte
+ lookup_mods byte
+ compat_lookup_mods byte
+ ptr_buttons int
+ keycode int
+ event_type byte
+ req_major byte
+ req_minor byte
+
+XkbControlsNotifyEvent
+ type int
+ serial ulong
+ send_event Bool
+ display long
+ time ulong
+ xkb_type int
+ device int
+ changed_ctrls int
+ enabled_ctrls int
+ enabled_ctrl_changes int
+ num_groups int
+ keycode int
+ event_type byte
+ req_major byte
+ req_minor byte
+
+XkbIndicatorNotifyEvent
+ type int
+ serial ulong
+ send_event Bool
+ display long
+ time ulong
+ xkb_type int
+ device int
+ changed int
+ state int
+
+XkbNamesNotifyEvent
+ type int
+ serial ulong
+ send_event Bool
+ display long
+ time ulong
+ xkb_type int
+ device int
+ changed int
+ first_type int
+ num_types int
+ first_lvl int
+ num_lvls int
+ num_aliases int
+ num_radio_groups int
+ changed_vmods int
+ changed_groups int
+ changed_indicators int
+ first_key int
+ num_keys int
+
+
+XkbCompatMapNotifyEvent
+ type int
+ serial ulong
+ send_event Bool
+ display long
+ time ulong
+ xkb_type int
+ device int
+ changed_groups int
+ first_si int
+ num_si int
+ num_total_si int
+
+XkbBellNotifyEvent
+ type int
+ serial ulong
+ send_event Bool
+ display long
+ time ulong
+ xkb_type int
+ device int
+ percent int
+ pitch int
+ duration int
+ bell_class int
+ bell_id int
+ name Atom
+ window long
+ event_only Bool
+
+XkbActionMessageEvent
+ type int
+ serial ulong
+ send_event Bool
+ display long
+ time ulong
+ xkb_type int
+ device int
+ keycode int
+ press Bool
+ key_event_follows Bool
+ group int
+ mods int
+ message array byte 7 //XkbActionMessageLength+1
+
+XkbAccessXNotifyEvent
+ type int
+ serial ulong
+ send_event Bool
+ display long
+ time ulong
+ xkb_type int
+ device int
+ detail int
+ keycode int
+ sk_delay int
+ debounce_delay int
+
+XkbExtensionDeviceNotifyEvent
+ type int
+ serial ulong
+ send_event Bool
+ display long
+ time ulong
+ xkb_type int
+ device int
+ reason int
+ supported int
+ unsupported int
+ first_btn int
+ num_btns int
+ leds_defined int
+ led_state int
+ led_class int
+ led_id int
+
+XkbEvent
+ type int
+ any struct XkbAnyEvent
+ new_kbd struct XkbNewKeyboardNotifyEvent
+ map struct XkbMapNotifyEvent
+ state struct XkbStateNotifyEvent
+ ctrls struct XkbControlsNotifyEvent
+ indicators struct XkbIndicatorNotifyEvent
+ names struct XkbNamesNotifyEvent
+ compat struct XkbCompatMapNotifyEvent
+ bell struct XkbBellNotifyEvent
+ message struct XkbActionMessageEvent
+ accessx struct XkbAccessXNotifyEvent
+ device struct XkbExtensionDeviceNotifyEvent
+ core struct XEvent
--- a/jdk/make/gensrc/GensrcMisc.gmk Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/make/gensrc/GensrcMisc.gmk Mon Feb 17 11:37:46 2014 -0500
@@ -83,9 +83,9 @@
GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc/sun/nio/ch/SocketOptionRegistry.java
-GENSRC_SOR_SRC := $(JDK_TOPDIR)/src/share/native/sun/nio/ch
+GENSRC_SOR_SRC := $(JDK_TOPDIR)/make/src/native/genconstants/ch
GENSRC_SOR_SRC_FILE := genSocketOptionRegistry.c
-GENSRC_SOR_BIN := $(JDK_OUTPUTDIR)/gensrc/genSocketOptionRegistry
+GENSRC_SOR_BIN := $(JDK_OUTPUTDIR)/btnative/genSocketOptionRegistry
SOR_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_SOR_SRC)/$(GENSRC_SOR_SRC_FILE) | \
$(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }')
@@ -100,11 +100,9 @@
OUTPUT_DIR := $(GENSRC_SOR_BIN), \
PROGRAM := genSocketOptionRegistry))
-ifneq ($(wildcard $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/ch/SocketOptionRegistry-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java), )
- HAS_SOCKET_OPTION_REGISTRY := true
-endif
+SOR_PREGEN_FILE := $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/ch/SocketOptionRegistry-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java.template
-ifneq ($(HAS_SOCKET_OPTION_REGISTRY), true)
+ifeq ($(wildcard $(SOR_PREGEN_FILE)), )
$(JDK_OUTPUTDIR)/gensrc/sun/nio/ch/SocketOptionRegistry.java: $(BUILD_GENSRC_SOR_EXE)
$(MKDIR) -p $(@D)
$(RM) $@ $@.tmp
@@ -112,7 +110,7 @@
$(BUILD_GENSRC_SOR_EXE) >> $@.tmp
$(MV) $@.tmp $@
else
- $(JDK_OUTPUTDIR)/gensrc/sun/nio/ch/SocketOptionRegistry.java: $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/ch/SocketOptionRegistry-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java
+ $(JDK_OUTPUTDIR)/gensrc/sun/nio/ch/SocketOptionRegistry.java: $(SOR_PREGEN_FILE)
$(call install-file)
endif
@@ -122,9 +120,9 @@
GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/UnixConstants.java
- GENSRC_UC_SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs
+ GENSRC_UC_SRC := $(JDK_TOPDIR)/make/src/native/genconstants/fs
GENSRC_UC_SRC_FILE := genUnixConstants.c
- GENSRC_UC_BIN := $(JDK_OUTPUTDIR)/gensrc/genUnixConstants
+ GENSRC_UC_BIN := $(JDK_OUTPUTDIR)/btnative/genUnixConstants
UC_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_UC_SRC)/$(GENSRC_UC_SRC_FILE) | \
$(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }')
@@ -140,11 +138,9 @@
OUTPUT_DIR := $(GENSRC_UC_BIN), \
PROGRAM := genUnixConstants))
- ifneq ($(wildcard $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/fs/UnixConstants-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java), )
- HAS_UNIX_CONSTANTS := true
- endif
+ UC_PREGEN_FILE := $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/fs/UnixConstants-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java.template
- ifneq ($(HAS_UNIX_CONSTANTS), true)
+ ifeq ($(wildcard $(UC_PREGEN_FILE)), )
$(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/UnixConstants.java: $(BUILD_GENSRC_UC_EXE)
$(MKDIR) -p $(@D)
$(RM) $@ $@.tmp
@@ -152,7 +148,7 @@
$(BUILD_GENSRC_UC_EXE) >> $@.tmp
$(MV) $@.tmp $@
else
- $(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/UnixConstants.java: $(JDK_TOPDIR)/src/closed/solaris/classes/sun/nio/fs/UnixConstants-$(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_ARCH).java
+ $(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/UnixConstants.java: $(UC_PREGEN_FILE)
$(call install-file)
endif
@@ -164,9 +160,9 @@
GENSRC_MISC += $(JDK_OUTPUTDIR)/gensrc/sun/nio/fs/SolarisConstants.java
- GENSRC_SOL_SRC := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/nio/fs
+ GENSRC_SOL_SRC := $(JDK_TOPDIR)/make/src/native/genconstants/fs
GENSRC_SOL_SRC_FILE := genSolarisConstants.c
- GENSRC_SOL_BIN := $(JDK_OUTPUTDIR)/gensrc/genSolarisConstants
+ GENSRC_SOL_BIN := $(JDK_OUTPUTDIR)/btnative/genSolarisConstants
SOL_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSRC_SOL_SRC)/$(GENSRC_SOL_SRC_FILE) | \
$(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }')
--- a/jdk/make/gensrc/GensrcX11Wrappers.gmk Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/make/gensrc/GensrcX11Wrappers.gmk Mon Feb 17 11:37:46 2014 -0500
@@ -42,7 +42,7 @@
GENSRC_X11WRAPPERS_DST := $(JDK_OUTPUTDIR)/gensrc/sun/awt/X11
# The pre-calculated offset file are stored here:
-GENSRC_SIZER_DIR := $(JDK_TOPDIR)/src/solaris/classes/sun/awt/X11/generator
+GENSRC_SIZER_DIR := $(JDK_TOPDIR)/make/data/x11wrappergen
# Normal case is to generate only according to target bits
GENSRC_X11_VERSION := $(OPENJDK_TARGET_CPU_BITS)
--- a/jdk/make/lib/Awt2dLibraries.gmk Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/make/lib/Awt2dLibraries.gmk Mon Feb 17 11:37:46 2014 -0500
@@ -23,6 +23,9 @@
# questions.
#
+# Hook to include the corresponding custom file, if present.
+$(eval $(call IncludeCustomExtension, jdk, lib/Awt2dLibraries.gmk))
+
# Openwin is defined on Solaris.
OPENWIN_LIB := $(OPENWIN_HOME)/lib
@@ -550,10 +553,6 @@
endif
ifeq ($(OPENJDK_TARGET_OS), linux)
- ifndef OPENJDK
- include $(JDK_TOPDIR)/make/closed/xawt.gmk
- endif
-
ifeq ($(DISABLE_XRENDER), true)
LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true
endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/src/classes/build/tools/x11wrappergen/WrapperGenerator.java Mon Feb 17 11:37:46 2014 -0500
@@ -0,0 +1,1368 @@
+/*
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package build.tools.x11wrappergen;
+
+import java.util.*;
+import java.io.*;
+import java.nio.charset.*;
+import java.text.MessageFormat;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+public class WrapperGenerator {
+ /* XLibParser converts Xlib.h to a Java Object that encapsulates the
+ * X11 API and data structures */
+ // Charset and decoder for ISO-8859-15
+ private final static Logger log = Logger.getLogger("WrapperGenerator");
+ boolean generateLog = true;
+ boolean wide;
+ private static Charset charset = Charset.forName("ISO-8859-15");
+
+ String package_name = "sun.awt.X11";
+ String package_path = "sun/awt/X11";
+ String sizerFileName = "sizer.c";
+ String defaultBaseClass = "XWrapperBase";
+
+ String compile_options = "-lX11";
+ static Hashtable symbolTable = new Hashtable();
+ static Hashtable sizeTable32bit = new Hashtable();
+ static Hashtable sizeTable64bit = new Hashtable();
+ static Hashtable knownSizes32 = new Hashtable();
+ static Hashtable knownSizes64 = new Hashtable();
+ static {
+/*
+ knownSizes64.put("", Integer.valueOf());
+ knownSizes32.put("", Integer.valueOf());
+*/
+ knownSizes64.put("XComposeStatus", Integer.valueOf(16));
+ knownSizes64.put("XTimeCoord", Integer.valueOf(16));
+ knownSizes64.put("XExtData", Integer.valueOf(32));
+ knownSizes64.put("XWindowChanges", Integer.valueOf(40));
+ knownSizes64.put("XOMCharSetList", Integer.valueOf(16));
+ knownSizes64.put("XModifierKeymap", Integer.valueOf(16));
+ knownSizes32.put("XIMValuesList", Integer.valueOf(8));
+ knownSizes32.put("XGCValues", Integer.valueOf(92));
+// knownSizes32.put("XIMStringConversionCallbackStruct", Integer.valueOf(16));
+ }
+
+ private static abstract class BaseType {
+
+ String real_type;
+ String name;
+
+
+ public String getName() {
+ return name;
+ }
+ public String getRealType() {
+ return real_type;
+ }
+
+ public String toString() {
+ return name;
+ }
+ }
+
+ private static class AtomicType extends BaseType {
+
+ private boolean alias;
+ private String aliasName;
+
+ static final int TYPE_INT=0;
+ static final int TYPE_CHAR=1;
+ static final int TYPE_LONG=2;
+ static final int TYPE_LONG_LONG=3;
+ static final int TYPE_DOUBLE=4;
+ static final int TYPE_FLOAT=5;
+ static final int TYPE_PTR=6;
+ static final int TYPE_SHORT=7;
+ static final int TYPE_BOOL = 8;
+ static final int TYPE_STRUCT = 9;
+ static final int TYPE_ARRAY = 10;
+ static final int TYPE_BYTE=11;
+ static final int TYPE_ATOM = 12;
+ static final int TYPE_ULONG = 13;
+ static int getTypeForString(String str) {
+ int type=-1;
+ if (str.equals("int"))
+ type = AtomicType.TYPE_INT;
+ else if (str.equals("long"))
+ type = AtomicType.TYPE_LONG;
+ else if (str.equals("byte"))
+ type = AtomicType.TYPE_BYTE;
+ else if (str.equals("char"))
+ type = AtomicType.TYPE_CHAR;
+ else if (str.equals("long long"))
+ type = AtomicType.TYPE_LONG_LONG;
+ else if (str.equals("double"))
+ type = AtomicType.TYPE_DOUBLE;
+ else if (str.equals("float"))
+ type = AtomicType.TYPE_FLOAT;
+ else if (str.equals("pointer"))
+ type = AtomicType.TYPE_PTR;
+ else if (str.equals("short"))
+ type = AtomicType.TYPE_SHORT;
+ else if (str.equals("Bool"))
+ type = AtomicType.TYPE_BOOL;
+ else if (str.equals("struct"))
+ type = AtomicType.TYPE_STRUCT;
+ else if (str.equals("Atom"))
+ type = AtomicType.TYPE_ATOM;
+ else if (str.equals("array"))
+ type = TYPE_ARRAY;
+ else if (str.equals("ulong"))
+ type = TYPE_ULONG;
+ else throw new IllegalArgumentException("Uknown type string: " + str);
+
+ return type;
+ }
+ String getJavaType() {
+ if (referencedType != null) {
+ if (referencedType instanceof AtomicType) {
+ return ((AtomicType)referencedType).getJavaType();
+ } else {
+ return referencedType.getName();
+ }
+ } else {
+ return getJavaTypeForType(type);
+ }
+ }
+ static String getJavaTypeForType(int type) {
+ switch (type) {
+ case TYPE_INT:
+ return "int";
+ case TYPE_CHAR:
+ return "char";
+ case TYPE_BYTE:
+ return "byte";
+ case TYPE_LONG:
+ case TYPE_LONG_LONG:
+ case TYPE_PTR:
+ case TYPE_ULONG:
+ return "long";
+ case TYPE_DOUBLE:
+ return "double";
+ case TYPE_FLOAT:
+ return "float";
+ case TYPE_SHORT:
+ return "short";
+ case TYPE_BOOL:
+ return "boolean";
+ case TYPE_ATOM:
+ return "long";
+ default:
+ throw new IllegalArgumentException("Unknown type: " + type);
+ }
+ }
+ String getItemSize() {
+ if (referencedType != null) {
+ if (referencedType instanceof StructType) {
+ return ((StructType)referencedType).getSize();
+ } else {
+ return ((AtomicType)referencedType).getItemSize();
+ }
+ } else {
+ int i32 = getNativeSizeForAccess(getJavaAccess(false));
+ int i64 = getNativeSizeForAccess(getJavaAccess(true));
+ if (i32 != i64) {
+ return "Native.get" + getNativeAccess() + "Size()";
+ } else {
+ return Integer.toString(i32);
+ }
+ }
+ }
+
+ String getJavaResult(String offset, String base) {
+ String res = null;
+ switch (type) {
+ case TYPE_STRUCT:
+ res = "pData + " + offset;
+ break;
+ case TYPE_PTR:
+ if (referencedType == null || referencedType instanceof StructType) {
+ res = base + "+" + offset;
+ } else if (referencedType instanceof AtomicType) {
+ res = MessageFormat.format("Native.get{0}({1})",
+ new Object[] {getNativeAccessForType(((AtomicType)referencedType).type),
+ base + "+" + offset});
+ }
+ break;
+ case TYPE_ARRAY:
+ if (referencedType instanceof StructType) {
+ res = "pData + " + offset;
+ } else if (referencedType instanceof AtomicType) {
+ res = MessageFormat.format("Native.get{0}(pData + {1})",
+ new Object[] {getNativeAccessForType(((AtomicType)referencedType).type),
+ offset});
+ }
+ break;
+ default:
+ res = MessageFormat.format("(Native.get{0}(pData+{1}))",
+ new Object[] {getNativeAccess(), offset});
+ }
+ return getJavaResultConversion(res, base);
+ }
+ String getJavaResultConversion(String value, String base) {
+ if (referencedType != null) {
+ if (referencedType instanceof StructType) {
+ if (type == TYPE_PTR) {
+ return MessageFormat.format("({2} != 0)?(new {0}({1})):(null)", new Object[] {referencedType.getName(),value, base});
+ } else {
+ return MessageFormat.format("new {0}({1})", new Object[] {referencedType.getName(),value});
+ }
+ } else {
+ return value;
+ }
+ } else {
+ return getJavaResultConversionForType(type, value);
+ }
+ }
+ static String getJavaResultConversionForType(int type, String value) {
+ return value;
+ }
+ String getNativeAccess() {
+ return getNativeAccessForType(type);
+ }
+ String getJavaAccess(boolean wide) {
+ return getJavaAccessForType(type, wide);
+ }
+ static String getJavaAccessForType(int type, boolean wide) {
+ switch (type) {
+ case TYPE_INT:
+ return "Int";
+ case TYPE_CHAR:
+ return "Char";
+ case TYPE_BYTE:
+ return "Byte";
+ case TYPE_LONG:
+ case TYPE_PTR:
+ case TYPE_ARRAY:
+ case TYPE_STRUCT:
+ case TYPE_ATOM:
+ return (wide?"Long":"Int");
+ case TYPE_LONG_LONG:
+ return "Long";
+ case TYPE_ULONG:
+ return (wide?"ULong":"UInt");
+ case TYPE_DOUBLE:
+ return "Double";
+ case TYPE_FLOAT:
+ return "Float";
+ case TYPE_SHORT:
+ return "Short";
+ case TYPE_BOOL:
+ return "Int";
+ default:
+ throw new IllegalArgumentException("Unknown type: " + type);
+ }
+ }
+ static String getNativeAccessForType(int type) {
+ switch (type) {
+ case TYPE_INT:
+ return "Int";
+ case TYPE_CHAR:
+ return "Char";
+ case TYPE_BYTE:
+ return "Byte";
+ case TYPE_LONG:
+ case TYPE_PTR:
+ case TYPE_ARRAY:
+ case TYPE_STRUCT:
+ return "Long";
+ case TYPE_LONG_LONG:
+ return "Long";
+ case TYPE_ULONG:
+ return "ULong";
+ case TYPE_DOUBLE:
+ return "Double";
+ case TYPE_FLOAT:
+ return "Float";
+ case TYPE_SHORT:
+ return "Short";
+ case TYPE_BOOL:
+ return "Bool";
+ case TYPE_ATOM:
+ return "Long";
+ default:
+ throw new IllegalArgumentException("Unknown type: " + type);
+ }
+ }
+
+ static int getNativeSizeForAccess(String access) {
+ if (access.equals("Int")) return 4;
+ else if (access.equals("Byte")) return 1;
+ else if (access.equals("Long")) return 8;
+ else if (access.equals("Double")) return 8;
+ else if (access.equals("Float")) return 4;
+ else if (access.equals("Char")) return 2;
+ else if (access.equals("Short")) return 2;
+ else if (access.equals("ULong")) return 8;
+ else if (access.equals("UInt")) return 4;
+ else throw new IllegalArgumentException("Unknow access type: " + access);
+ }
+
+ String getJavaConversion(String offset, String value) {
+ if (referencedType != null) {
+ if (referencedType instanceof StructType) {
+ return getJavaConversionForType(TYPE_PTR, offset, value + ".pData");
+ } else {
+ if (type == TYPE_ARRAY) {
+ return getJavaConversionForType(((AtomicType)referencedType).type, offset, value);
+ } else { // TYPE_PTR
+ return getJavaConversionForType(TYPE_PTR, offset, value);
+ }
+ }
+ } else {
+ return getJavaConversionForType(type, offset, value);
+ }
+ }
+ static String getJavaConversionForType(int type, String offset, String value) {
+ return MessageFormat.format("Native.put{0}({2}, {1})", new Object[] {getNativeAccessForType(type), value, offset});
+ }
+
+
+ int type;
+ int offset;
+ int direction;
+ BaseType referencedType;
+ int arrayLength = -1;
+ boolean autoFree = false;
+ public AtomicType(int _type,String _name, String _real_type) {
+ name = _name.replaceAll("[* \t]","");
+ if ((name.indexOf("[") != -1) || (name.indexOf("]") != -1))
+ {
+ name = name.replaceAll("\\[.*\\]","");
+ }
+ type = _type;
+ real_type = _real_type;
+ if (real_type == null)
+ {
+ System.out.println(" real type is null");
+
+ }
+ }
+ public boolean isIn() {
+ return direction == 0;
+ }
+ public boolean isOut() {
+ return direction == 1;
+ }
+ public boolean isInOut() {
+ return direction == 2;
+ }
+ public boolean isAutoFree() {
+ return autoFree;
+ }
+ public void setAttributes(String[] attributes) {
+ String mod = attributes[3];
+ if ("in".equals(mod)) {
+ direction = 0;
+ } else if ("out".equals(mod)) {
+ direction = 1;
+ if (attributes.length > 4 && "free".equals(attributes[4])) {
+ autoFree = true;
+ }
+ } else if ("inout".equals(mod)) {
+ direction = 2;
+ } else if ("alias".equals(mod)) {
+ alias = true;
+ aliasName = attributes[4];
+ } else if (type == TYPE_ARRAY || type == TYPE_PTR || type == TYPE_STRUCT) {
+ referencedType = (BaseType)symbolTable.get(mod);
+ if (referencedType == null) {
+ log.warning("Can't find type for name " + mod);
+ }
+ if (attributes.length > 4) { // array length
+ try {
+ arrayLength = Integer.parseInt(attributes[4]);
+ } catch (Exception e) {
+ }
+ }
+ }
+ }
+ public BaseType getReferencedType() {
+ return referencedType;
+ }
+ public int getArrayLength() {
+ return arrayLength;
+ }
+ public void setOffset(int o)
+ {
+ offset = o;
+ }
+ public int getType() {
+ return type;
+ }
+ public String getTypeUpperCase() {
+ switch (type) {
+ case TYPE_INT:
+ return "Int";
+ case TYPE_CHAR:
+ return "Char";
+ case TYPE_BYTE:
+ return "Byte";
+ case TYPE_LONG:
+ case TYPE_LONG_LONG:
+ case TYPE_PTR:
+ return "Long";
+ case TYPE_DOUBLE:
+ return "Double";
+ case TYPE_FLOAT:
+ return "Float";
+ case TYPE_SHORT:
+ return "Short";
+ case TYPE_BOOL:
+ return "Int";
+ case TYPE_ATOM:
+ return "Long";
+ case TYPE_ULONG:
+ return "ULong";
+ default: throw new IllegalArgumentException("Uknown type");
+ }
+ }
+ public int getOffset()
+ {
+ return offset;
+ }
+ public boolean isAlias() {
+ return alias;
+ }
+ public String getAliasName() {
+ return aliasName;
+ }
+ }
+
+ private static class StructType extends BaseType {
+
+ Vector members;
+ String description;
+ boolean packed;
+ int size;
+ String baseClass, interfaces;
+ boolean isInterface;
+ String javaClassName;
+
+ /**
+ * Construct new structured type.
+ * Description is used for name and type definition and has the following format:
+ * structName [ '[' base classe ']' ] [ '{' interfaces '}' ] [ '|' javaClassName ]
+ */
+ public StructType(String _desc)
+ {
+ members = new Vector();
+ parseDescription(_desc);
+ }
+ public int getNumFields()
+ {
+ return members.size();
+ }
+ public void setName(String _name)
+ {
+ _name = _name.replaceAll("[* \t]","");
+ parseDescription(_name);
+ }
+
+ public void setSize(int i)
+ {
+ size = i;
+ }
+
+ public String getDescription()
+ {
+ return description;
+ }
+
+ public Enumeration getMembers()
+ {
+ return members.elements();
+ }
+
+ public void addMember(BaseType tp)
+ {
+ members.add(tp);
+ }
+ public String getBaseClass() {
+ return baseClass;
+ }
+ public String getInterfaces() {
+ return interfaces;
+ }
+ public boolean getIsInterface() {
+ return isInterface;
+ }
+ public String getJavaClassName() {
+ return javaClassName;
+ }
+ void parseDescription(String _desc) {
+ if (_desc.indexOf('[') != -1) { // Has base class
+ baseClass = _desc.substring(_desc.indexOf('[')+1, _desc.indexOf(']'));
+ _desc = _desc.substring(0, _desc.indexOf('[')) + _desc.substring(_desc.indexOf(']')+1);
+ }
+ if (_desc.indexOf('{') != -1) { // Has base class
+ interfaces = _desc.substring(_desc.indexOf('{')+1, _desc.indexOf('}'));
+ _desc = _desc.substring(0, _desc.indexOf('{')) + _desc.substring(_desc.indexOf('}')+1);
+ }
+ if (_desc.startsWith("-")) { // Interface
+ isInterface = true;
+ _desc = _desc.substring(1, _desc.length());
+ }
+ if (_desc.indexOf("|") != -1) {
+ javaClassName = _desc.substring(_desc.indexOf('|')+1, _desc.length());
+ _desc = _desc.substring(0, _desc.indexOf('|'));
+ }
+ name = _desc;
+ if (javaClassName == null) {
+ javaClassName = name;
+ }
+ description = _desc;
+// System.out.println("Struct " + name + " extends " + baseClass + " implements " + interfaces);
+ }
+
+ /**
+ * Returns String containing Java code calculating size of the structure depending on the data model
+ */
+ public String getSize() {
+ String s32 = (String) WrapperGenerator.sizeTable32bit.get(getName());
+ String s64 = (String) WrapperGenerator.sizeTable64bit.get(getName());
+ if (s32 == null || s64 == null) {
+ return (s32 == null)?(s64):(s32);
+ }
+ if (s32.equals(s64)) {
+ return s32;
+ } else {
+ return MessageFormat.format("((XlibWrapper.dataModel == 32)?({0}):({1}))", new Object[] {s32, s64});
+ }
+ }
+ public String getOffset(AtomicType atp) {
+ String key = getName()+"."+(atp.isAlias() ? atp.getAliasName() : atp.getName());
+ String s64 = (String) WrapperGenerator.sizeTable64bit.get(key);
+ String s32 = (String) WrapperGenerator.sizeTable32bit.get(key);
+ if (s32 == null || s64 == null) {
+ return (s32 == null)?(s64):(s32);
+ }
+ if (s32.equals(s64)) {
+ return s32;
+ } else {
+ return MessageFormat.format("((XlibWrapper.dataModel == 32)?({0}):({1}))", new Object[]{s32, s64});
+ }
+ }
+ }
+
+ private static class FunctionType extends BaseType {
+
+ Vector args;
+ String description;
+ boolean packed;
+ String returnType;
+
+ int alignment;
+
+ public FunctionType(String _desc)
+ {
+ args = new Vector();
+ description = _desc;
+ setName(_desc);
+ }
+ boolean isVoid() {
+ return (returnType == null);
+ }
+ String getReturnType() {
+ if (returnType == null) {
+ return "void";
+ } else {
+ return returnType;
+ }
+ }
+
+ public int getNumArgs()
+ {
+ return args.size();
+ }
+ public void setName(String _name)
+ {
+ if (_name.startsWith("!")) {
+ _name = _name.substring(1, _name.length());
+ }
+ if (_name.indexOf("|") != -1) {
+ returnType = _name.substring(_name.indexOf("|")+1, _name.length());
+ _name = _name.substring(0, _name.indexOf("|"));
+ }
+ name = _name.replaceAll("[* \t]","");
+ }
+
+ public String getDescription()
+ {
+ return description;
+ }
+
+ public Collection getArguments()
+ {
+ return args;
+ }
+ public void addArgument(BaseType tp)
+ {
+ args.add(tp);
+ }
+ }
+
+ public String makeComment(String str)
+ {
+ StringTokenizer st = new StringTokenizer(str,"\r\n");
+ String ret="";
+
+ while (st.hasMoreTokens())
+ {
+ ret = ret + "//" + st.nextToken() + "\n";
+ }
+
+ return ret;
+ }
+
+ public String getJavaTypeForSize(int size) {
+ switch(size) {
+ case 1: return "byte";
+ case 2: return "short";
+ case 4: return "int";
+ case 8: return "long";
+ default: throw new RuntimeException("Unsupported size: " + size);
+ }
+ }
+ public String getOffsets(StructType stp,AtomicType atp, boolean wide)
+ {
+ String key = stp.getName()+"."+atp.getName();
+ return wide == true ? (String) sizeTable64bit.get(key) : (String) sizeTable32bit.get(key);
+ }
+
+ public String getStructSize(StructType stp, boolean wide)
+ {
+ return wide == true ? (String) sizeTable64bit.get(stp.getName()) : (String) sizeTable32bit.get(stp.getName());
+ }
+
+ public int getLongSize(boolean wide)
+ {
+ return Integer.parseInt(wide == true ? (String)sizeTable64bit.get("long") : (String)sizeTable32bit.get("long"));
+ }
+
+ public int getPtrSize(boolean wide)
+ {
+ return Integer.parseInt(wide == true ? (String)sizeTable64bit.get("ptr") : (String)sizeTable32bit.get("ptr"));
+ }
+ public int getBoolSize(boolean wide) {
+ return getOrdinalSize("Bool", wide);
+ }
+ public int getOrdinalSize(String ordinal, boolean wide) {
+ return Integer.parseInt(wide == true ? (String)sizeTable64bit.get(ordinal) : (String)sizeTable32bit.get(ordinal));
+ }
+
+ public void writeToString(StructType stp, PrintWriter pw) {
+ int type;
+ pw.println("\n\n\tString getName() {\n\t\treturn \"" + stp.getName()+ "\"; \n\t}");
+ pw.println("\n\n\tString getFieldsAsString() {\n\t\tStringBuilder ret = new StringBuilder(" + stp.getNumFields() * 40 + ");\n");
+
+ for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
+ AtomicType tp = (AtomicType) e.nextElement();
+
+ type = tp.getType();
+ String name = tp.getName().replace('.', '_');
+ if ((name != null) && (name.length() > 0))
+ {
+ if (type == AtomicType.TYPE_ATOM) {
+ pw.println("\t\tret.append(\"" + name + " = \" ).append( XAtom.get(get_" + name + "()) ).append(\", \");");
+ } else if (name.equals("type")) {
+ pw.println("\t\tret.append(\"type = \").append( XlibWrapper.eventToString[get_type()] ).append(\", \");");
+ } else if (name.equals("window")){
+ pw.println("\t\tret.append(\"window = \" ).append( getWindow(get_window()) ).append(\", \");");
+ } else if (type == AtomicType.TYPE_ARRAY) {
+ pw.print("\t\tret.append(\"{\")");
+ for (int i = 0; i < tp.getArrayLength(); i++) {
+ pw.print("\n\t\t.append( get_" + name + "(" + i + ") ).append(\" \")");
+ }
+ pw.println(".append( \"}\");");
+ } else {
+ pw.println("\t\tret.append(\"" + name +" = \").append( get_"+ name+"() ).append(\", \");");
+ }
+ }
+
+ }
+ pw.println("\t\treturn ret.toString();\n\t}\n\n");
+ }
+
+ public void writeStubs(StructType stp, PrintWriter pw) {
+ int type;
+ String prefix = "";
+ if (!stp.getIsInterface()) {
+ prefix = "\t\tabstract ";
+ } else {
+ prefix = "\t";
+ }
+ for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
+ AtomicType tp = (AtomicType) e.nextElement();
+
+ type = tp.getType();
+ String name = tp.getName().replace('.','_');
+ if ((name != null) && (name.length() > 0))
+ {
+ if (type == AtomicType.TYPE_ARRAY) {
+ // Returns pointer to the start of the array
+ pw.println(prefix + "long get_" +name +"();");
+
+ pw.println(prefix + tp.getJavaType() + " get_" +name +"(int index);");
+ pw.println(prefix + "void set_" +name +"(int index, " + tp.getJavaType() + " v);");
+ } else {
+ pw.println(prefix + tp.getJavaType() + " get_" +name +"();");
+ if (type != AtomicType.TYPE_STRUCT) pw.println(prefix + "void set_" +name +"(" + tp.getJavaType() + " v);");
+ }
+ }
+ }
+ }
+
+ private int padSize(int size, int wordLength) {
+ int bytesPerWord = wordLength / 8;
+ // Make size dividable by bytesPerWord
+ return (size + bytesPerWord / 2) / bytesPerWord * bytesPerWord;
+ }
+
+ public void writeAccessorImpls(StructType stp, PrintWriter pw) {
+ int type;
+ int i=0;
+ String s_size_32 = getStructSize(stp, false);
+ String s_size_64 = getStructSize(stp, true);
+ int acc_size_32 = 0;
+ int acc_size_64 = 0;
+ String s_log = (generateLog?"log.finest(\"\");":"");
+ for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
+ AtomicType tp = (AtomicType) e.nextElement();
+
+ type = tp.getType();
+ String name = tp.getName().replace('.','_');
+ String pref = "\tpublic " ;
+ if ((name != null) && (name.length() > 0))
+ {
+ String jt = tp.getJavaType();
+ String ja_32 = tp.getJavaAccess(false);
+ String ja_64 = tp.getJavaAccess(true);
+ String ja = ja_32;
+ int elemSize_32 = AtomicType.getNativeSizeForAccess(ja_32);
+ int elemSize_64 = AtomicType.getNativeSizeForAccess(ja_64);
+ String elemSize = tp.getItemSize();
+ if (type == AtomicType.TYPE_ARRAY) {
+ acc_size_32 += elemSize_32 * tp.getArrayLength();
+ acc_size_64 += elemSize_64 * tp.getArrayLength();
+ pw.println(pref + tp.getJavaType() + " get_" +name + "(int index) { " +s_log+"return " +
+ tp.getJavaResult(stp.getOffset(tp) + "+index*" + elemSize, null) + "; }");
+ if (tp.getReferencedType() instanceof AtomicType) { // Set for StructType is forbidden
+ pw.println(MessageFormat.format(pref + "void set_{0}(int index, {1} v) '{' {3} {2}; '}'",
+ new Object[] {
+ name, jt,
+ tp.getJavaConversion("pData+"+stp.getOffset(tp)+" + index*" + elemSize, "v"),
+ s_log}));
+ }
+ // Returns pointer to the start of the array
+ pw.println(pref + "long get_" +name+ "() { "+s_log+"return pData+"+stp.getOffset(tp)+"; }");
+ } else if (type == AtomicType.TYPE_PTR) {
+ pw.println(MessageFormat.format(pref + "{0} get_{1}(int index) '{' {3} return {2}; '}'",
+ new Object[] {
+ jt, name,
+ tp.getJavaResult("index*" + elemSize, "Native.getLong(pData+"+stp.getOffset(tp)+")"),
+ s_log
+ }));
+ pw.println(pref + "long get_" +name+ "() { "+s_log+"return Native.getLong(pData+"+stp.getOffset(tp)+"); }");
+ pw.println(MessageFormat.format(pref + "void set_{0}({1} v) '{' {3} {2}; '}'",
+ new Object[] {name, "long", "Native.putLong(pData + " + stp.getOffset(tp) + ", v)", s_log}));
+ acc_size_32 += elemSize_32;
+ acc_size_64 += elemSize_64;
+ } else {
+ acc_size_32 += elemSize_32;
+ acc_size_64 += elemSize_64;
+ pw.println(pref + tp.getJavaType() + " get_" +name +
+ "() { "+s_log+"return " + tp.getJavaResult(stp.getOffset(tp), null) + "; }");
+ if (type != AtomicType.TYPE_STRUCT) {
+ pw.println(MessageFormat.format(pref + "void set_{0}({1} v) '{' {3} {2}; '}'",
+ new Object[] {name, jt, tp.getJavaConversion("pData+"+stp.getOffset(tp), "v"), s_log}));
+ }
+ }
+ i++;
+ }
+ }
+ if (s_size_32 != null && !s_size_32.equals(Integer.toString(acc_size_32))) {
+ if (log.isLoggable(Level.FINE)) {
+ log.fine("32 bits: The size of the structure " + stp.getName() + " " + s_size_32 +
+ " is not equal to the accumulated size " +acc_size_32 + " of the fields");
+ }
+ } else if (s_size_64 != null && !s_size_64.equals(Integer.toString(acc_size_64))) {
+ if (log.isLoggable(Level.FINE)) {
+ log.fine("64 bits: The size of the structure " + stp.getName() + " " +s_size_64+
+ " is not equal to the accumulated size " +acc_size_64+" of the fields");
+ }
+ }
+ }
+
+ public void writeWrapperSubclass(StructType stp, PrintWriter pw, boolean wide) {
+
+
+ pw.println("class " + stp.getJavaClassName() + "AccessorImpl" + " extends " + stp.getJavaClassName() + "Accessor {");
+ pw.println("/*\nThis class serves as a Wrapper for the following X Struct \nsThe offsets here are calculated based on actual compiler.\n\n" +stp.getDescription() + "\n\n */");
+
+ writeAccessorImpls(stp, pw);
+
+ pw.println("\n\n } \n\n");
+ }
+
+ public void writeWrapper(String outputDir, StructType stp)
+ {
+ if (stp.getNumFields() > 0) {
+
+ try {
+ FileOutputStream fs = new FileOutputStream(outputDir + "/"+stp.getJavaClassName()+".java");
+ PrintWriter pw = new PrintWriter(fs);
+ pw.println("// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !\n" );
+
+ pw.println("package "+package_name+";\n");
+ pw.println("import sun.misc.*;\n");
+ pw.println("import sun.util.logging.PlatformLogger;");
+ String baseClass = stp.getBaseClass();
+ if (baseClass == null) {
+ baseClass = defaultBaseClass;
+ }
+ if (stp.getIsInterface()) {
+ pw.print("public interface ");
+ pw.print(stp.getJavaClassName());
+ } else {
+ pw.print("public class ");
+ pw.print(stp.getJavaClassName() + " extends " + baseClass);
+ }
+ if (stp.getInterfaces() != null) {
+ pw.print(" implements " + stp.getInterfaces());
+ }
+ pw.println(" { ");
+ if (!stp.getIsInterface()) {
+ pw.println("\tprivate Unsafe unsafe = XlibWrapper.unsafe; ");
+ pw.println("\tprivate final boolean should_free_memory;");
+ pw.println("\tpublic static int getSize() { return " + stp.getSize() + "; }");
+ pw.println("\tpublic int getDataSize() { return getSize(); }");
+ pw.println("\n\tlong pData;");
+ pw.println("\n\tpublic long getPData() { return pData; }");
+
+ pw.println("\n\n\tpublic " + stp.getJavaClassName() + "(long addr) {");
+ if (generateLog) {
+ pw.println("\t\tlog.finest(\"Creating\");");
+ }
+ pw.println("\t\tpData=addr;");
+ pw.println("\t\tshould_free_memory = false;");
+ pw.println("\t}");
+ pw.println("\n\n\tpublic " + stp.getJavaClassName() + "() {");
+ if (generateLog) {
+ pw.println("\t\tlog.finest(\"Creating\");");
+ }
+ pw.println("\t\tpData = unsafe.allocateMemory(getSize());");
+ pw.println("\t\tshould_free_memory = true;");
+ pw.println("\t}");
+
+ pw.println("\n\n\tpublic void dispose() {");
+ if (generateLog) {
+ pw.println("\t\tlog.finest(\"Disposing\");");
+ }
+ pw.println("\t\tif (should_free_memory) {");
+ if (generateLog) {
+ pw.println("\t\t\tlog.finest(\"freeing memory\");");
+ }
+ pw.println("\t\t\tunsafe.freeMemory(pData); \n\t}");
+ pw.println("\t\t}");
+ writeAccessorImpls(stp, pw);
+ writeToString(stp,pw);
+ } else {
+ pw.println("\n\n\tvoid dispose();");
+ pw.println("\n\tlong getPData();");
+ writeStubs(stp,pw);
+ }
+
+
+ pw.println("}\n\n\n");
+ pw.close();
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ private boolean readSizeInfo(InputStream is, boolean wide) {
+ String line;
+ String splits[];
+ BufferedReader in = new BufferedReader(new InputStreamReader(is));
+ try {
+ while ((line = in.readLine()) != null)
+ {
+ splits = line.split("\\p{Space}");
+ if (splits.length == 2)
+ {
+ if (wide) {
+ sizeTable64bit.put(splits[0],splits[1]);
+ } else {
+ sizeTable32bit.put(splits[0],splits[1]);
+ }
+ }
+ }
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ public void writeFunctionCallWrapper(String outputDir, FunctionType ft) {
+ try {
+ FileOutputStream fs = new FileOutputStream(outputDir + "/" + ft.getName()+".java");
+ PrintWriter pw = new PrintWriter(fs);
+ pw.println("// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !\n" );
+
+ pw.println("package "+package_name+";\n");
+ pw.println("import sun.misc.Unsafe;\n");
+ pw.println("class " + ft.getName() + " {");
+ pw.println("\tprivate static Unsafe unsafe = XlibWrapper.unsafe;");
+ pw.println("\tprivate boolean __executed = false;");
+ pw.println("\tprivate boolean __disposed = false;");
+ Iterator iter = ft.getArguments().iterator();
+ while (iter.hasNext()) {
+ AtomicType at = (AtomicType)iter.next();
+ if (at.isIn()) {
+ pw.println("\t" + at.getJavaType() + " _" + at.getName() + ";");
+ } else {
+ pw.println("\tlong " + at.getName() + "_ptr = unsafe.allocateMemory(Native.get" + at.getTypeUpperCase() + "Size());");
+ }
+ }
+ pw.println("\tpublic " + ft.getName() + "(");
+ iter = ft.getArguments().iterator();
+ boolean first = true;
+ while (iter.hasNext()) {
+ AtomicType at = (AtomicType)iter.next();
+ if (at.isIn() || at.isInOut()) {
+ if (!first) {
+ pw.println(",");
+ }
+ first = false;
+ pw.print("\t\t" + at.getJavaType() + " " + at.getName());
+ }
+ }
+ pw.println("\t)");
+ pw.println("\t{");
+ iter = ft.getArguments().iterator();
+ while (iter.hasNext()) {
+ AtomicType at = (AtomicType)iter.next();
+ if (at.isIn() || at.isInOut()) {
+ pw.println("\t\tset_" + at.getName() + "(" + at.getName() + ");");
+ }
+ }
+ pw.println("\t}");
+
+ pw.println("\tpublic " + ft.getReturnType() + " execute() {");
+ if (ft.isVoid()) {
+ pw.println("\t\texecute(null);");
+ } else {
+ pw.println("\t\treturn execute(null);");
+ }
+ pw.println("\t}");
+
+ pw.println("\tpublic " + ft.getReturnType() + " execute(XToolkit.XErrorHandler errorHandler) {");
+ pw.println("\t\tif (__disposed) {");
+ pw.println("\t\t throw new IllegalStateException(\"Disposed\");");
+ pw.println("\t\t}");
+ pw.println("\t\tXToolkit.awtLock();");
+ pw.println("\t\ttry {");
+ pw.println("\t\t\tif (__executed) {");
+ pw.println("\t\t\t throw new IllegalStateException(\"Already executed\");");
+ pw.println("\t\t\t}");
+ pw.println("\t\t\t__executed = true;");
+ pw.println("\t\t\tif (errorHandler != null) {");
+ pw.println("\t\t\t XErrorHandlerUtil.WITH_XERROR_HANDLER(errorHandler);");
+ pw.println("\t\t\t}");
+ iter = ft.getArguments().iterator();
+ while (iter.hasNext()) {
+ AtomicType at = (AtomicType)iter.next();
+ if (!at.isIn() && at.isAutoFree()) {
+ pw.println("\t\t\tNative.put" + at.getTypeUpperCase() + "(" +at.getName() + "_ptr, 0);");
+ }
+ }
+ if (!ft.isVoid()) {
+ pw.println("\t\t\t" + ft.getReturnType() + " status = ");
+ }
+ pw.println("\t\t\tXlibWrapper." + ft.getName() + "(XToolkit.getDisplay(), ");
+ iter = ft.getArguments().iterator();
+ first = true;
+ while (iter.hasNext()) {
+ AtomicType at = (AtomicType)iter.next();
+ if (!first) {
+ pw.println(",");
+ }
+ first = false;
+ if (at.isIn()) {
+ pw.print("\t\t\t\tget_" + at.getName() + "()");
+ } else {
+ pw.print("\t\t\t\t" + at.getName() + "_ptr");
+ }
+ }
+ pw.println("\t\t\t);");
+ pw.println("\t\t\tif (errorHandler != null) {");
+ pw.println("\t\t\t XErrorHandlerUtil.RESTORE_XERROR_HANDLER();");
+ pw.println("\t\t\t}");
+ if (!ft.isVoid()) {
+ pw.println("\t\t\treturn status;");
+ }
+ pw.println("\t\t} finally {");
+ pw.println("\t\t XToolkit.awtUnlock();");
+ pw.println("\t\t}");
+ pw.println("\t}");
+
+ pw.println("\tpublic boolean isExecuted() {");
+ pw.println("\t return __executed;");
+ pw.println("\t}");
+ pw.println("\t");
+ pw.println("\tpublic boolean isDisposed() {");
+ pw.println("\t return __disposed;");
+ pw.println("\t}");
+ pw.println("\tpublic void finalize() {");
+ pw.println("\t dispose();");
+ pw.println("\t}");
+
+ pw.println("\tpublic void dispose() {");
+ pw.println("\t\tXToolkit.awtLock();");
+ pw.println("\t\ttry {");
+ pw.println("\t\tif (__disposed || !__executed) {");
+ pw.println("\t\t return;");
+ pw.println("\t\t} finally {");
+ pw.println("\t\t XToolkit.awtUnlock();");
+ pw.println("\t\t}");
+ pw.println("\t\t}");
+
+ iter = ft.getArguments().iterator();
+ while (iter.hasNext()) {
+ AtomicType at = (AtomicType)iter.next();
+ if (!at.isIn()) {
+ if (at.isAutoFree()) {
+ pw.println("\t\tif (__executed && get_" + at.getName() + "()!= 0) {");
+ pw.println("\t\t\tXlibWrapper.XFree(get_" + at.getName() + "());");
+ pw.println("\t\t}");
+ }
+ pw.println("\t\tunsafe.freeMemory(" + at.getName() + "_ptr);");
+ }
+ }
+ pw.println("\t\t__disposed = true;");
+ pw.println("\t\t}");
+ pw.println("\t}");
+
+ iter = ft.getArguments().iterator();
+ while (iter.hasNext()) {
+ AtomicType at = (AtomicType)iter.next();
+ pw.println("\tpublic " + at.getJavaType() + " get_" + at.getName() + "() {");
+
+ pw.println("\t\tif (__disposed) {");
+ pw.println("\t\t throw new IllegalStateException(\"Disposed\");");
+ pw.println("\t\t}");
+ pw.println("\t\tif (!__executed) {");
+ pw.println("\t\t throw new IllegalStateException(\"Not executed\");");
+ pw.println("\t\t}");
+
+ if (at.isIn()) {
+ pw.println("\t\treturn _" + at.getName() + ";");
+ } else {
+ pw.println("\t\treturn Native.get" + at.getTypeUpperCase() + "(" + at.getName() + "_ptr);");
+ }
+ pw.println("\t}");
+
+ pw.println("\tpublic void set_" + at.getName() + "(" + at.getJavaType() + " data) {");
+ if (at.isIn()) {
+ pw.println("\t\t_" + at.getName() + " = data;");
+ } else {
+ pw.println("\t\tNative.put" + at.getTypeUpperCase() + "(" + at.getName() + "_ptr, data);");
+ }
+ pw.println("\t}");
+ }
+ pw.println("}");
+ pw.close();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void writeJavaWrapperClass(String outputDir) {
+// (new File(outputDir, package_path)).mkdirs();
+ try {
+ for (Enumeration e = symbolTable.elements() ; e.hasMoreElements() ;) {
+ BaseType tp = (BaseType) e.nextElement();
+ if (tp instanceof StructType) {
+ StructType st = (StructType) tp;
+ writeWrapper(outputDir, st);
+ } else if (tp instanceof FunctionType) {
+ writeFunctionCallWrapper(outputDir, (FunctionType)tp);
+ }
+ }
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ public void writeNativeSizer(String file)
+ {
+ int type;
+ int i=0;
+ int j=0;
+ BaseType tp;
+ StructType stp;
+ Enumeration eo;
+
+
+ try {
+
+ FileOutputStream fs = new FileOutputStream(file);
+ PrintWriter pw = new PrintWriter(fs);
+
+ pw.println("/* This file is an automatically generated file, please do not edit this file, modify the XlibParser.java file instead !*/\n" );
+ pw.println("#include <X11/Xlib.h>\n#include <X11/Xutil.h>\n#include <X11/Xos.h>\n#include <X11/Xatom.h>\n#include <stdio.h>\n");
+ pw.println("#include <X11/extensions/Xdbe.h>");
+ pw.println("#include <X11/XKBlib.h>");
+ pw.println("#include \"awt_p.h\"");
+ pw.println("#include \"color.h\"");
+ pw.println("#include \"colordata.h\"");
+ pw.println("\ntypedef struct\n");
+ pw.println("{\n");
+ pw.println(" unsigned long flags;\n");
+ pw.println(" unsigned long functions;\n");
+ pw.println(" unsigned long decorations;\n");
+ pw.println(" long inputMode;\n");
+ pw.println(" unsigned long status;\n");
+ pw.println("} PropMwmHints;\n");
+
+
+ pw.println("\n\nint main(){");
+ j=0;
+ for ( eo = symbolTable.elements() ; eo.hasMoreElements() ;) {
+ tp = (BaseType) eo.nextElement();
+ if (tp instanceof StructType)
+ {
+ stp = (StructType) tp;
+ if (!stp.getIsInterface()) {
+ pw.println(stp.getName()+" temp"+ j + ";\n");
+ j++;
+ }
+ }
+ }
+ j=0;
+
+ pw.println("printf(\"long\t%d\\n\",(int)sizeof(long));");
+ pw.println("printf(\"int\t%d\\n\",(int)sizeof(int));");
+ pw.println("printf(\"short\t%d\\n\",(int)sizeof(short));");
+ pw.println("printf(\"ptr\t%d\\n\",(int)sizeof(void *));");
+ pw.println("printf(\"Bool\t%d\\n\",(int)sizeof(Bool));");
+ pw.println("printf(\"Atom\t%d\\n\",(int)sizeof(Atom));");
+ pw.println("printf(\"Window\t%d\\n\",(int)sizeof(Window));");
+
+
+ for (eo = symbolTable.elements() ; eo.hasMoreElements() ;) {
+
+
+ tp = (BaseType) eo.nextElement();
+ if (tp instanceof StructType)
+ {
+ stp = (StructType) tp;
+ if (stp.getIsInterface()) {
+ continue;
+ }
+ for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
+ AtomicType atp = (AtomicType) e.nextElement();
+ if (atp.isAlias()) continue;
+ pw.println("printf(\""+ stp.getName() + "." + atp.getName() + "\t%d\\n\""+
+ ",(int)((unsigned long ) &temp"+j+"."+atp.getName()+"- (unsigned long ) &temp" + j + ") );");
+
+ i++;
+
+
+ }
+ pw.println("printf(\""+ stp.getName() + "\t%d\\n\"" + ",(int)sizeof(temp"+j+"));");
+
+ j++;
+ }
+
+ }
+ pw.println("return 0;");
+ pw.println("}");
+ pw.close();
+
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ private void initTypes() {
+ symbolTable.put("int", new AtomicType(AtomicType.TYPE_INT, "", "int"));
+ symbolTable.put("short", new AtomicType(AtomicType.TYPE_SHORT, "", "short"));
+ symbolTable.put("long", new AtomicType(AtomicType.TYPE_LONG, "", "long"));
+ symbolTable.put("float", new AtomicType(AtomicType.TYPE_FLOAT, "", "float"));
+ symbolTable.put("double", new AtomicType(AtomicType.TYPE_DOUBLE, "", "double"));
+ symbolTable.put("Bool", new AtomicType(AtomicType.TYPE_BOOL, "", "Bool"));
+ symbolTable.put("char", new AtomicType(AtomicType.TYPE_CHAR, "", "char"));
+ symbolTable.put("byte", new AtomicType(AtomicType.TYPE_BYTE, "", "byte"));
+ symbolTable.put("pointer", new AtomicType(AtomicType.TYPE_PTR, "", "pointer"));
+ symbolTable.put("longlong", new AtomicType(AtomicType.TYPE_LONG_LONG, "", "longlong"));
+ symbolTable.put("Atom", new AtomicType(AtomicType.TYPE_ATOM, "", "Atom"));
+ symbolTable.put("ulong", new AtomicType(AtomicType.TYPE_ULONG, "", "ulong"));
+ }
+ public WrapperGenerator(String outputDir, String xlibFilename) {
+ initTypes();
+ try {
+ BufferedReader in = new BufferedReader(new FileReader(xlibFilename));
+ String line;
+ String splits[];
+ BaseType curType = null;
+ while ((line = in.readLine()) != null)
+ {
+ int commentStart = line.indexOf("//");
+ if (commentStart >= 0) {
+ // remove comment
+ line = line.substring(0, commentStart);
+ }
+
+ if ("".equals(line)) {
+ // skip empty line
+ continue;
+ }
+
+ splits = line.split("\\p{Space}+");
+ if (splits.length >= 2)
+ {
+ String struct_name = curType.getName();
+ String field_name = splits[1];
+ String s_type = splits[2];
+ BaseType bt = curType;
+ int type = AtomicType.getTypeForString(s_type);
+ AtomicType atp = null;
+ if (bt != null && type != -1) {
+ atp = new AtomicType(type,field_name,s_type);
+ if (splits.length > 3) {
+ atp.setAttributes(splits);
+ }
+ if (bt instanceof StructType) {
+ StructType stp = (StructType) bt;
+ stp.addMember(atp);
+ } else if (bt instanceof FunctionType) {
+ ((FunctionType)bt).addArgument(atp);
+ }
+ }
+ else if (bt == null) {
+ System.out.println("Cannot find " + struct_name);
+ }
+
+ }
+ else if (line != null) {
+ BaseType bt = (BaseType) symbolTable.get(line);
+ if (bt == null) {
+ if (line.startsWith("!")) {
+ FunctionType ft = new FunctionType(line);
+ ft.setName(line);
+ symbolTable.put(ft.getName(),ft);
+ curType = ft;
+ } else {
+ StructType stp = new StructType(line);
+ stp.setName(line);
+ curType = stp;
+ symbolTable.put(stp.getName(),stp);
+ }
+ }
+ }
+
+ }
+ in.close();
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+ private void makeSizer(String outputDir) {
+ if (wide) {
+ sizerFileName = "sizer.64.c";
+ } else {
+ sizerFileName = "sizer.32.c";
+ }
+ File fp = new File(outputDir, sizerFileName);
+ writeNativeSizer(fp.getAbsolutePath());
+ }
+ private boolean readSizeInfo(String sizeInfo) {
+ try {
+ File f = new File(sizeInfo+".32");
+ boolean res = true;
+ FileInputStream fis = null;
+ if (f.exists()) {
+ fis = new FileInputStream(f);
+ res = readSizeInfo(fis, false);
+ fis.close();
+ }
+ f = new File(sizeInfo+".64");
+ if (f.exists()) {
+ fis = new FileInputStream(f);
+ res &= readSizeInfo(fis, true);
+ fis.close();
+ }
+ return res;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ private void startGeneration(String outputDir, String sizeInfo) {
+ if (readSizeInfo(sizeInfo))
+ {
+ writeJavaWrapperClass(outputDir);
+ }
+ else {
+ System.out.println("Error calculating offsets");
+ }
+ }
+
+ public static void main(String[] args) {
+
+ if (args.length < 4) {
+ System.out.println("Usage:\nWrapperGenerator <output_dir> <xlibtypes.txt> <action> [<platform> | <sizes info file>]");
+ System.out.println("Where <action>: gen, sizer");
+ System.out.println(" <platform>: 32, 64");
+ System.exit(1);
+ }
+
+ WrapperGenerator xparser = new WrapperGenerator(args[0], args[1]);
+ if (args[2].equals("sizer")) {
+ xparser.wide = args[3].equals("64");
+ xparser.makeSizer(args[0]);
+ } else if (args[2].equals("gen")) {
+ xparser.startGeneration(args[0], args[3]);
+ }
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/src/native/genconstants/ch/genSocketOptionRegistry.c Mon Feb 17 11:37:46 2014 -0500
@@ -0,0 +1,130 @@
+/*
+ * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+#include <stdio.h>
+#ifdef _WIN32
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#else
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netinet/tcp.h>
+#endif
+
+/**
+ * Generates sun.nio.ch.SocketOptionRegistry, a class that maps Java-level
+ * socket options to the platform specific level and option.
+ */
+
+static void out(char* s) {
+ printf("%s\n", s);
+}
+
+static void emit(const char *name, char * family, int level, int optname) {
+ printf(" map.put(new RegistryKey(%s, %s),", name, family);
+ printf(" new OptionKey(%d, %d));\n", level, optname);
+}
+
+static void emit_unspec(const char *name, int level, int optname) {
+ emit(name, "Net.UNSPEC", level, optname);
+}
+
+static void emit_inet(const char *name, int level, int optname) {
+ emit(name, "StandardProtocolFamily.INET", level, optname);
+}
+
+static void emit_inet6(const char *name, int level, int optname) {
+ emit(name, "StandardProtocolFamily.INET6", level, optname);
+}
+
+int main(int argc, const char* argv[]) {
+ out("// AUTOMATICALLY GENERATED FILE - DO NOT EDIT ");
+ out("package sun.nio.ch; ");
+ out("import java.net.SocketOption; ");
+ out("import java.net.StandardSocketOptions; ");
+ out("import java.net.ProtocolFamily; ");
+ out("import java.net.StandardProtocolFamily; ");
+ out("import java.util.Map; ");
+ out("import java.util.HashMap; ");
+ out("class SocketOptionRegistry { ");
+ out(" private SocketOptionRegistry() { } ");
+ out(" private static class RegistryKey { ");
+ out(" private final SocketOption<?> name; ");
+ out(" private final ProtocolFamily family; ");
+ out(" RegistryKey(SocketOption<?> name, ProtocolFamily family) { ");
+ out(" this.name = name; ");
+ out(" this.family = family; ");
+ out(" } ");
+ out(" public int hashCode() { ");
+ out(" return name.hashCode() + family.hashCode(); ");
+ out(" } ");
+ out(" public boolean equals(Object ob) { ");
+ out(" if (ob == null) return false; ");
+ out(" if (!(ob instanceof RegistryKey)) return false; ");
+ out(" RegistryKey other = (RegistryKey)ob; ");
+ out(" if (this.name != other.name) return false; ");
+ out(" if (this.family != other.family) return false; ");
+ out(" return true; ");
+ out(" } ");
+ out(" } ");
+ out(" private static class LazyInitialization { ");
+ out(" static final Map<RegistryKey,OptionKey> options = options(); ");
+ out(" private static Map<RegistryKey,OptionKey> options() { ");
+ out(" Map<RegistryKey,OptionKey> map = ");
+ out(" new HashMap<RegistryKey,OptionKey>(); ");
+
+ emit_unspec("StandardSocketOptions.SO_BROADCAST", SOL_SOCKET, SO_BROADCAST);
+ emit_unspec("StandardSocketOptions.SO_KEEPALIVE", SOL_SOCKET, SO_KEEPALIVE);
+ emit_unspec("StandardSocketOptions.SO_LINGER", SOL_SOCKET, SO_LINGER);
+ emit_unspec("StandardSocketOptions.SO_SNDBUF", SOL_SOCKET, SO_SNDBUF);
+ emit_unspec("StandardSocketOptions.SO_RCVBUF", SOL_SOCKET, SO_RCVBUF);
+ emit_unspec("StandardSocketOptions.SO_REUSEADDR", SOL_SOCKET, SO_REUSEADDR);
+ emit_unspec("StandardSocketOptions.TCP_NODELAY", IPPROTO_TCP, TCP_NODELAY);
+
+ emit_inet("StandardSocketOptions.IP_TOS", IPPROTO_IP, IP_TOS);
+ emit_inet("StandardSocketOptions.IP_MULTICAST_IF", IPPROTO_IP, IP_MULTICAST_IF);
+ emit_inet("StandardSocketOptions.IP_MULTICAST_TTL", IPPROTO_IP, IP_MULTICAST_TTL);
+ emit_inet("StandardSocketOptions.IP_MULTICAST_LOOP", IPPROTO_IP, IP_MULTICAST_LOOP);
+
+#ifdef AF_INET6
+ emit_inet6("StandardSocketOptions.IP_MULTICAST_IF", IPPROTO_IPV6, IPV6_MULTICAST_IF);
+ emit_inet6("StandardSocketOptions.IP_MULTICAST_TTL", IPPROTO_IPV6, IPV6_MULTICAST_HOPS);
+ emit_inet6("StandardSocketOptions.IP_MULTICAST_LOOP", IPPROTO_IPV6, IPV6_MULTICAST_LOOP);
+#endif
+
+ emit_unspec("ExtendedSocketOption.SO_OOBINLINE", SOL_SOCKET, SO_OOBINLINE);
+
+ out(" return map; ");
+ out(" } ");
+ out(" } ");
+ out(" public static OptionKey findOption(SocketOption<?> name, ProtocolFamily family) { ");
+ out(" RegistryKey key = new RegistryKey(name, family); ");
+ out(" return LazyInitialization.options.get(key); ");
+ out(" } ");
+ out("} ");
+
+ return 0;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/src/native/genconstants/fs/genSolarisConstants.c Mon Feb 17 11:37:46 2014 -0500
@@ -0,0 +1,105 @@
+/*
+ * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+#include <stdio.h>
+#include <errno.h>
+#include <unistd.h>
+#include <sys/acl.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+/**
+ * Generates sun.nio.fs.SolarisConstants
+ */
+
+static void out(char* s) {
+ printf("%s\n", s);
+}
+
+static void emit(char* name, int value) {
+ printf(" static final int %s = %d;\n", name, value);
+}
+
+static void emitX(char* name, int value) {
+ printf(" static final int %s = 0x%x;\n", name, value);
+}
+
+#define DEF(X) emit(#X, X);
+#define DEFX(X) emitX(#X, X);
+
+int main(int argc, const char* argv[]) {
+ out("// AUTOMATICALLY GENERATED FILE - DO NOT EDIT ");
+ out("package sun.nio.fs; ");
+ out("class SolarisConstants { ");
+ out(" private SolarisConstants() { } ");
+
+ // extended attributes
+ DEFX(O_XATTR);
+ DEF(_PC_XATTR_ENABLED);
+
+ // ACL configuration
+ DEF(_PC_ACL_ENABLED);
+ DEFX(_ACL_ACE_ENABLED);
+
+ // ACL commands
+ DEFX(ACE_GETACL);
+ DEFX(ACE_SETACL);
+
+ // ACL mask/flags/types
+ emitX("ACE_ACCESS_ALLOWED_ACE_TYPE", 0x0000);
+ emitX("ACE_ACCESS_DENIED_ACE_TYPE", 0x0001);
+ emitX("ACE_SYSTEM_AUDIT_ACE_TYPE", 0x0002);
+ emitX("ACE_SYSTEM_ALARM_ACE_TYPE", 0x0003);
+ emitX("ACE_READ_DATA", 0x00000001);
+ emitX("ACE_LIST_DIRECTORY", 0x00000001);
+ emitX("ACE_WRITE_DATA", 0x00000002);
+ emitX("ACE_ADD_FILE", 0x00000002);
+ emitX("ACE_APPEND_DATA", 0x00000004);
+ emitX("ACE_ADD_SUBDIRECTORY", 0x00000004);
+ emitX("ACE_READ_NAMED_ATTRS", 0x00000008);
+ emitX("ACE_WRITE_NAMED_ATTRS", 0x00000010);
+ emitX("ACE_EXECUTE", 0x00000020);
+ emitX("ACE_DELETE_CHILD", 0x00000040);
+ emitX("ACE_READ_ATTRIBUTES", 0x00000080);
+ emitX("ACE_WRITE_ATTRIBUTES", 0x00000100);
+ emitX("ACE_DELETE", 0x00010000);
+ emitX("ACE_READ_ACL", 0x00020000);
+ emitX("ACE_WRITE_ACL", 0x00040000);
+ emitX("ACE_WRITE_OWNER", 0x00080000);
+ emitX("ACE_SYNCHRONIZE", 0x00100000);
+ emitX("ACE_FILE_INHERIT_ACE", 0x0001);
+ emitX("ACE_DIRECTORY_INHERIT_ACE", 0x0002);
+ emitX("ACE_NO_PROPAGATE_INHERIT_ACE", 0x0004);
+ emitX("ACE_INHERIT_ONLY_ACE", 0x0008);
+ emitX("ACE_SUCCESSFUL_ACCESS_ACE_FLAG", 0x0010);
+ emitX("ACE_FAILED_ACCESS_ACE_FLAG", 0x0020);
+ emitX("ACE_IDENTIFIER_GROUP", 0x0040);
+ emitX("ACE_OWNER", 0x1000);
+ emitX("ACE_GROUP", 0x2000);
+ emitX("ACE_EVERYONE", 0x4000);
+
+ out("} ");
+ return 0;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/src/native/genconstants/fs/genUnixConstants.c Mon Feb 17 11:37:46 2014 -0500
@@ -0,0 +1,141 @@
+/*
+ * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+#include <stdio.h>
+#include <errno.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+/**
+ * Generates sun.nio.fs.UnixConstants
+ */
+
+static void out(char* s) {
+ printf("%s\n", s);
+}
+
+static void emit(char* name, int value) {
+ printf(" static final int %s = %d;\n", name, value);
+}
+
+static void emitX(char* name, int value) {
+ printf(" static final int %s = 0x%x;\n", name, value);
+}
+
+#define DEF(X) emit(#X, X);
+#define DEFX(X) emitX(#X, X);
+
+int main(int argc, const char* argv[]) {
+ out("// AUTOMATICALLY GENERATED FILE - DO NOT EDIT ");
+ out("package sun.nio.fs; ");
+ out("class UnixConstants { ");
+ out(" private UnixConstants() { } ");
+
+ // open flags
+ DEF(O_RDONLY);
+ DEF(O_WRONLY);
+ DEF(O_RDWR);
+ DEFX(O_APPEND);
+ DEFX(O_CREAT);
+ DEFX(O_EXCL);
+ DEFX(O_TRUNC);
+ DEFX(O_SYNC);
+#ifndef O_DSYNC
+ // At least FreeBSD doesn't define O_DSYNC
+ emit("O_DSYNC", O_SYNC);
+#else
+ DEFX(O_DSYNC);
+#endif
+#ifdef O_NOFOLLOW
+ DEFX(O_NOFOLLOW);
+#else
+ // not supported (dummy values will not be used at runtime).
+ emitX("O_NOFOLLOW", 0x0);
+#endif
+
+ // mode masks
+ emitX("S_IAMB",
+ (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH|S_IWOTH|S_IXOTH));
+ DEF(S_IRUSR);
+ DEF(S_IWUSR);
+ DEF(S_IXUSR);
+ DEF(S_IRGRP);
+ DEF(S_IWGRP);
+ DEF(S_IXGRP);
+ DEF(S_IROTH);
+ DEF(S_IWOTH);
+ DEF(S_IXOTH);
+ DEFX(S_IFMT);
+ DEFX(S_IFREG);
+ DEFX(S_IFDIR);
+ DEFX(S_IFLNK);
+ DEFX(S_IFCHR);
+ DEFX(S_IFBLK);
+ DEFX(S_IFIFO);
+
+ // access modes
+ DEF(R_OK);
+ DEF(W_OK);
+ DEF(X_OK);
+ DEF(F_OK);
+
+ // errors
+ DEF(ENOENT);
+ DEF(EACCES);
+ DEF(EEXIST);
+ DEF(ENOTDIR);
+ DEF(EINVAL);
+ DEF(EXDEV);
+ DEF(EISDIR);
+ DEF(ENOTEMPTY);
+ DEF(ENOSPC);
+ DEF(EAGAIN);
+ DEF(ENOSYS);
+ DEF(ELOOP);
+ DEF(EROFS);
+#ifndef ENODATA
+ // Only used in Linux java source, provide any value so it compiles
+ emit("ENODATA", ELAST);
+#else
+ DEF(ENODATA);
+#endif
+ DEF(ERANGE);
+ DEF(EMFILE);
+
+ // flags used with openat/unlinkat/etc.
+#if defined(AT_SYMLINK_NOFOLLOW) && defined(AT_REMOVEDIR)
+ DEFX(AT_SYMLINK_NOFOLLOW)
+ DEFX(AT_REMOVEDIR);
+#else
+ // not supported (dummy values will not be used at runtime).
+ emitX("AT_SYMLINK_NOFOLLOW", 0x0);
+ emitX("AT_REMOVEDIR", 0x0);
+#endif
+
+ out("} ");
+
+ return 0;
+}
--- a/jdk/src/aix/classes/sun/nio/ch/AixPollPort.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/aix/classes/sun/nio/ch/AixPollPort.java Mon Feb 17 11:37:46 2014 -0500
@@ -107,6 +107,7 @@
private final ArrayBlockingQueue<Event> queue;
private final Event NEED_TO_POLL = new Event(null, 0);
private final Event EXECUTE_TASK_OR_SHUTDOWN = new Event(null, 0);
+ private final Event CONTINUE_AFTER_CTL_EVENT = new Event(null, 0);
// encapsulates a pollset control event for a file descriptor
static class ControlEvent {
@@ -342,7 +343,11 @@
// To emulate one shot semantic we need to remove
// the file descriptor here.
- pollsetCtl(pollset, PS_DELETE, fd, 0);
+ if (fd != sp[0] && fd != ctlSp[0]) {
+ synchronized (controlQueue) {
+ pollsetCtl(pollset, PS_DELETE, fd, 0);
+ }
+ }
// wakeup
if (fd == sp[0]) {
@@ -351,10 +356,6 @@
drain1(sp[0]);
}
- // This is the only file descriptor without
- // one shot semantic => register it again.
- pollsetCtl(pollset, PS_ADD, sp[0], Net.POLLIN);
-
// queue special event if there are more events
// to handle.
if (n > 0) {
@@ -368,12 +369,12 @@
if (fd == ctlSp[0]) {
synchronized (controlQueue) {
drain1(ctlSp[0]);
- // This file descriptor does not have
- // one shot semantic => register it again.
- pollsetCtl(pollset, PS_ADD, ctlSp[0], Net.POLLIN);
processControlQueue();
}
- continue;
+ if (n > 0) {
+ continue;
+ }
+ return CONTINUE_AFTER_CTL_EVENT;
}
PollableChannel channel = fdToChannel.get(fd);
@@ -431,6 +432,11 @@
continue;
}
+ // contine after we processed a control event
+ if (ev == CONTINUE_AFTER_CTL_EVENT) {
+ continue;
+ }
+
// handle wakeup to execute task or shutdown
if (ev == EXECUTE_TASK_OR_SHUTDOWN) {
Runnable task = pollTask();
--- a/jdk/src/share/bin/java.c Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/bin/java.c Mon Feb 17 11:37:46 2014 -0500
@@ -345,10 +345,10 @@
} \
} while (JNI_FALSE)
-#define CHECK_EXCEPTION_RETURN(CER_return_value) \
+#define CHECK_EXCEPTION_RETURN() \
do { \
if ((*env)->ExceptionOccurred(env)) { \
- return CER_return_value; \
+ return; \
} \
} while (JNI_FALSE)
@@ -1258,7 +1258,6 @@
GetApplicationClass(JNIEnv *env)
{
jmethodID mid;
- jobject result;
jclass cls = GetLauncherHelperClass(env);
NULL_CHECK0(cls);
NULL_CHECK0(mid = (*env)->GetStaticMethodID(env, cls,
--- a/jdk/src/share/bin/parse_manifest.c Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/bin/parse_manifest.c Mon Feb 17 11:37:46 2014 -0500
@@ -233,7 +233,7 @@
jlong base_offset;
jlong offset;
char buffer[MINREAD];
- p = buffer;
+ p = (Byte*) buffer;
/*
* Read the END Header, which is the starting point for ZIP files.
* (Clearly designed to make writing a zip file easier than reading
@@ -276,7 +276,7 @@
if (JLI_Lseek(fd, offset, SEEK_SET) < (jlong)0) {
return (-1);
}
- p = buffer;
+ p = (Byte*) buffer;
base_offset = base_offset - ZIP64_ENDSIZ(p) - ZIP64_ENDOFF(p) - ZIP64_ENDHDR;
} else {
base_offset = base_offset - ENDSIZ(p) - ENDOFF(p);
--- a/jdk/src/share/classes/com/sun/security/auth/callback/TextCallbackHandler.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/com/sun/security/auth/callback/TextCallbackHandler.java Mon Feb 17 11:37:46 2014 -0500
@@ -28,21 +28,14 @@
/* JAAS imports */
import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.ConfirmationCallback;
-import javax.security.auth.callback.NameCallback;
-import javax.security.auth.callback.PasswordCallback;
-import javax.security.auth.callback.TextOutputCallback;
+import javax.security.auth.callback.NameCallback; // javadoc
+import javax.security.auth.callback.PasswordCallback; // javadoc
import javax.security.auth.callback.UnsupportedCallbackException;
/* Java imports */
-import java.io.BufferedReader;
import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.PushbackInputStream;
-import java.util.Arrays;
-import sun.security.util.Password;
+import sun.security.util.ConsoleCallbackHandler;
/**
* <p>
@@ -55,6 +48,7 @@
@jdk.Exported
public class TextCallbackHandler implements CallbackHandler {
+ private final CallbackHandler consoleHandler;
/**
* <p>Creates a callback handler that prompts and reads from the
@@ -63,7 +57,9 @@
* CallbackHandler.
*/
- public TextCallbackHandler() { }
+ public TextCallbackHandler() {
+ this.consoleHandler = new ConsoleCallbackHandler();
+ }
/**
* Handles the specified set of callbacks.
@@ -76,187 +72,7 @@
public void handle(Callback[] callbacks)
throws IOException, UnsupportedCallbackException
{
- ConfirmationCallback confirmation = null;
-
- for (int i = 0; i < callbacks.length; i++) {
- if (callbacks[i] instanceof TextOutputCallback) {
- TextOutputCallback tc = (TextOutputCallback) callbacks[i];
-
- String text;
- switch (tc.getMessageType()) {
- case TextOutputCallback.INFORMATION:
- text = "";
- break;
- case TextOutputCallback.WARNING:
- text = "Warning: ";
- break;
- case TextOutputCallback.ERROR:
- text = "Error: ";
- break;
- default:
- throw new UnsupportedCallbackException(
- callbacks[i], "Unrecognized message type");
- }
-
- String message = tc.getMessage();
- if (message != null) {
- text += message;
- }
- if (text != null) {
- System.err.println(text);
- }
-
- } else if (callbacks[i] instanceof NameCallback) {
- NameCallback nc = (NameCallback) callbacks[i];
-
- if (nc.getDefaultName() == null) {
- System.err.print(nc.getPrompt());
- } else {
- System.err.print(nc.getPrompt() +
- " [" + nc.getDefaultName() + "] ");
- }
- System.err.flush();
-
- String result = readLine();
- if (result.equals("")) {
- result = nc.getDefaultName();
- }
-
- nc.setName(result);
-
- } else if (callbacks[i] instanceof PasswordCallback) {
- PasswordCallback pc = (PasswordCallback) callbacks[i];
-
- System.err.print(pc.getPrompt());
- System.err.flush();
-
- pc.setPassword(Password.readPassword(System.in, pc.isEchoOn()));
-
- } else if (callbacks[i] instanceof ConfirmationCallback) {
- confirmation = (ConfirmationCallback) callbacks[i];
-
- } else {
- throw new UnsupportedCallbackException(
- callbacks[i], "Unrecognized Callback");
- }
- }
-
- /* Do the confirmation callback last. */
- if (confirmation != null) {
- doConfirmation(confirmation);
- }
- }
-
- /* Reads a line of input */
- private String readLine() throws IOException {
- String result = new BufferedReader
- (new InputStreamReader(System.in)).readLine();
- if (result == null) {
- throw new IOException("Cannot read from System.in");
- }
- return result;
- }
-
- private void doConfirmation(ConfirmationCallback confirmation)
- throws IOException, UnsupportedCallbackException
- {
- String prefix;
- int messageType = confirmation.getMessageType();
- switch (messageType) {
- case ConfirmationCallback.WARNING:
- prefix = "Warning: ";
- break;
- case ConfirmationCallback.ERROR:
- prefix = "Error: ";
- break;
- case ConfirmationCallback.INFORMATION:
- prefix = "";
- break;
- default:
- throw new UnsupportedCallbackException(
- confirmation, "Unrecognized message type: " + messageType);
- }
-
- class OptionInfo {
- String name;
- int value;
- OptionInfo(String name, int value) {
- this.name = name;
- this.value = value;
- }
- }
-
- OptionInfo[] options;
- int optionType = confirmation.getOptionType();
- switch (optionType) {
- case ConfirmationCallback.YES_NO_OPTION:
- options = new OptionInfo[] {
- new OptionInfo("Yes", ConfirmationCallback.YES),
- new OptionInfo("No", ConfirmationCallback.NO)
- };
- break;
- case ConfirmationCallback.YES_NO_CANCEL_OPTION:
- options = new OptionInfo[] {
- new OptionInfo("Yes", ConfirmationCallback.YES),
- new OptionInfo("No", ConfirmationCallback.NO),
- new OptionInfo("Cancel", ConfirmationCallback.CANCEL)
- };
- break;
- case ConfirmationCallback.OK_CANCEL_OPTION:
- options = new OptionInfo[] {
- new OptionInfo("OK", ConfirmationCallback.OK),
- new OptionInfo("Cancel", ConfirmationCallback.CANCEL)
- };
- break;
- case ConfirmationCallback.UNSPECIFIED_OPTION:
- String[] optionStrings = confirmation.getOptions();
- options = new OptionInfo[optionStrings.length];
- for (int i = 0; i < options.length; i++) {
- options[i] = new OptionInfo(optionStrings[i], i);
- }
- break;
- default:
- throw new UnsupportedCallbackException(
- confirmation, "Unrecognized option type: " + optionType);
- }
-
- int defaultOption = confirmation.getDefaultOption();
-
- String prompt = confirmation.getPrompt();
- if (prompt == null) {
- prompt = "";
- }
- prompt = prefix + prompt;
- if (!prompt.equals("")) {
- System.err.println(prompt);
- }
-
- for (int i = 0; i < options.length; i++) {
- if (optionType == ConfirmationCallback.UNSPECIFIED_OPTION) {
- // defaultOption is an index into the options array
- System.err.println(
- i + ". " + options[i].name +
- (i == defaultOption ? " [default]" : ""));
- } else {
- // defaultOption is an option value
- System.err.println(
- i + ". " + options[i].name +
- (options[i].value == defaultOption ? " [default]" : ""));
- }
- }
- System.err.print("Enter a number: ");
- System.err.flush();
- int result;
- try {
- result = Integer.parseInt(readLine());
- if (result < 0 || result > (options.length - 1)) {
- result = defaultOption;
- }
- result = options[result].value;
- } catch (NumberFormatException e) {
- result = defaultOption;
- }
-
- confirmation.setSelectedIndex(result);
+ // delegate to console handler
+ consoleHandler.handle(callbacks);
}
}
--- a/jdk/src/share/classes/java/lang/invoke/MethodHandle.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/java/lang/invoke/MethodHandle.java Mon Feb 17 11:37:46 2014 -0500
@@ -31,8 +31,6 @@
import sun.misc.Unsafe;
import static java.lang.invoke.MethodHandleStatics.*;
-import java.util.logging.Level;
-import java.util.logging.Logger;
/**
* A method handle is a typed, directly executable reference to an underlying method,
--- a/jdk/src/share/classes/java/lang/invoke/SimpleMethodHandle.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/java/lang/invoke/SimpleMethodHandle.java Mon Feb 17 11:37:46 2014 -0500
@@ -27,8 +27,6 @@
import static java.lang.invoke.LambdaForm.*;
import static java.lang.invoke.MethodHandleNatives.Constants.*;
-import java.util.logging.Level;
-import java.util.logging.Logger;
/**
* A method handle whose behavior is determined only by its LambdaForm.
--- a/jdk/src/share/classes/java/sql/Clob.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/java/sql/Clob.java Mon Feb 17 11:37:46 2014 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -309,8 +309,8 @@
void truncate(long len) throws SQLException;
/**
- * This method frees the <code>Clob</code> object and releases the resources the resources
- * that it holds. The object is invalid once the <code>free</code> method
+ * This method releases the resources that the <code>Clob</code> object
+ * holds. The object is invalid once the <code>free</code> method
* is called.
* <p>
* After <code>free</code> has been called, any attempt to invoke a
--- a/jdk/src/share/classes/javax/imageio/spi/ServiceRegistry.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/javax/imageio/spi/ServiceRegistry.java Mon Feb 17 11:37:46 2014 -0500
@@ -123,15 +123,6 @@
}
}
- // The following two methods expose functionality from
- // sun.misc.Service. If that class is made public, they may be
- // removed.
- //
- // The sun.misc.ServiceConfigurationError class may also be
- // exposed, in which case the references to 'an
- // <code>Error</code>' below should be changed to 'a
- // <code>ServiceConfigurationError</code>'.
-
/**
* Searches for implementations of a particular service class
* using the given class loader.
--- a/jdk/src/share/classes/javax/naming/AuthenticationException.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/javax/naming/AuthenticationException.java Mon Feb 17 11:37:46 2014 -0500
@@ -29,7 +29,7 @@
* This exception is thrown when an authentication error occurs while
* accessing the naming or directory service.
* An authentication error can happen, for example, when the credentials
- * supplied by the user program is invalid or otherwise fails to
+ * supplied by the user program are invalid or otherwise fail to
* authenticate the user to the naming/directory service.
*<p>
* If the program wants to handle this exception in particular, it
@@ -37,7 +37,7 @@
* catch NamingException. After catching AuthenticationException, the
* program could reattempt the authentication by updating
* the resolved context's environment properties with the appropriate
- * appropriate credentials.
+ * credentials.
* <p>
* Synchronization and serialization issues that apply to NamingException
* apply directly here.
--- a/jdk/src/share/classes/javax/naming/AuthenticationNotSupportedException.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/javax/naming/AuthenticationNotSupportedException.java Mon Feb 17 11:37:46 2014 -0500
@@ -67,7 +67,7 @@
/**
* Constructs a new instance of AuthenticationNotSupportedException
- * all name resolution fields and explanation initialized to null.
+ * with all name resolution fields and explanation initialized to null.
*/
public AuthenticationNotSupportedException() {
super();
--- a/jdk/src/share/classes/javax/naming/CannotProceedException.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/javax/naming/CannotProceedException.java Mon Feb 17 11:37:46 2014 -0500
@@ -64,7 +64,7 @@
/**
* Contains the remaining unresolved part of the second
* "name" argument to Context.rename().
- * This information necessary for
+ * This information is necessary for
* continuing the Context.rename() operation.
* <p>
* This field is initialized to null.
--- a/jdk/src/share/classes/javax/naming/CompositeName.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/javax/naming/CompositeName.java Mon Feb 17 11:37:46 2014 -0500
@@ -205,7 +205,7 @@
private transient NameImpl impl;
/**
* Constructs a new composite name instance using the components
- * specified by 'comps'. This protected method is intended to be
+ * specified by 'comps'. This protected method is intended
* to be used by subclasses of CompositeName when they override
* methods such as clone(), getPrefix(), getSuffix().
*
@@ -436,7 +436,7 @@
/**
* Determines whether a composite name is a suffix of this composite name.
- * A composite name 'n' is a suffix if it it is equal to
+ * A composite name 'n' is a suffix if it is equal to
* getSuffix(size()-n.size())--in other words, this
* composite name ends with 'n'.
* If n is null or not a composite name, false is returned.
--- a/jdk/src/share/classes/javax/naming/CompoundName.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/javax/naming/CompoundName.java Mon Feb 17 11:37:46 2014 -0500
@@ -165,7 +165,7 @@
/**
* Constructs a new compound name instance using the components
- * specified in comps and syntax. This protected method is intended to be
+ * specified in comps and syntax. This protected method is intended
* to be used by subclasses of CompoundName when they override
* methods such as clone(), getPrefix(), getSuffix().
*
@@ -365,7 +365,7 @@
* components in this compound name.
* The result and this compound name share the same syntax.
* Subsequent changes to
- * this compound name does not affect the name that is returned and
+ * this compound name do not affect the name that is returned and
* vice versa.
*
* @param posn The 0-based index of the component at which to stop.
@@ -385,7 +385,7 @@
* components in this compound name.
* The result and this compound name share the same syntax.
* Subsequent changes to
- * this compound name does not affect the name that is returned.
+ * this compound name do not affect the name that is returned.
*
* @param posn The 0-based index of the component at which to start.
* Must be in the range [0,size()].
@@ -423,7 +423,7 @@
/**
* Determines whether a compound name is a suffix of this compound name.
- * A compound name 'n' is a suffix if it it is equal to
+ * A compound name 'n' is a suffix if it is equal to
* getSuffix(size()-n.size())--in other words, this
* compound name ends with 'n'.
* If n is null or not a compound name, false is returned.
--- a/jdk/src/share/classes/javax/naming/LinkException.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/javax/naming/LinkException.java Mon Feb 17 11:37:46 2014 -0500
@@ -26,11 +26,11 @@
package javax.naming;
/**
- * This exception is used to describe problems encounter while resolving links.
- * Addition information is added to the base NamingException for pinpointing
+ * This exception is used to describe problems encountered while resolving links.
+ * Additional information is added to the base NamingException for pinpointing
* the problem with the link.
*<p>
- * Analogous to how NamingException captures name resolution information,
+ * Analogously to how NamingException captures name resolution information,
* LinkException captures "link"-name resolution information pinpointing
* the problem encountered while resolving a link. All these fields may
* be null.
@@ -111,7 +111,7 @@
protected String linkExplanation;
/**
- * Constructs a new instance of LinkException with an explanation
+ * Constructs a new instance of LinkException with an explanation.
* All the other fields are initialized to null.
* @param explanation A possibly null string containing additional
* detail about this exception.
@@ -176,7 +176,7 @@
}
/**
- * Retrieves the explanation associated with the problem encounter
+ * Retrieves the explanation associated with the problem encountered
* when resolving a link.
*
* @return The possibly null detail string explaining more about the problem
@@ -190,7 +190,7 @@
}
/**
- * Sets the explanation associated with the problem encounter
+ * Sets the explanation associated with the problem encountered
* when resolving a link.
*
* @param msg The possibly null detail string explaining more about the problem
@@ -211,7 +211,7 @@
* invoke this method using the resulting composite name.
*<p>
* A copy of <code>name</code> is made and stored.
- * Subsequent changes to <code>name</code> does not
+ * Subsequent changes to <code>name</code> do not
* affect the copy in this NamingException and vice versa.
*
*
@@ -237,7 +237,7 @@
* invoke this method using the resulting composite name.
*<p>
* A copy of <code>name</code> is made and stored.
- * Subsequent changes to <code>name</code> does not
+ * Subsequent changes to <code>name</code> do not
* affect the copy in this NamingException and vice versa.
*
* @param name The name to set remaining link name to. This can be null.
--- a/jdk/src/share/classes/javax/naming/LinkLoopException.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/javax/naming/LinkLoopException.java Mon Feb 17 11:37:46 2014 -0500
@@ -27,7 +27,7 @@
/**
* This exception is thrown when
- * a loop was detected will attempting to resolve a link, or an implementation
+ * a loop was detected while attempting to resolve a link, or an implementation
* specific limit on link counts has been reached.
* <p>
* Synchronization and serialization issues that apply to LinkException
@@ -42,7 +42,7 @@
public class LinkLoopException extends LinkException {
/**
- * Constructs a new instance of LinkLoopException with an explanation
+ * Constructs a new instance of LinkLoopException with an explanation.
* All the other fields are initialized to null.
* @param explanation A possibly null string containing additional
* detail about this exception.
--- a/jdk/src/share/classes/javax/naming/MalformedLinkException.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/javax/naming/MalformedLinkException.java Mon Feb 17 11:37:46 2014 -0500
@@ -42,7 +42,7 @@
public class MalformedLinkException extends LinkException {
/**
- * Constructs a new instance of MalformedLinkException with an explanation
+ * Constructs a new instance of MalformedLinkException with an explanation.
* All the other fields are initialized to null.
* @param explanation A possibly null string containing additional
* detail about this exception.
--- a/jdk/src/share/classes/javax/naming/NamingException.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/javax/naming/NamingException.java Mon Feb 17 11:37:46 2014 -0500
@@ -201,7 +201,7 @@
* invoke this method using the resulting composite name.
*<p>
* A copy of <code>name</code> is made and stored.
- * Subsequent changes to <code>name</code> does not
+ * Subsequent changes to <code>name</code> do not
* affect the copy in this NamingException and vice versa.
*
* @param name The possibly null name to set resolved name to.
@@ -225,7 +225,7 @@
* invoke this method using the resulting composite name.
*<p>
* A copy of <code>name</code> is made and stored.
- * Subsequent changes to <code>name</code> does not
+ * Subsequent changes to <code>name</code> do not
* affect the copy in this NamingException and vice versa.
* @param name The possibly null name to set remaining name to.
* If null, it sets the remaining name field to null.
@@ -279,7 +279,7 @@
* a compound name, you should "stringify" the compound name
* then invoke the overloaded form that accepts a String parameter.
*<p>
- * Subsequent changes to <code>name</code> does not
+ * Subsequent changes to <code>name</code> do not
* affect the remaining name field in this NamingException and vice versa.
* @param name The possibly null name containing ordered components to add.
* If name is null, this method does not do anything.
--- a/jdk/src/share/classes/javax/naming/RefAddr.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/javax/naming/RefAddr.java Mon Feb 17 11:37:46 2014 -0500
@@ -90,7 +90,7 @@
/**
* Determines whether obj is equal to this RefAddr.
*<p>
- * obj is equal to this RefAddr all of these conditions are true
+ * obj is equal to this RefAddr if all of these conditions are true
*<ul>
*<li> non-null
*<li> instance of RefAddr
--- a/jdk/src/share/classes/javax/naming/Reference.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/javax/naming/Reference.java Mon Feb 17 11:37:46 2014 -0500
@@ -218,8 +218,8 @@
* String.compareTo() is used to test the equality of the address types.
*
* @param addrType The non-null address type for which to find the address.
- * @return The address in this reference with address type 'addrType;
- * null if no such address exist.
+ * @return The address in this reference with address type 'addrType';
+ * null if no such address exists.
*/
public RefAddr get(String addrType) {
int len = addrs.size();
--- a/jdk/src/share/classes/javax/naming/Referenceable.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/javax/naming/Referenceable.java Mon Feb 17 11:37:46 2014 -0500
@@ -33,7 +33,7 @@
* objects which themselves are not directly bound to the naming system.
* Such objects can implement the Referenceable interface as a way
* for programs that use that object to determine what its Reference is.
- * For example, when binding a object, if an object implements the
+ * For example, when binding an object, if an object implements the
* Referenceable interface, getReference() can be invoked on the object to
* get its Reference to use for binding.
*
--- a/jdk/src/share/classes/javax/sound/midi/MidiSystem.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/javax/sound/midi/MidiSystem.java Mon Feb 17 11:37:46 2014 -0500
@@ -1475,7 +1475,7 @@
/**
* Obtains the set of services currently installed on the system
- * using sun.misc.Service, the SPI mechanism in 1.3.
+ * using the SPI mechanism in 1.3.
* @return a List of instances of providers for the requested service.
* If no providers are available, a List of length 0 will be returned.
*/
--- a/jdk/src/share/classes/javax/sound/sampled/AudioSystem.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/javax/sound/sampled/AudioSystem.java Mon Feb 17 11:37:46 2014 -0500
@@ -1622,7 +1622,7 @@
/**
* Obtains the set of services currently installed on the system
- * using sun.misc.Service, the SPI mechanism in 1.3.
+ * using the SPI mechanism in 1.3.
* @return a List of instances of providers for the requested service.
* If no providers are available, a vector of length 0 will be returned.
*/
--- a/jdk/src/share/classes/sun/applet/AppletViewerPanel.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/sun/applet/AppletViewerPanel.java Mon Feb 17 11:37:46 2014 -0500
@@ -31,7 +31,6 @@
import java.net.MalformedURLException;
import java.awt.*;
import java.applet.*;
-import sun.tools.jar.*;
/**
--- a/jdk/src/share/classes/sun/misc/Service.java Mon Feb 17 11:36:40 2014 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,434 +0,0 @@
-/*
- * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.misc;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-import java.util.NoSuchElementException;
-import java.util.Set;
-import java.util.TreeSet;
-
-
-/**
- * A simple service-provider lookup mechanism. A <i>service</i> is a
- * well-known set of interfaces and (usually abstract) classes. A <i>service
- * provider</i> is a specific implementation of a service. The classes in a
- * provider typically implement the interfaces and subclass the classes defined
- * in the service itself. Service providers may be installed in an
- * implementation of the Java platform in the form of extensions, that is, jar
- * files placed into any of the usual extension directories. Providers may
- * also be made available by adding them to the applet or application class
- * path or by some other platform-specific means.
- *
- * <p> In this lookup mechanism a service is represented by an interface or an
- * abstract class. (A concrete class may be used, but this is not
- * recommended.) A provider of a given service contains one or more concrete
- * classes that extend this <i>service class</i> with data and code specific to
- * the provider. This <i>provider class</i> will typically not be the entire
- * provider itself but rather a proxy that contains enough information to
- * decide whether the provider is able to satisfy a particular request together
- * with code that can create the actual provider on demand. The details of
- * provider classes tend to be highly service-specific; no single class or
- * interface could possibly unify them, so no such class has been defined. The
- * only requirement enforced here is that provider classes must have a
- * zero-argument constructor so that they may be instantiated during lookup.
- *
- * <p> A service provider identifies itself by placing a provider-configuration
- * file in the resource directory <tt>META-INF/services</tt>. The file's name
- * should consist of the fully-qualified name of the abstract service class.
- * The file should contain a list of fully-qualified concrete provider-class
- * names, one per line. Space and tab characters surrounding each name, as
- * well as blank lines, are ignored. The comment character is <tt>'#'</tt>
- * (<tt>0x23</tt>); on each line all characters following the first comment
- * character are ignored. The file must be encoded in UTF-8.
- *
- * <p> If a particular concrete provider class is named in more than one
- * configuration file, or is named in the same configuration file more than
- * once, then the duplicates will be ignored. The configuration file naming a
- * particular provider need not be in the same jar file or other distribution
- * unit as the provider itself. The provider must be accessible from the same
- * class loader that was initially queried to locate the configuration file;
- * note that this is not necessarily the class loader that found the file.
- *
- * <p> <b>Example:</b> Suppose we have a service class named
- * <tt>java.io.spi.CharCodec</tt>. It has two abstract methods:
- *
- * <pre>
- * public abstract CharEncoder getEncoder(String encodingName);
- * public abstract CharDecoder getDecoder(String encodingName);
- * </pre>
- *
- * Each method returns an appropriate object or <tt>null</tt> if it cannot
- * translate the given encoding. Typical <tt>CharCodec</tt> providers will
- * support more than one encoding.
- *
- * <p> If <tt>sun.io.StandardCodec</tt> is a provider of the <tt>CharCodec</tt>
- * service then its jar file would contain the file
- * <tt>META-INF/services/java.io.spi.CharCodec</tt>. This file would contain
- * the single line:
- *
- * <pre>
- * sun.io.StandardCodec # Standard codecs for the platform
- * </pre>
- *
- * To locate an encoder for a given encoding name, the internal I/O code would
- * do something like this:
- *
- * <pre>
- * CharEncoder getEncoder(String encodingName) {
- * Iterator ps = Service.providers(CharCodec.class);
- * while (ps.hasNext()) {
- * CharCodec cc = (CharCodec)ps.next();
- * CharEncoder ce = cc.getEncoder(encodingName);
- * if (ce != null)
- * return ce;
- * }
- * return null;
- * }
- * </pre>
- *
- * The provider-lookup mechanism always executes in the security context of the
- * caller. Trusted system code should typically invoke the methods in this
- * class from within a privileged security context.
- *
- * @author Mark Reinhold
- * @since 1.3
- */
-
-public final class Service<S> {
-
- private static final String prefix = "META-INF/services/";
-
- private Service() { }
-
- private static void fail(Class<?> service, String msg, Throwable cause)
- throws ServiceConfigurationError
- {
- ServiceConfigurationError sce
- = new ServiceConfigurationError(service.getName() + ": " + msg);
- sce.initCause(cause);
- throw sce;
- }
-
- private static void fail(Class<?> service, String msg)
- throws ServiceConfigurationError
- {
- throw new ServiceConfigurationError(service.getName() + ": " + msg);
- }
-
- private static void fail(Class<?> service, URL u, int line, String msg)
- throws ServiceConfigurationError
- {
- fail(service, u + ":" + line + ": " + msg);
- }
-
- /**
- * Parse a single line from the given configuration file, adding the name
- * on the line to both the names list and the returned set iff the name is
- * not already a member of the returned set.
- */
- private static int parseLine(Class<?> service, URL u, BufferedReader r, int lc,
- List<String> names, Set<String> returned)
- throws IOException, ServiceConfigurationError
- {
- String ln = r.readLine();
- if (ln == null) {
- return -1;
- }
- int ci = ln.indexOf('#');
- if (ci >= 0) ln = ln.substring(0, ci);
- ln = ln.trim();
- int n = ln.length();
- if (n != 0) {
- if ((ln.indexOf(' ') >= 0) || (ln.indexOf('\t') >= 0))
- fail(service, u, lc, "Illegal configuration-file syntax");
- int cp = ln.codePointAt(0);
- if (!Character.isJavaIdentifierStart(cp))
- fail(service, u, lc, "Illegal provider-class name: " + ln);
- for (int i = Character.charCount(cp); i < n; i += Character.charCount(cp)) {
- cp = ln.codePointAt(i);
- if (!Character.isJavaIdentifierPart(cp) && (cp != '.'))
- fail(service, u, lc, "Illegal provider-class name: " + ln);
- }
- if (!returned.contains(ln)) {
- names.add(ln);
- returned.add(ln);
- }
- }
- return lc + 1;
- }
-
- /**
- * Parse the content of the given URL as a provider-configuration file.
- *
- * @param service
- * The service class for which providers are being sought;
- * used to construct error detail strings
- *
- * @param url
- * The URL naming the configuration file to be parsed
- *
- * @param returned
- * A Set containing the names of provider classes that have already
- * been returned. This set will be updated to contain the names
- * that will be yielded from the returned <tt>Iterator</tt>.
- *
- * @return A (possibly empty) <tt>Iterator</tt> that will yield the
- * provider-class names in the given configuration file that are
- * not yet members of the returned set
- *
- * @throws ServiceConfigurationError
- * If an I/O error occurs while reading from the given URL, or
- * if a configuration-file format error is detected
- */
- private static Iterator<String> parse(Class<?> service, URL u, Set<String> returned)
- throws ServiceConfigurationError
- {
- InputStream in = null;
- BufferedReader r = null;
- ArrayList<String> names = new ArrayList<>();
- try {
- in = u.openStream();
- r = new BufferedReader(new InputStreamReader(in, "utf-8"));
- int lc = 1;
- while ((lc = parseLine(service, u, r, lc, names, returned)) >= 0);
- } catch (IOException x) {
- fail(service, ": " + x);
- } finally {
- try {
- if (r != null) r.close();
- if (in != null) in.close();
- } catch (IOException y) {
- fail(service, ": " + y);
- }
- }
- return names.iterator();
- }
-
-
- /**
- * Private inner class implementing fully-lazy provider lookup
- */
- private static class LazyIterator<S> implements Iterator<S> {
-
- Class<S> service;
- ClassLoader loader;
- Enumeration<URL> configs = null;
- Iterator<String> pending = null;
- Set<String> returned = new TreeSet<>();
- String nextName = null;
-
- private LazyIterator(Class<S> service, ClassLoader loader) {
- this.service = service;
- this.loader = loader;
- }
-
- public boolean hasNext() throws ServiceConfigurationError {
- if (nextName != null) {
- return true;
- }
- if (configs == null) {
- try {
- String fullName = prefix + service.getName();
- if (loader == null)
- configs = ClassLoader.getSystemResources(fullName);
- else
- configs = loader.getResources(fullName);
- } catch (IOException x) {
- fail(service, ": " + x);
- }
- }
- while ((pending == null) || !pending.hasNext()) {
- if (!configs.hasMoreElements()) {
- return false;
- }
- pending = parse(service, configs.nextElement(), returned);
- }
- nextName = pending.next();
- return true;
- }
-
- public S next() throws ServiceConfigurationError {
- if (!hasNext()) {
- throw new NoSuchElementException();
- }
- String cn = nextName;
- nextName = null;
- Class<?> c = null;
- try {
- c = Class.forName(cn, false, loader);
- } catch (ClassNotFoundException x) {
- fail(service,
- "Provider " + cn + " not found");
- }
- if (!service.isAssignableFrom(c)) {
- fail(service,
- "Provider " + cn + " not a subtype");
- }
- try {
- return service.cast(c.newInstance());
- } catch (Throwable x) {
- fail(service,
- "Provider " + cn + " could not be instantiated: " + x,
- x);
- }
- return null; /* This cannot happen */
- }
-
- public void remove() {
- throw new UnsupportedOperationException();
- }
-
- }
-
-
- /**
- * Locates and incrementally instantiates the available providers of a
- * given service using the given class loader.
- *
- * <p> This method transforms the name of the given service class into a
- * provider-configuration filename as described above and then uses the
- * <tt>getResources</tt> method of the given class loader to find all
- * available files with that name. These files are then read and parsed to
- * produce a list of provider-class names. The iterator that is returned
- * uses the given class loader to lookup and then instantiate each element
- * of the list.
- *
- * <p> Because it is possible for extensions to be installed into a running
- * Java virtual machine, this method may return different results each time
- * it is invoked. <p>
- *
- * @param service
- * The service's abstract service class
- *
- * @param loader
- * The class loader to be used to load provider-configuration files
- * and instantiate provider classes, or <tt>null</tt> if the system
- * class loader (or, failing that the bootstrap class loader) is to
- * be used
- *
- * @return An <tt>Iterator</tt> that yields provider objects for the given
- * service, in some arbitrary order. The iterator will throw a
- * <tt>ServiceConfigurationError</tt> if a provider-configuration
- * file violates the specified format or if a provider class cannot
- * be found and instantiated.
- *
- * @throws ServiceConfigurationError
- * If a provider-configuration file violates the specified format
- * or names a provider class that cannot be found and instantiated
- *
- * @see #providers(java.lang.Class)
- * @see #installedProviders(java.lang.Class)
- */
- public static <S> Iterator<S> providers(Class<S> service, ClassLoader loader)
- throws ServiceConfigurationError
- {
- return new LazyIterator<S>(service, loader);
- }
-
-
- /**
- * Locates and incrementally instantiates the available providers of a
- * given service using the context class loader. This convenience method
- * is equivalent to
- *
- * <pre>
- * ClassLoader cl = Thread.currentThread().getContextClassLoader();
- * return Service.providers(service, cl);
- * </pre>
- *
- * @param service
- * The service's abstract service class
- *
- * @return An <tt>Iterator</tt> that yields provider objects for the given
- * service, in some arbitrary order. The iterator will throw a
- * <tt>ServiceConfigurationError</tt> if a provider-configuration
- * file violates the specified format or if a provider class cannot
- * be found and instantiated.
- *
- * @throws ServiceConfigurationError
- * If a provider-configuration file violates the specified format
- * or names a provider class that cannot be found and instantiated
- *
- * @see #providers(java.lang.Class, java.lang.ClassLoader)
- */
- public static <S> Iterator<S> providers(Class<S> service)
- throws ServiceConfigurationError
- {
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
- return Service.providers(service, cl);
- }
-
-
- /**
- * Locates and incrementally instantiates the available providers of a
- * given service using the extension class loader. This convenience method
- * simply locates the extension class loader, call it
- * <tt>extClassLoader</tt>, and then does
- *
- * <pre>
- * return Service.providers(service, extClassLoader);
- * </pre>
- *
- * If the extension class loader cannot be found then the system class
- * loader is used; if there is no system class loader then the bootstrap
- * class loader is used.
- *
- * @param service
- * The service's abstract service class
- *
- * @return An <tt>Iterator</tt> that yields provider objects for the given
- * service, in some arbitrary order. The iterator will throw a
- * <tt>ServiceConfigurationError</tt> if a provider-configuration
- * file violates the specified format or if a provider class cannot
- * be found and instantiated.
- *
- * @throws ServiceConfigurationError
- * If a provider-configuration file violates the specified format
- * or names a provider class that cannot be found and instantiated
- *
- * @see #providers(java.lang.Class, java.lang.ClassLoader)
- */
- public static <S> Iterator<S> installedProviders(Class<S> service)
- throws ServiceConfigurationError
- {
- ClassLoader cl = ClassLoader.getSystemClassLoader();
- ClassLoader prev = null;
- while (cl != null) {
- prev = cl;
- cl = cl.getParent();
- }
- return Service.providers(service, prev);
- }
-
-}
--- a/jdk/src/share/classes/sun/misc/ServiceConfigurationError.java Mon Feb 17 11:36:40 2014 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.misc;
-
-
-/**
- * Error thrown when something goes wrong while looking up service providers.
- * In particular, this error will be thrown in the following situations:
- *
- * <ul>
- * <li> A concrete provider class cannot be found,
- * <li> A concrete provider class cannot be instantiated,
- * <li> The format of a provider-configuration file is illegal, or
- * <li> An IOException occurs while reading a provider-configuration file.
- * </ul>
- *
- * @author Mark Reinhold
- * @since 1.3
- */
-
-public class ServiceConfigurationError extends Error {
-
- static final long serialVersionUID = 8769866263384244465L;
-
- /**
- * Constructs a new instance with the specified detail string.
- */
- public ServiceConfigurationError(String msg) {
- super(msg);
- }
-
- /**
- * Constructs a new instance that wraps the specified throwable.
- */
- public ServiceConfigurationError(Throwable x) {
- super(x);
- }
-
-}
--- a/jdk/src/share/classes/sun/security/jgss/GSSUtil.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/sun/security/jgss/GSSUtil.java Mon Feb 17 11:37:46 2014 -0500
@@ -25,7 +25,6 @@
package sun.security.jgss;
-import com.sun.security.auth.callback.TextCallbackHandler;
import javax.security.auth.Subject;
import javax.security.auth.kerberos.KerberosPrincipal;
import javax.security.auth.kerberos.KerberosTicket;
@@ -48,6 +47,7 @@
import javax.security.auth.login.LoginContext;
import javax.security.auth.login.LoginException;
import sun.security.action.GetBooleanAction;
+import sun.security.util.ConsoleCallbackHandler;
/**
* The GSSUtilImplementation that knows how to work with the internals of
@@ -243,7 +243,7 @@
if ((defaultHandler != null) && (defaultHandler.length() != 0)) {
cb = null;
} else {
- cb = new TextCallbackHandler();
+ cb = new ConsoleCallbackHandler();
}
}
--- a/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/classes/sun/security/provider/certpath/RevocationChecker.java Mon Feb 17 11:37:46 2014 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -1035,6 +1035,9 @@
boolean signFlag = true;
List<? extends Certificate> cpList =
cpbr.getCertPath().getCertificates();
+ if (cpList.isEmpty()) {
+ return;
+ }
try {
for (int i = cpList.size()-1; i >= 0; i-- ) {
X509Certificate cert = (X509Certificate)cpList.get(i);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/security/util/ConsoleCallbackHandler.java Mon Feb 17 11:37:46 2014 -0500
@@ -0,0 +1,247 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package sun.security.util;
+
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.ConfirmationCallback;
+import javax.security.auth.callback.NameCallback;
+import javax.security.auth.callback.PasswordCallback;
+import javax.security.auth.callback.TextOutputCallback;
+import javax.security.auth.callback.UnsupportedCallbackException;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+/**
+ * A {@code CallbackHandler} that prompts and reads from the command line
+ * for answers to authentication questions.
+ */
+public class ConsoleCallbackHandler implements CallbackHandler {
+
+ /**
+ * Creates a callback handler that prompts and reads from the
+ * command line for answers to authentication questions.
+ */
+ public ConsoleCallbackHandler() { }
+
+ /**
+ * Handles the specified set of callbacks.
+ *
+ * @param callbacks the callbacks to handle
+ * @throws IOException if an input or output error occurs.
+ * @throws UnsupportedCallbackException if the callback is not an
+ * instance of NameCallback or PasswordCallback
+ */
+ public void handle(Callback[] callbacks)
+ throws IOException, UnsupportedCallbackException
+ {
+ ConfirmationCallback confirmation = null;
+
+ for (int i = 0; i < callbacks.length; i++) {
+ if (callbacks[i] instanceof TextOutputCallback) {
+ TextOutputCallback tc = (TextOutputCallback) callbacks[i];
+
+ String text;
+ switch (tc.getMessageType()) {
+ case TextOutputCallback.INFORMATION:
+ text = "";
+ break;
+ case TextOutputCallback.WARNING:
+ text = "Warning: ";
+ break;
+ case TextOutputCallback.ERROR:
+ text = "Error: ";
+ break;
+ default:
+ throw new UnsupportedCallbackException(
+ callbacks[i], "Unrecognized message type");
+ }
+
+ String message = tc.getMessage();
+ if (message != null) {
+ text += message;
+ }
+ if (text != null) {
+ System.err.println(text);
+ }
+
+ } else if (callbacks[i] instanceof NameCallback) {
+ NameCallback nc = (NameCallback) callbacks[i];
+
+ if (nc.getDefaultName() == null) {
+ System.err.print(nc.getPrompt());
+ } else {
+ System.err.print(nc.getPrompt() +
+ " [" + nc.getDefaultName() + "] ");
+ }
+ System.err.flush();
+
+ String result = readLine();
+ if (result.equals("")) {
+ result = nc.getDefaultName();
+ }
+
+ nc.setName(result);
+
+ } else if (callbacks[i] instanceof PasswordCallback) {
+ PasswordCallback pc = (PasswordCallback) callbacks[i];
+
+ System.err.print(pc.getPrompt());
+ System.err.flush();
+
+ pc.setPassword(Password.readPassword(System.in, pc.isEchoOn()));
+
+ } else if (callbacks[i] instanceof ConfirmationCallback) {
+ confirmation = (ConfirmationCallback) callbacks[i];
+
+ } else {
+ throw new UnsupportedCallbackException(
+ callbacks[i], "Unrecognized Callback");
+ }
+ }
+
+ /* Do the confirmation callback last. */
+ if (confirmation != null) {
+ doConfirmation(confirmation);
+ }
+ }
+
+ /* Reads a line of input */
+ private String readLine() throws IOException {
+ String result = new BufferedReader
+ (new InputStreamReader(System.in)).readLine();
+ if (result == null) {
+ throw new IOException("Cannot read from System.in");
+ }
+ return result;
+ }
+
+ private void doConfirmation(ConfirmationCallback confirmation)
+ throws IOException, UnsupportedCallbackException
+ {
+ String prefix;
+ int messageType = confirmation.getMessageType();
+ switch (messageType) {
+ case ConfirmationCallback.WARNING:
+ prefix = "Warning: ";
+ break;
+ case ConfirmationCallback.ERROR:
+ prefix = "Error: ";
+ break;
+ case ConfirmationCallback.INFORMATION:
+ prefix = "";
+ break;
+ default:
+ throw new UnsupportedCallbackException(
+ confirmation, "Unrecognized message type: " + messageType);
+ }
+
+ class OptionInfo {
+ String name;
+ int value;
+ OptionInfo(String name, int value) {
+ this.name = name;
+ this.value = value;
+ }
+ }
+
+ OptionInfo[] options;
+ int optionType = confirmation.getOptionType();
+ switch (optionType) {
+ case ConfirmationCallback.YES_NO_OPTION:
+ options = new OptionInfo[] {
+ new OptionInfo("Yes", ConfirmationCallback.YES),
+ new OptionInfo("No", ConfirmationCallback.NO)
+ };
+ break;
+ case ConfirmationCallback.YES_NO_CANCEL_OPTION:
+ options = new OptionInfo[] {
+ new OptionInfo("Yes", ConfirmationCallback.YES),
+ new OptionInfo("No", ConfirmationCallback.NO),
+ new OptionInfo("Cancel", ConfirmationCallback.CANCEL)
+ };
+ break;
+ case ConfirmationCallback.OK_CANCEL_OPTION:
+ options = new OptionInfo[] {
+ new OptionInfo("OK", ConfirmationCallback.OK),
+ new OptionInfo("Cancel", ConfirmationCallback.CANCEL)
+ };
+ break;
+ case ConfirmationCallback.UNSPECIFIED_OPTION:
+ String[] optionStrings = confirmation.getOptions();
+ options = new OptionInfo[optionStrings.length];
+ for (int i = 0; i < options.length; i++) {
+ options[i] = new OptionInfo(optionStrings[i], i);
+ }
+ break;
+ default:
+ throw new UnsupportedCallbackException(
+ confirmation, "Unrecognized option type: " + optionType);
+ }
+
+ int defaultOption = confirmation.getDefaultOption();
+
+ String prompt = confirmation.getPrompt();
+ if (prompt == null) {
+ prompt = "";
+ }
+ prompt = prefix + prompt;
+ if (!prompt.equals("")) {
+ System.err.println(prompt);
+ }
+
+ for (int i = 0; i < options.length; i++) {
+ if (optionType == ConfirmationCallback.UNSPECIFIED_OPTION) {
+ // defaultOption is an index into the options array
+ System.err.println(
+ i + ". " + options[i].name +
+ (i == defaultOption ? " [default]" : ""));
+ } else {
+ // defaultOption is an option value
+ System.err.println(
+ i + ". " + options[i].name +
+ (options[i].value == defaultOption ? " [default]" : ""));
+ }
+ }
+ System.err.print("Enter a number: ");
+ System.err.flush();
+ int result;
+ try {
+ result = Integer.parseInt(readLine());
+ if (result < 0 || result > (options.length - 1)) {
+ result = defaultOption;
+ }
+ result = options[result].value;
+ } catch (NumberFormatException e) {
+ result = defaultOption;
+ }
+
+ confirmation.setSelectedIndex(result);
+ }
+}
--- a/jdk/src/share/instrument/InvocationAdapter.c Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/instrument/InvocationAdapter.c Mon Feb 17 11:37:46 2014 -0500
@@ -153,7 +153,6 @@
char * options;
jarAttribute* attributes;
char * premainClass;
- char * agentClass;
char * bootClassPath;
/*
--- a/jdk/src/share/instrument/JarFacade.c Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/instrument/JarFacade.c Mon Feb 17 11:37:46 2014 -0500
@@ -33,6 +33,7 @@
#endif /* _WIN32 */
#include <string.h>
#include <stdlib.h>
+#include <ctype.h>
#include "jni.h"
#include "manifest_info.h"
--- a/jdk/src/share/native/java/lang/ClassLoader.c Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/native/java/lang/ClassLoader.c Mon Feb 17 11:37:46 2014 -0500
@@ -325,7 +325,7 @@
void *entryName = NULL;
char *jniFunctionName;
int i;
- int len;
+ size_t len;
// Check for JNI_On(Un)Load<_libname> function
if (isLoad) {
@@ -501,9 +501,9 @@
{
const char *cname;
char *libName;
- int prefixLen = (int) strlen(JNI_LIB_PREFIX);
- int suffixLen = (int) strlen(JNI_LIB_SUFFIX);
- int len;
+ size_t prefixLen = strlen(JNI_LIB_PREFIX);
+ size_t suffixLen = strlen(JNI_LIB_SUFFIX);
+ size_t len;
jstring lib;
void *ret;
const char *onLoadSymbols[] = JNI_ONLOAD_SYMBOLS;
--- a/jdk/src/share/native/java/lang/Throwable.c Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/native/java/lang/Throwable.c Mon Feb 17 11:37:46 2014 -0500
@@ -44,7 +44,7 @@
* `this' so you can write 'throw e.fillInStackTrace();'
*/
JNIEXPORT jobject JNICALL
-Java_java_lang_Throwable_fillInStackTrace(JNIEnv *env, jobject throwable, int dummy)
+Java_java_lang_Throwable_fillInStackTrace(JNIEnv *env, jobject throwable, jint dummy)
{
JVM_FillInStackTrace(env, throwable);
return throwable;
--- a/jdk/src/share/native/sun/nio/ch/genSocketOptionRegistry.c Mon Feb 17 11:36:40 2014 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-/*
- * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-#include <stdio.h>
-#ifdef _WIN32
-#include <winsock2.h>
-#include <ws2tcpip.h>
-#else
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netinet/tcp.h>
-#endif
-
-/**
- * Generates sun.nio.ch.SocketOptionRegistry, a class that maps Java-level
- * socket options to the platform specific level and option.
- */
-
-static void out(char* s) {
- printf("%s\n", s);
-}
-
-static void emit(const char *name, char * family, int level, int optname) {
- printf(" map.put(new RegistryKey(%s, %s),", name, family);
- printf(" new OptionKey(%d, %d));\n", level, optname);
-}
-
-static void emit_unspec(const char *name, int level, int optname) {
- emit(name, "Net.UNSPEC", level, optname);
-}
-
-static void emit_inet(const char *name, int level, int optname) {
- emit(name, "StandardProtocolFamily.INET", level, optname);
-}
-
-static void emit_inet6(const char *name, int level, int optname) {
- emit(name, "StandardProtocolFamily.INET6", level, optname);
-}
-
-int main(int argc, const char* argv[]) {
- out("// AUTOMATICALLY GENERATED FILE - DO NOT EDIT ");
- out("package sun.nio.ch; ");
- out("import java.net.SocketOption; ");
- out("import java.net.StandardSocketOptions; ");
- out("import java.net.ProtocolFamily; ");
- out("import java.net.StandardProtocolFamily; ");
- out("import java.util.Map; ");
- out("import java.util.HashMap; ");
- out("class SocketOptionRegistry { ");
- out(" private SocketOptionRegistry() { } ");
- out(" private static class RegistryKey { ");
- out(" private final SocketOption<?> name; ");
- out(" private final ProtocolFamily family; ");
- out(" RegistryKey(SocketOption<?> name, ProtocolFamily family) { ");
- out(" this.name = name; ");
- out(" this.family = family; ");
- out(" } ");
- out(" public int hashCode() { ");
- out(" return name.hashCode() + family.hashCode(); ");
- out(" } ");
- out(" public boolean equals(Object ob) { ");
- out(" if (ob == null) return false; ");
- out(" if (!(ob instanceof RegistryKey)) return false; ");
- out(" RegistryKey other = (RegistryKey)ob; ");
- out(" if (this.name != other.name) return false; ");
- out(" if (this.family != other.family) return false; ");
- out(" return true; ");
- out(" } ");
- out(" } ");
- out(" private static class LazyInitialization { ");
- out(" static final Map<RegistryKey,OptionKey> options = options(); ");
- out(" private static Map<RegistryKey,OptionKey> options() { ");
- out(" Map<RegistryKey,OptionKey> map = ");
- out(" new HashMap<RegistryKey,OptionKey>(); ");
-
- emit_unspec("StandardSocketOptions.SO_BROADCAST", SOL_SOCKET, SO_BROADCAST);
- emit_unspec("StandardSocketOptions.SO_KEEPALIVE", SOL_SOCKET, SO_KEEPALIVE);
- emit_unspec("StandardSocketOptions.SO_LINGER", SOL_SOCKET, SO_LINGER);
- emit_unspec("StandardSocketOptions.SO_SNDBUF", SOL_SOCKET, SO_SNDBUF);
- emit_unspec("StandardSocketOptions.SO_RCVBUF", SOL_SOCKET, SO_RCVBUF);
- emit_unspec("StandardSocketOptions.SO_REUSEADDR", SOL_SOCKET, SO_REUSEADDR);
- emit_unspec("StandardSocketOptions.TCP_NODELAY", IPPROTO_TCP, TCP_NODELAY);
-
- emit_inet("StandardSocketOptions.IP_TOS", IPPROTO_IP, IP_TOS);
- emit_inet("StandardSocketOptions.IP_MULTICAST_IF", IPPROTO_IP, IP_MULTICAST_IF);
- emit_inet("StandardSocketOptions.IP_MULTICAST_TTL", IPPROTO_IP, IP_MULTICAST_TTL);
- emit_inet("StandardSocketOptions.IP_MULTICAST_LOOP", IPPROTO_IP, IP_MULTICAST_LOOP);
-
-#ifdef AF_INET6
- emit_inet6("StandardSocketOptions.IP_MULTICAST_IF", IPPROTO_IPV6, IPV6_MULTICAST_IF);
- emit_inet6("StandardSocketOptions.IP_MULTICAST_TTL", IPPROTO_IPV6, IPV6_MULTICAST_HOPS);
- emit_inet6("StandardSocketOptions.IP_MULTICAST_LOOP", IPPROTO_IPV6, IPV6_MULTICAST_LOOP);
-#endif
-
- emit_unspec("ExtendedSocketOption.SO_OOBINLINE", SOL_SOCKET, SO_OOBINLINE);
-
- out(" return map; ");
- out(" } ");
- out(" } ");
- out(" public static OptionKey findOption(SocketOption<?> name, ProtocolFamily family) { ");
- out(" RegistryKey key = new RegistryKey(name, family); ");
- out(" return LazyInitialization.options.get(key); ");
- out(" } ");
- out("} ");
-
- return 0;
-}
--- a/jdk/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h Mon Feb 17 11:37:46 2014 -0500
@@ -55,6 +55,9 @@
* @author Martin Schlaeffer <schlaeff@sbox.tugraz.at>
*/
+#ifndef _PKCS11WRAPPER_H
+#define _PKCS11WRAPPER_H 1
+
/* disable asserts in product mode */
#ifndef DEBUG
#ifndef NDEBUG
@@ -461,3 +464,5 @@
#define free(c) (p11free((c), THIS_FILE, __LINE__))
#endif
+
+#endif /* _PKCS11WRAPPER_H */
--- a/jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java Mon Feb 17 11:36:40 2014 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1366 +0,0 @@
-/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-import java.util.*;
-import java.io.*;
-import java.nio.charset.*;
-import java.text.MessageFormat;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-public class WrapperGenerator {
- /* XLibParser converts Xlib.h to a Java Object that encapsulates the
- * X11 API and data structures */
- // Charset and decoder for ISO-8859-15
- private final static Logger log = Logger.getLogger("WrapperGenerator");
- boolean generateLog = true;
- boolean wide;
- private static Charset charset = Charset.forName("ISO-8859-15");
-
- String package_name = "sun.awt.X11";
- String package_path = "sun/awt/X11";
- String sizerFileName = "sizer.c";
- String defaultBaseClass = "XWrapperBase";
-
- String compile_options = "-lX11";
- static Hashtable symbolTable = new Hashtable();
- static Hashtable sizeTable32bit = new Hashtable();
- static Hashtable sizeTable64bit = new Hashtable();
- static Hashtable knownSizes32 = new Hashtable();
- static Hashtable knownSizes64 = new Hashtable();
- static {
-/*
- knownSizes64.put("", Integer.valueOf());
- knownSizes32.put("", Integer.valueOf());
-*/
- knownSizes64.put("XComposeStatus", Integer.valueOf(16));
- knownSizes64.put("XTimeCoord", Integer.valueOf(16));
- knownSizes64.put("XExtData", Integer.valueOf(32));
- knownSizes64.put("XWindowChanges", Integer.valueOf(40));
- knownSizes64.put("XOMCharSetList", Integer.valueOf(16));
- knownSizes64.put("XModifierKeymap", Integer.valueOf(16));
- knownSizes32.put("XIMValuesList", Integer.valueOf(8));
- knownSizes32.put("XGCValues", Integer.valueOf(92));
-// knownSizes32.put("XIMStringConversionCallbackStruct", Integer.valueOf(16));
- }
-
- private static abstract class BaseType {
-
- String real_type;
- String name;
-
-
- public String getName() {
- return name;
- }
- public String getRealType() {
- return real_type;
- }
-
- public String toString() {
- return name;
- }
- }
-
- private static class AtomicType extends BaseType {
-
- private boolean alias;
- private String aliasName;
-
- static final int TYPE_INT=0;
- static final int TYPE_CHAR=1;
- static final int TYPE_LONG=2;
- static final int TYPE_LONG_LONG=3;
- static final int TYPE_DOUBLE=4;
- static final int TYPE_FLOAT=5;
- static final int TYPE_PTR=6;
- static final int TYPE_SHORT=7;
- static final int TYPE_BOOL = 8;
- static final int TYPE_STRUCT = 9;
- static final int TYPE_ARRAY = 10;
- static final int TYPE_BYTE=11;
- static final int TYPE_ATOM = 12;
- static final int TYPE_ULONG = 13;
- static int getTypeForString(String str) {
- int type=-1;
- if (str.equals("int"))
- type = AtomicType.TYPE_INT;
- else if (str.equals("long"))
- type = AtomicType.TYPE_LONG;
- else if (str.equals("byte"))
- type = AtomicType.TYPE_BYTE;
- else if (str.equals("char"))
- type = AtomicType.TYPE_CHAR;
- else if (str.equals("long long"))
- type = AtomicType.TYPE_LONG_LONG;
- else if (str.equals("double"))
- type = AtomicType.TYPE_DOUBLE;
- else if (str.equals("float"))
- type = AtomicType.TYPE_FLOAT;
- else if (str.equals("pointer"))
- type = AtomicType.TYPE_PTR;
- else if (str.equals("short"))
- type = AtomicType.TYPE_SHORT;
- else if (str.equals("Bool"))
- type = AtomicType.TYPE_BOOL;
- else if (str.equals("struct"))
- type = AtomicType.TYPE_STRUCT;
- else if (str.equals("Atom"))
- type = AtomicType.TYPE_ATOM;
- else if (str.equals("array"))
- type = TYPE_ARRAY;
- else if (str.equals("ulong"))
- type = TYPE_ULONG;
- else throw new IllegalArgumentException("Uknown type string: " + str);
-
- return type;
- }
- String getJavaType() {
- if (referencedType != null) {
- if (referencedType instanceof AtomicType) {
- return ((AtomicType)referencedType).getJavaType();
- } else {
- return referencedType.getName();
- }
- } else {
- return getJavaTypeForType(type);
- }
- }
- static String getJavaTypeForType(int type) {
- switch (type) {
- case TYPE_INT:
- return "int";
- case TYPE_CHAR:
- return "char";
- case TYPE_BYTE:
- return "byte";
- case TYPE_LONG:
- case TYPE_LONG_LONG:
- case TYPE_PTR:
- case TYPE_ULONG:
- return "long";
- case TYPE_DOUBLE:
- return "double";
- case TYPE_FLOAT:
- return "float";
- case TYPE_SHORT:
- return "short";
- case TYPE_BOOL:
- return "boolean";
- case TYPE_ATOM:
- return "long";
- default:
- throw new IllegalArgumentException("Unknown type: " + type);
- }
- }
- String getItemSize() {
- if (referencedType != null) {
- if (referencedType instanceof StructType) {
- return ((StructType)referencedType).getSize();
- } else {
- return ((AtomicType)referencedType).getItemSize();
- }
- } else {
- int i32 = getNativeSizeForAccess(getJavaAccess(false));
- int i64 = getNativeSizeForAccess(getJavaAccess(true));
- if (i32 != i64) {
- return "Native.get" + getNativeAccess() + "Size()";
- } else {
- return Integer.toString(i32);
- }
- }
- }
-
- String getJavaResult(String offset, String base) {
- String res = null;
- switch (type) {
- case TYPE_STRUCT:
- res = "pData + " + offset;
- break;
- case TYPE_PTR:
- if (referencedType == null || referencedType instanceof StructType) {
- res = base + "+" + offset;
- } else if (referencedType instanceof AtomicType) {
- res = MessageFormat.format("Native.get{0}({1})",
- new Object[] {getNativeAccessForType(((AtomicType)referencedType).type),
- base + "+" + offset});
- }
- break;
- case TYPE_ARRAY:
- if (referencedType instanceof StructType) {
- res = "pData + " + offset;
- } else if (referencedType instanceof AtomicType) {
- res = MessageFormat.format("Native.get{0}(pData + {1})",
- new Object[] {getNativeAccessForType(((AtomicType)referencedType).type),
- offset});
- }
- break;
- default:
- res = MessageFormat.format("(Native.get{0}(pData+{1}))",
- new Object[] {getNativeAccess(), offset});
- }
- return getJavaResultConversion(res, base);
- }
- String getJavaResultConversion(String value, String base) {
- if (referencedType != null) {
- if (referencedType instanceof StructType) {
- if (type == TYPE_PTR) {
- return MessageFormat.format("({2} != 0)?(new {0}({1})):(null)", new Object[] {referencedType.getName(),value, base});
- } else {
- return MessageFormat.format("new {0}({1})", new Object[] {referencedType.getName(),value});
- }
- } else {
- return value;
- }
- } else {
- return getJavaResultConversionForType(type, value);
- }
- }
- static String getJavaResultConversionForType(int type, String value) {
- return value;
- }
- String getNativeAccess() {
- return getNativeAccessForType(type);
- }
- String getJavaAccess(boolean wide) {
- return getJavaAccessForType(type, wide);
- }
- static String getJavaAccessForType(int type, boolean wide) {
- switch (type) {
- case TYPE_INT:
- return "Int";
- case TYPE_CHAR:
- return "Char";
- case TYPE_BYTE:
- return "Byte";
- case TYPE_LONG:
- case TYPE_PTR:
- case TYPE_ARRAY:
- case TYPE_STRUCT:
- case TYPE_ATOM:
- return (wide?"Long":"Int");
- case TYPE_LONG_LONG:
- return "Long";
- case TYPE_ULONG:
- return (wide?"ULong":"UInt");
- case TYPE_DOUBLE:
- return "Double";
- case TYPE_FLOAT:
- return "Float";
- case TYPE_SHORT:
- return "Short";
- case TYPE_BOOL:
- return "Int";
- default:
- throw new IllegalArgumentException("Unknown type: " + type);
- }
- }
- static String getNativeAccessForType(int type) {
- switch (type) {
- case TYPE_INT:
- return "Int";
- case TYPE_CHAR:
- return "Char";
- case TYPE_BYTE:
- return "Byte";
- case TYPE_LONG:
- case TYPE_PTR:
- case TYPE_ARRAY:
- case TYPE_STRUCT:
- return "Long";
- case TYPE_LONG_LONG:
- return "Long";
- case TYPE_ULONG:
- return "ULong";
- case TYPE_DOUBLE:
- return "Double";
- case TYPE_FLOAT:
- return "Float";
- case TYPE_SHORT:
- return "Short";
- case TYPE_BOOL:
- return "Bool";
- case TYPE_ATOM:
- return "Long";
- default:
- throw new IllegalArgumentException("Unknown type: " + type);
- }
- }
-
- static int getNativeSizeForAccess(String access) {
- if (access.equals("Int")) return 4;
- else if (access.equals("Byte")) return 1;
- else if (access.equals("Long")) return 8;
- else if (access.equals("Double")) return 8;
- else if (access.equals("Float")) return 4;
- else if (access.equals("Char")) return 2;
- else if (access.equals("Short")) return 2;
- else if (access.equals("ULong")) return 8;
- else if (access.equals("UInt")) return 4;
- else throw new IllegalArgumentException("Unknow access type: " + access);
- }
-
- String getJavaConversion(String offset, String value) {
- if (referencedType != null) {
- if (referencedType instanceof StructType) {
- return getJavaConversionForType(TYPE_PTR, offset, value + ".pData");
- } else {
- if (type == TYPE_ARRAY) {
- return getJavaConversionForType(((AtomicType)referencedType).type, offset, value);
- } else { // TYPE_PTR
- return getJavaConversionForType(TYPE_PTR, offset, value);
- }
- }
- } else {
- return getJavaConversionForType(type, offset, value);
- }
- }
- static String getJavaConversionForType(int type, String offset, String value) {
- return MessageFormat.format("Native.put{0}({2}, {1})", new Object[] {getNativeAccessForType(type), value, offset});
- }
-
-
- int type;
- int offset;
- int direction;
- BaseType referencedType;
- int arrayLength = -1;
- boolean autoFree = false;
- public AtomicType(int _type,String _name, String _real_type) {
- name = _name.replaceAll("[* \t]","");
- if ((name.indexOf("[") != -1) || (name.indexOf("]") != -1))
- {
- name = name.replaceAll("\\[.*\\]","");
- }
- type = _type;
- real_type = _real_type;
- if (real_type == null)
- {
- System.out.println(" real type is null");
-
- }
- }
- public boolean isIn() {
- return direction == 0;
- }
- public boolean isOut() {
- return direction == 1;
- }
- public boolean isInOut() {
- return direction == 2;
- }
- public boolean isAutoFree() {
- return autoFree;
- }
- public void setAttributes(String[] attributes) {
- String mod = attributes[3];
- if ("in".equals(mod)) {
- direction = 0;
- } else if ("out".equals(mod)) {
- direction = 1;
- if (attributes.length > 4 && "free".equals(attributes[4])) {
- autoFree = true;
- }
- } else if ("inout".equals(mod)) {
- direction = 2;
- } else if ("alias".equals(mod)) {
- alias = true;
- aliasName = attributes[4];
- } else if (type == TYPE_ARRAY || type == TYPE_PTR || type == TYPE_STRUCT) {
- referencedType = (BaseType)symbolTable.get(mod);
- if (referencedType == null) {
- log.warning("Can't find type for name " + mod);
- }
- if (attributes.length > 4) { // array length
- try {
- arrayLength = Integer.parseInt(attributes[4]);
- } catch (Exception e) {
- }
- }
- }
- }
- public BaseType getReferencedType() {
- return referencedType;
- }
- public int getArrayLength() {
- return arrayLength;
- }
- public void setOffset(int o)
- {
- offset = o;
- }
- public int getType() {
- return type;
- }
- public String getTypeUpperCase() {
- switch (type) {
- case TYPE_INT:
- return "Int";
- case TYPE_CHAR:
- return "Char";
- case TYPE_BYTE:
- return "Byte";
- case TYPE_LONG:
- case TYPE_LONG_LONG:
- case TYPE_PTR:
- return "Long";
- case TYPE_DOUBLE:
- return "Double";
- case TYPE_FLOAT:
- return "Float";
- case TYPE_SHORT:
- return "Short";
- case TYPE_BOOL:
- return "Int";
- case TYPE_ATOM:
- return "Long";
- case TYPE_ULONG:
- return "ULong";
- default: throw new IllegalArgumentException("Uknown type");
- }
- }
- public int getOffset()
- {
- return offset;
- }
- public boolean isAlias() {
- return alias;
- }
- public String getAliasName() {
- return aliasName;
- }
- }
-
- private static class StructType extends BaseType {
-
- Vector members;
- String description;
- boolean packed;
- int size;
- String baseClass, interfaces;
- boolean isInterface;
- String javaClassName;
-
- /**
- * Construct new structured type.
- * Description is used for name and type definition and has the following format:
- * structName [ '[' base classe ']' ] [ '{' interfaces '}' ] [ '|' javaClassName ]
- */
- public StructType(String _desc)
- {
- members = new Vector();
- parseDescription(_desc);
- }
- public int getNumFields()
- {
- return members.size();
- }
- public void setName(String _name)
- {
- _name = _name.replaceAll("[* \t]","");
- parseDescription(_name);
- }
-
- public void setSize(int i)
- {
- size = i;
- }
-
- public String getDescription()
- {
- return description;
- }
-
- public Enumeration getMembers()
- {
- return members.elements();
- }
-
- public void addMember(BaseType tp)
- {
- members.add(tp);
- }
- public String getBaseClass() {
- return baseClass;
- }
- public String getInterfaces() {
- return interfaces;
- }
- public boolean getIsInterface() {
- return isInterface;
- }
- public String getJavaClassName() {
- return javaClassName;
- }
- void parseDescription(String _desc) {
- if (_desc.indexOf('[') != -1) { // Has base class
- baseClass = _desc.substring(_desc.indexOf('[')+1, _desc.indexOf(']'));
- _desc = _desc.substring(0, _desc.indexOf('[')) + _desc.substring(_desc.indexOf(']')+1);
- }
- if (_desc.indexOf('{') != -1) { // Has base class
- interfaces = _desc.substring(_desc.indexOf('{')+1, _desc.indexOf('}'));
- _desc = _desc.substring(0, _desc.indexOf('{')) + _desc.substring(_desc.indexOf('}')+1);
- }
- if (_desc.startsWith("-")) { // Interface
- isInterface = true;
- _desc = _desc.substring(1, _desc.length());
- }
- if (_desc.indexOf("|") != -1) {
- javaClassName = _desc.substring(_desc.indexOf('|')+1, _desc.length());
- _desc = _desc.substring(0, _desc.indexOf('|'));
- }
- name = _desc;
- if (javaClassName == null) {
- javaClassName = name;
- }
- description = _desc;
-// System.out.println("Struct " + name + " extends " + baseClass + " implements " + interfaces);
- }
-
- /**
- * Returns String containing Java code calculating size of the structure depending on the data model
- */
- public String getSize() {
- String s32 = (String) WrapperGenerator.sizeTable32bit.get(getName());
- String s64 = (String) WrapperGenerator.sizeTable64bit.get(getName());
- if (s32 == null || s64 == null) {
- return (s32 == null)?(s64):(s32);
- }
- if (s32.equals(s64)) {
- return s32;
- } else {
- return MessageFormat.format("((XlibWrapper.dataModel == 32)?({0}):({1}))", new Object[] {s32, s64});
- }
- }
- public String getOffset(AtomicType atp) {
- String key = getName()+"."+(atp.isAlias() ? atp.getAliasName() : atp.getName());
- String s64 = (String) WrapperGenerator.sizeTable64bit.get(key);
- String s32 = (String) WrapperGenerator.sizeTable32bit.get(key);
- if (s32 == null || s64 == null) {
- return (s32 == null)?(s64):(s32);
- }
- if (s32.equals(s64)) {
- return s32;
- } else {
- return MessageFormat.format("((XlibWrapper.dataModel == 32)?({0}):({1}))", new Object[]{s32, s64});
- }
- }
- }
-
- private static class FunctionType extends BaseType {
-
- Vector args;
- String description;
- boolean packed;
- String returnType;
-
- int alignment;
-
- public FunctionType(String _desc)
- {
- args = new Vector();
- description = _desc;
- setName(_desc);
- }
- boolean isVoid() {
- return (returnType == null);
- }
- String getReturnType() {
- if (returnType == null) {
- return "void";
- } else {
- return returnType;
- }
- }
-
- public int getNumArgs()
- {
- return args.size();
- }
- public void setName(String _name)
- {
- if (_name.startsWith("!")) {
- _name = _name.substring(1, _name.length());
- }
- if (_name.indexOf("|") != -1) {
- returnType = _name.substring(_name.indexOf("|")+1, _name.length());
- _name = _name.substring(0, _name.indexOf("|"));
- }
- name = _name.replaceAll("[* \t]","");
- }
-
- public String getDescription()
- {
- return description;
- }
-
- public Collection getArguments()
- {
- return args;
- }
- public void addArgument(BaseType tp)
- {
- args.add(tp);
- }
- }
-
- public String makeComment(String str)
- {
- StringTokenizer st = new StringTokenizer(str,"\r\n");
- String ret="";
-
- while (st.hasMoreTokens())
- {
- ret = ret + "//" + st.nextToken() + "\n";
- }
-
- return ret;
- }
-
- public String getJavaTypeForSize(int size) {
- switch(size) {
- case 1: return "byte";
- case 2: return "short";
- case 4: return "int";
- case 8: return "long";
- default: throw new RuntimeException("Unsupported size: " + size);
- }
- }
- public String getOffsets(StructType stp,AtomicType atp, boolean wide)
- {
- String key = stp.getName()+"."+atp.getName();
- return wide == true ? (String) sizeTable64bit.get(key) : (String) sizeTable32bit.get(key);
- }
-
- public String getStructSize(StructType stp, boolean wide)
- {
- return wide == true ? (String) sizeTable64bit.get(stp.getName()) : (String) sizeTable32bit.get(stp.getName());
- }
-
- public int getLongSize(boolean wide)
- {
- return Integer.parseInt(wide == true ? (String)sizeTable64bit.get("long") : (String)sizeTable32bit.get("long"));
- }
-
- public int getPtrSize(boolean wide)
- {
- return Integer.parseInt(wide == true ? (String)sizeTable64bit.get("ptr") : (String)sizeTable32bit.get("ptr"));
- }
- public int getBoolSize(boolean wide) {
- return getOrdinalSize("Bool", wide);
- }
- public int getOrdinalSize(String ordinal, boolean wide) {
- return Integer.parseInt(wide == true ? (String)sizeTable64bit.get(ordinal) : (String)sizeTable32bit.get(ordinal));
- }
-
- public void writeToString(StructType stp, PrintWriter pw) {
- int type;
- pw.println("\n\n\tString getName() {\n\t\treturn \"" + stp.getName()+ "\"; \n\t}");
- pw.println("\n\n\tString getFieldsAsString() {\n\t\tStringBuilder ret = new StringBuilder(" + stp.getNumFields() * 40 + ");\n");
-
- for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
- AtomicType tp = (AtomicType) e.nextElement();
-
- type = tp.getType();
- String name = tp.getName().replace('.', '_');
- if ((name != null) && (name.length() > 0))
- {
- if (type == AtomicType.TYPE_ATOM) {
- pw.println("\t\tret.append(\"" + name + " = \" ).append( XAtom.get(get_" + name + "()) ).append(\", \");");
- } else if (name.equals("type")) {
- pw.println("\t\tret.append(\"type = \").append( XlibWrapper.eventToString[get_type()] ).append(\", \");");
- } else if (name.equals("window")){
- pw.println("\t\tret.append(\"window = \" ).append( getWindow(get_window()) ).append(\", \");");
- } else if (type == AtomicType.TYPE_ARRAY) {
- pw.print("\t\tret.append(\"{\")");
- for (int i = 0; i < tp.getArrayLength(); i++) {
- pw.print("\n\t\t.append( get_" + name + "(" + i + ") ).append(\" \")");
- }
- pw.println(".append( \"}\");");
- } else {
- pw.println("\t\tret.append(\"" + name +" = \").append( get_"+ name+"() ).append(\", \");");
- }
- }
-
- }
- pw.println("\t\treturn ret.toString();\n\t}\n\n");
- }
-
- public void writeStubs(StructType stp, PrintWriter pw) {
- int type;
- String prefix = "";
- if (!stp.getIsInterface()) {
- prefix = "\t\tabstract ";
- } else {
- prefix = "\t";
- }
- for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
- AtomicType tp = (AtomicType) e.nextElement();
-
- type = tp.getType();
- String name = tp.getName().replace('.','_');
- if ((name != null) && (name.length() > 0))
- {
- if (type == AtomicType.TYPE_ARRAY) {
- // Returns pointer to the start of the array
- pw.println(prefix + "long get_" +name +"();");
-
- pw.println(prefix + tp.getJavaType() + " get_" +name +"(int index);");
- pw.println(prefix + "void set_" +name +"(int index, " + tp.getJavaType() + " v);");
- } else {
- pw.println(prefix + tp.getJavaType() + " get_" +name +"();");
- if (type != AtomicType.TYPE_STRUCT) pw.println(prefix + "void set_" +name +"(" + tp.getJavaType() + " v);");
- }
- }
- }
- }
-
- private int padSize(int size, int wordLength) {
- int bytesPerWord = wordLength / 8;
- // Make size dividable by bytesPerWord
- return (size + bytesPerWord / 2) / bytesPerWord * bytesPerWord;
- }
-
- public void writeAccessorImpls(StructType stp, PrintWriter pw) {
- int type;
- int i=0;
- String s_size_32 = getStructSize(stp, false);
- String s_size_64 = getStructSize(stp, true);
- int acc_size_32 = 0;
- int acc_size_64 = 0;
- String s_log = (generateLog?"log.finest(\"\");":"");
- for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
- AtomicType tp = (AtomicType) e.nextElement();
-
- type = tp.getType();
- String name = tp.getName().replace('.','_');
- String pref = "\tpublic " ;
- if ((name != null) && (name.length() > 0))
- {
- String jt = tp.getJavaType();
- String ja_32 = tp.getJavaAccess(false);
- String ja_64 = tp.getJavaAccess(true);
- String ja = ja_32;
- int elemSize_32 = AtomicType.getNativeSizeForAccess(ja_32);
- int elemSize_64 = AtomicType.getNativeSizeForAccess(ja_64);
- String elemSize = tp.getItemSize();
- if (type == AtomicType.TYPE_ARRAY) {
- acc_size_32 += elemSize_32 * tp.getArrayLength();
- acc_size_64 += elemSize_64 * tp.getArrayLength();
- pw.println(pref + tp.getJavaType() + " get_" +name + "(int index) { " +s_log+"return " +
- tp.getJavaResult(stp.getOffset(tp) + "+index*" + elemSize, null) + "; }");
- if (tp.getReferencedType() instanceof AtomicType) { // Set for StructType is forbidden
- pw.println(MessageFormat.format(pref + "void set_{0}(int index, {1} v) '{' {3} {2}; '}'",
- new Object[] {
- name, jt,
- tp.getJavaConversion("pData+"+stp.getOffset(tp)+" + index*" + elemSize, "v"),
- s_log}));
- }
- // Returns pointer to the start of the array
- pw.println(pref + "long get_" +name+ "() { "+s_log+"return pData+"+stp.getOffset(tp)+"; }");
- } else if (type == AtomicType.TYPE_PTR) {
- pw.println(MessageFormat.format(pref + "{0} get_{1}(int index) '{' {3} return {2}; '}'",
- new Object[] {
- jt, name,
- tp.getJavaResult("index*" + elemSize, "Native.getLong(pData+"+stp.getOffset(tp)+")"),
- s_log
- }));
- pw.println(pref + "long get_" +name+ "() { "+s_log+"return Native.getLong(pData+"+stp.getOffset(tp)+"); }");
- pw.println(MessageFormat.format(pref + "void set_{0}({1} v) '{' {3} {2}; '}'",
- new Object[] {name, "long", "Native.putLong(pData + " + stp.getOffset(tp) + ", v)", s_log}));
- acc_size_32 += elemSize_32;
- acc_size_64 += elemSize_64;
- } else {
- acc_size_32 += elemSize_32;
- acc_size_64 += elemSize_64;
- pw.println(pref + tp.getJavaType() + " get_" +name +
- "() { "+s_log+"return " + tp.getJavaResult(stp.getOffset(tp), null) + "; }");
- if (type != AtomicType.TYPE_STRUCT) {
- pw.println(MessageFormat.format(pref + "void set_{0}({1} v) '{' {3} {2}; '}'",
- new Object[] {name, jt, tp.getJavaConversion("pData+"+stp.getOffset(tp), "v"), s_log}));
- }
- }
- i++;
- }
- }
- if (s_size_32 != null && !s_size_32.equals(Integer.toString(acc_size_32))) {
- if (log.isLoggable(Level.FINE)) {
- log.fine("32 bits: The size of the structure " + stp.getName() + " " + s_size_32 +
- " is not equal to the accumulated size " +acc_size_32 + " of the fields");
- }
- } else if (s_size_64 != null && !s_size_64.equals(Integer.toString(acc_size_64))) {
- if (log.isLoggable(Level.FINE)) {
- log.fine("64 bits: The size of the structure " + stp.getName() + " " +s_size_64+
- " is not equal to the accumulated size " +acc_size_64+" of the fields");
- }
- }
- }
-
- public void writeWrapperSubclass(StructType stp, PrintWriter pw, boolean wide) {
-
-
- pw.println("class " + stp.getJavaClassName() + "AccessorImpl" + " extends " + stp.getJavaClassName() + "Accessor {");
- pw.println("/*\nThis class serves as a Wrapper for the following X Struct \nsThe offsets here are calculated based on actual compiler.\n\n" +stp.getDescription() + "\n\n */");
-
- writeAccessorImpls(stp, pw);
-
- pw.println("\n\n } \n\n");
- }
-
- public void writeWrapper(String outputDir, StructType stp)
- {
- if (stp.getNumFields() > 0) {
-
- try {
- FileOutputStream fs = new FileOutputStream(outputDir + "/"+stp.getJavaClassName()+".java");
- PrintWriter pw = new PrintWriter(fs);
- pw.println("// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !\n" );
-
- pw.println("package "+package_name+";\n");
- pw.println("import sun.misc.*;\n");
- pw.println("import sun.util.logging.PlatformLogger;");
- String baseClass = stp.getBaseClass();
- if (baseClass == null) {
- baseClass = defaultBaseClass;
- }
- if (stp.getIsInterface()) {
- pw.print("public interface ");
- pw.print(stp.getJavaClassName());
- } else {
- pw.print("public class ");
- pw.print(stp.getJavaClassName() + " extends " + baseClass);
- }
- if (stp.getInterfaces() != null) {
- pw.print(" implements " + stp.getInterfaces());
- }
- pw.println(" { ");
- if (!stp.getIsInterface()) {
- pw.println("\tprivate Unsafe unsafe = XlibWrapper.unsafe; ");
- pw.println("\tprivate final boolean should_free_memory;");
- pw.println("\tpublic static int getSize() { return " + stp.getSize() + "; }");
- pw.println("\tpublic int getDataSize() { return getSize(); }");
- pw.println("\n\tlong pData;");
- pw.println("\n\tpublic long getPData() { return pData; }");
-
- pw.println("\n\n\tpublic " + stp.getJavaClassName() + "(long addr) {");
- if (generateLog) {
- pw.println("\t\tlog.finest(\"Creating\");");
- }
- pw.println("\t\tpData=addr;");
- pw.println("\t\tshould_free_memory = false;");
- pw.println("\t}");
- pw.println("\n\n\tpublic " + stp.getJavaClassName() + "() {");
- if (generateLog) {
- pw.println("\t\tlog.finest(\"Creating\");");
- }
- pw.println("\t\tpData = unsafe.allocateMemory(getSize());");
- pw.println("\t\tshould_free_memory = true;");
- pw.println("\t}");
-
- pw.println("\n\n\tpublic void dispose() {");
- if (generateLog) {
- pw.println("\t\tlog.finest(\"Disposing\");");
- }
- pw.println("\t\tif (should_free_memory) {");
- if (generateLog) {
- pw.println("\t\t\tlog.finest(\"freeing memory\");");
- }
- pw.println("\t\t\tunsafe.freeMemory(pData); \n\t}");
- pw.println("\t\t}");
- writeAccessorImpls(stp, pw);
- writeToString(stp,pw);
- } else {
- pw.println("\n\n\tvoid dispose();");
- pw.println("\n\tlong getPData();");
- writeStubs(stp,pw);
- }
-
-
- pw.println("}\n\n\n");
- pw.close();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- }
-
- private boolean readSizeInfo(InputStream is, boolean wide) {
- String line;
- String splits[];
- BufferedReader in = new BufferedReader(new InputStreamReader(is));
- try {
- while ((line = in.readLine()) != null)
- {
- splits = line.split("\\p{Space}");
- if (splits.length == 2)
- {
- if (wide) {
- sizeTable64bit.put(splits[0],splits[1]);
- } else {
- sizeTable32bit.put(splits[0],splits[1]);
- }
- }
- }
- return true;
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
-
- public void writeFunctionCallWrapper(String outputDir, FunctionType ft) {
- try {
- FileOutputStream fs = new FileOutputStream(outputDir + "/" + ft.getName()+".java");
- PrintWriter pw = new PrintWriter(fs);
- pw.println("// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !\n" );
-
- pw.println("package "+package_name+";\n");
- pw.println("import sun.misc.Unsafe;\n");
- pw.println("class " + ft.getName() + " {");
- pw.println("\tprivate static Unsafe unsafe = XlibWrapper.unsafe;");
- pw.println("\tprivate boolean __executed = false;");
- pw.println("\tprivate boolean __disposed = false;");
- Iterator iter = ft.getArguments().iterator();
- while (iter.hasNext()) {
- AtomicType at = (AtomicType)iter.next();
- if (at.isIn()) {
- pw.println("\t" + at.getJavaType() + " _" + at.getName() + ";");
- } else {
- pw.println("\tlong " + at.getName() + "_ptr = unsafe.allocateMemory(Native.get" + at.getTypeUpperCase() + "Size());");
- }
- }
- pw.println("\tpublic " + ft.getName() + "(");
- iter = ft.getArguments().iterator();
- boolean first = true;
- while (iter.hasNext()) {
- AtomicType at = (AtomicType)iter.next();
- if (at.isIn() || at.isInOut()) {
- if (!first) {
- pw.println(",");
- }
- first = false;
- pw.print("\t\t" + at.getJavaType() + " " + at.getName());
- }
- }
- pw.println("\t)");
- pw.println("\t{");
- iter = ft.getArguments().iterator();
- while (iter.hasNext()) {
- AtomicType at = (AtomicType)iter.next();
- if (at.isIn() || at.isInOut()) {
- pw.println("\t\tset_" + at.getName() + "(" + at.getName() + ");");
- }
- }
- pw.println("\t}");
-
- pw.println("\tpublic " + ft.getReturnType() + " execute() {");
- if (ft.isVoid()) {
- pw.println("\t\texecute(null);");
- } else {
- pw.println("\t\treturn execute(null);");
- }
- pw.println("\t}");
-
- pw.println("\tpublic " + ft.getReturnType() + " execute(XToolkit.XErrorHandler errorHandler) {");
- pw.println("\t\tif (__disposed) {");
- pw.println("\t\t throw new IllegalStateException(\"Disposed\");");
- pw.println("\t\t}");
- pw.println("\t\tXToolkit.awtLock();");
- pw.println("\t\ttry {");
- pw.println("\t\t\tif (__executed) {");
- pw.println("\t\t\t throw new IllegalStateException(\"Already executed\");");
- pw.println("\t\t\t}");
- pw.println("\t\t\t__executed = true;");
- pw.println("\t\t\tif (errorHandler != null) {");
- pw.println("\t\t\t XErrorHandlerUtil.WITH_XERROR_HANDLER(errorHandler);");
- pw.println("\t\t\t}");
- iter = ft.getArguments().iterator();
- while (iter.hasNext()) {
- AtomicType at = (AtomicType)iter.next();
- if (!at.isIn() && at.isAutoFree()) {
- pw.println("\t\t\tNative.put" + at.getTypeUpperCase() + "(" +at.getName() + "_ptr, 0);");
- }
- }
- if (!ft.isVoid()) {
- pw.println("\t\t\t" + ft.getReturnType() + " status = ");
- }
- pw.println("\t\t\tXlibWrapper." + ft.getName() + "(XToolkit.getDisplay(), ");
- iter = ft.getArguments().iterator();
- first = true;
- while (iter.hasNext()) {
- AtomicType at = (AtomicType)iter.next();
- if (!first) {
- pw.println(",");
- }
- first = false;
- if (at.isIn()) {
- pw.print("\t\t\t\tget_" + at.getName() + "()");
- } else {
- pw.print("\t\t\t\t" + at.getName() + "_ptr");
- }
- }
- pw.println("\t\t\t);");
- pw.println("\t\t\tif (errorHandler != null) {");
- pw.println("\t\t\t XErrorHandlerUtil.RESTORE_XERROR_HANDLER();");
- pw.println("\t\t\t}");
- if (!ft.isVoid()) {
- pw.println("\t\t\treturn status;");
- }
- pw.println("\t\t} finally {");
- pw.println("\t\t XToolkit.awtUnlock();");
- pw.println("\t\t}");
- pw.println("\t}");
-
- pw.println("\tpublic boolean isExecuted() {");
- pw.println("\t return __executed;");
- pw.println("\t}");
- pw.println("\t");
- pw.println("\tpublic boolean isDisposed() {");
- pw.println("\t return __disposed;");
- pw.println("\t}");
- pw.println("\tpublic void finalize() {");
- pw.println("\t dispose();");
- pw.println("\t}");
-
- pw.println("\tpublic void dispose() {");
- pw.println("\t\tXToolkit.awtLock();");
- pw.println("\t\ttry {");
- pw.println("\t\tif (__disposed || !__executed) {");
- pw.println("\t\t return;");
- pw.println("\t\t} finally {");
- pw.println("\t\t XToolkit.awtUnlock();");
- pw.println("\t\t}");
- pw.println("\t\t}");
-
- iter = ft.getArguments().iterator();
- while (iter.hasNext()) {
- AtomicType at = (AtomicType)iter.next();
- if (!at.isIn()) {
- if (at.isAutoFree()) {
- pw.println("\t\tif (__executed && get_" + at.getName() + "()!= 0) {");
- pw.println("\t\t\tXlibWrapper.XFree(get_" + at.getName() + "());");
- pw.println("\t\t}");
- }
- pw.println("\t\tunsafe.freeMemory(" + at.getName() + "_ptr);");
- }
- }
- pw.println("\t\t__disposed = true;");
- pw.println("\t\t}");
- pw.println("\t}");
-
- iter = ft.getArguments().iterator();
- while (iter.hasNext()) {
- AtomicType at = (AtomicType)iter.next();
- pw.println("\tpublic " + at.getJavaType() + " get_" + at.getName() + "() {");
-
- pw.println("\t\tif (__disposed) {");
- pw.println("\t\t throw new IllegalStateException(\"Disposed\");");
- pw.println("\t\t}");
- pw.println("\t\tif (!__executed) {");
- pw.println("\t\t throw new IllegalStateException(\"Not executed\");");
- pw.println("\t\t}");
-
- if (at.isIn()) {
- pw.println("\t\treturn _" + at.getName() + ";");
- } else {
- pw.println("\t\treturn Native.get" + at.getTypeUpperCase() + "(" + at.getName() + "_ptr);");
- }
- pw.println("\t}");
-
- pw.println("\tpublic void set_" + at.getName() + "(" + at.getJavaType() + " data) {");
- if (at.isIn()) {
- pw.println("\t\t_" + at.getName() + " = data;");
- } else {
- pw.println("\t\tNative.put" + at.getTypeUpperCase() + "(" + at.getName() + "_ptr, data);");
- }
- pw.println("\t}");
- }
- pw.println("}");
- pw.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- public void writeJavaWrapperClass(String outputDir) {
-// (new File(outputDir, package_path)).mkdirs();
- try {
- for (Enumeration e = symbolTable.elements() ; e.hasMoreElements() ;) {
- BaseType tp = (BaseType) e.nextElement();
- if (tp instanceof StructType) {
- StructType st = (StructType) tp;
- writeWrapper(outputDir, st);
- } else if (tp instanceof FunctionType) {
- writeFunctionCallWrapper(outputDir, (FunctionType)tp);
- }
- }
- }
- catch (Exception e) {
- e.printStackTrace();
- }
- }
-
-
- public void writeNativeSizer(String file)
- {
- int type;
- int i=0;
- int j=0;
- BaseType tp;
- StructType stp;
- Enumeration eo;
-
-
- try {
-
- FileOutputStream fs = new FileOutputStream(file);
- PrintWriter pw = new PrintWriter(fs);
-
- pw.println("/* This file is an automatically generated file, please do not edit this file, modify the XlibParser.java file instead !*/\n" );
- pw.println("#include <X11/Xlib.h>\n#include <X11/Xutil.h>\n#include <X11/Xos.h>\n#include <X11/Xatom.h>\n#include <stdio.h>\n");
- pw.println("#include <X11/extensions/Xdbe.h>");
- pw.println("#include <X11/XKBlib.h>");
- pw.println("#include \"awt_p.h\"");
- pw.println("#include \"color.h\"");
- pw.println("#include \"colordata.h\"");
- pw.println("\ntypedef struct\n");
- pw.println("{\n");
- pw.println(" unsigned long flags;\n");
- pw.println(" unsigned long functions;\n");
- pw.println(" unsigned long decorations;\n");
- pw.println(" long inputMode;\n");
- pw.println(" unsigned long status;\n");
- pw.println("} PropMwmHints;\n");
-
-
- pw.println("\n\nint main(){");
- j=0;
- for ( eo = symbolTable.elements() ; eo.hasMoreElements() ;) {
- tp = (BaseType) eo.nextElement();
- if (tp instanceof StructType)
- {
- stp = (StructType) tp;
- if (!stp.getIsInterface()) {
- pw.println(stp.getName()+" temp"+ j + ";\n");
- j++;
- }
- }
- }
- j=0;
-
- pw.println("printf(\"long\t%d\\n\",(int)sizeof(long));");
- pw.println("printf(\"int\t%d\\n\",(int)sizeof(int));");
- pw.println("printf(\"short\t%d\\n\",(int)sizeof(short));");
- pw.println("printf(\"ptr\t%d\\n\",(int)sizeof(void *));");
- pw.println("printf(\"Bool\t%d\\n\",(int)sizeof(Bool));");
- pw.println("printf(\"Atom\t%d\\n\",(int)sizeof(Atom));");
- pw.println("printf(\"Window\t%d\\n\",(int)sizeof(Window));");
-
-
- for (eo = symbolTable.elements() ; eo.hasMoreElements() ;) {
-
-
- tp = (BaseType) eo.nextElement();
- if (tp instanceof StructType)
- {
- stp = (StructType) tp;
- if (stp.getIsInterface()) {
- continue;
- }
- for (Enumeration e = stp.getMembers() ; e.hasMoreElements() ;) {
- AtomicType atp = (AtomicType) e.nextElement();
- if (atp.isAlias()) continue;
- pw.println("printf(\""+ stp.getName() + "." + atp.getName() + "\t%d\\n\""+
- ",(int)((unsigned long ) &temp"+j+"."+atp.getName()+"- (unsigned long ) &temp" + j + ") );");
-
- i++;
-
-
- }
- pw.println("printf(\""+ stp.getName() + "\t%d\\n\"" + ",(int)sizeof(temp"+j+"));");
-
- j++;
- }
-
- }
- pw.println("return 0;");
- pw.println("}");
- pw.close();
-
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
-
- private void initTypes() {
- symbolTable.put("int", new AtomicType(AtomicType.TYPE_INT, "", "int"));
- symbolTable.put("short", new AtomicType(AtomicType.TYPE_SHORT, "", "short"));
- symbolTable.put("long", new AtomicType(AtomicType.TYPE_LONG, "", "long"));
- symbolTable.put("float", new AtomicType(AtomicType.TYPE_FLOAT, "", "float"));
- symbolTable.put("double", new AtomicType(AtomicType.TYPE_DOUBLE, "", "double"));
- symbolTable.put("Bool", new AtomicType(AtomicType.TYPE_BOOL, "", "Bool"));
- symbolTable.put("char", new AtomicType(AtomicType.TYPE_CHAR, "", "char"));
- symbolTable.put("byte", new AtomicType(AtomicType.TYPE_BYTE, "", "byte"));
- symbolTable.put("pointer", new AtomicType(AtomicType.TYPE_PTR, "", "pointer"));
- symbolTable.put("longlong", new AtomicType(AtomicType.TYPE_LONG_LONG, "", "longlong"));
- symbolTable.put("Atom", new AtomicType(AtomicType.TYPE_ATOM, "", "Atom"));
- symbolTable.put("ulong", new AtomicType(AtomicType.TYPE_ULONG, "", "ulong"));
- }
- public WrapperGenerator(String outputDir, String xlibFilename) {
- initTypes();
- try {
- BufferedReader in = new BufferedReader(new FileReader(xlibFilename));
- String line;
- String splits[];
- BaseType curType = null;
- while ((line = in.readLine()) != null)
- {
- int commentStart = line.indexOf("//");
- if (commentStart >= 0) {
- // remove comment
- line = line.substring(0, commentStart);
- }
-
- if ("".equals(line)) {
- // skip empty line
- continue;
- }
-
- splits = line.split("\\p{Space}+");
- if (splits.length >= 2)
- {
- String struct_name = curType.getName();
- String field_name = splits[1];
- String s_type = splits[2];
- BaseType bt = curType;
- int type = AtomicType.getTypeForString(s_type);
- AtomicType atp = null;
- if (bt != null && type != -1) {
- atp = new AtomicType(type,field_name,s_type);
- if (splits.length > 3) {
- atp.setAttributes(splits);
- }
- if (bt instanceof StructType) {
- StructType stp = (StructType) bt;
- stp.addMember(atp);
- } else if (bt instanceof FunctionType) {
- ((FunctionType)bt).addArgument(atp);
- }
- }
- else if (bt == null) {
- System.out.println("Cannot find " + struct_name);
- }
-
- }
- else if (line != null) {
- BaseType bt = (BaseType) symbolTable.get(line);
- if (bt == null) {
- if (line.startsWith("!")) {
- FunctionType ft = new FunctionType(line);
- ft.setName(line);
- symbolTable.put(ft.getName(),ft);
- curType = ft;
- } else {
- StructType stp = new StructType(line);
- stp.setName(line);
- curType = stp;
- symbolTable.put(stp.getName(),stp);
- }
- }
- }
-
- }
- in.close();
- }
- catch (Exception e) {
- e.printStackTrace();
- }
-
- }
- private void makeSizer(String outputDir) {
- if (wide) {
- sizerFileName = "sizer.64.c";
- } else {
- sizerFileName = "sizer.32.c";
- }
- File fp = new File(outputDir, sizerFileName);
- writeNativeSizer(fp.getAbsolutePath());
- }
- private boolean readSizeInfo(String sizeInfo) {
- try {
- File f = new File(sizeInfo+".32");
- boolean res = true;
- FileInputStream fis = null;
- if (f.exists()) {
- fis = new FileInputStream(f);
- res = readSizeInfo(fis, false);
- fis.close();
- }
- f = new File(sizeInfo+".64");
- if (f.exists()) {
- fis = new FileInputStream(f);
- res &= readSizeInfo(fis, true);
- fis.close();
- }
- return res;
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
-
- private void startGeneration(String outputDir, String sizeInfo) {
- if (readSizeInfo(sizeInfo))
- {
- writeJavaWrapperClass(outputDir);
- }
- else {
- System.out.println("Error calculating offsets");
- }
- }
-
- public static void main(String[] args) {
-
- if (args.length < 4) {
- System.out.println("Usage:\nWrapperGenerator <output_dir> <xlibtypes.txt> <action> [<platform> | <sizes info file>]");
- System.out.println("Where <action>: gen, sizer");
- System.out.println(" <platform>: 32, 64");
- System.exit(1);
- }
-
- WrapperGenerator xparser = new WrapperGenerator(args[0], args[1]);
- if (args[2].equals("sizer")) {
- xparser.wide = args[3].equals("64");
- xparser.makeSizer(args[0]);
- } else if (args[2].equals("gen")) {
- xparser.startGeneration(args[0], args[3]);
- }
- }
-
-}
--- a/jdk/src/solaris/classes/sun/awt/X11/generator/functions.txt Mon Feb 17 11:36:40 2014 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-!XGetWindowProperty|int
- w long
- property Atom
- long_offset long
- long_length long
- delete Bool
- req_type Atom
- actual_type Atom out
- actual_format int out
- number_of_items long out
- bytes_after long out
- data pointer out free
-!XQueryTree|int
- w long
- root long out
- parent long out
- children pointer out free
- nchildren int out
-!XTranslateCoordinates|int
- scr_w long
- dest_w long
- src_x int
- src_y int
- dest_x int out
- dest_y int out
- child long out
--- a/jdk/src/solaris/classes/sun/awt/X11/generator/sizes.32 Mon Feb 17 11:36:40 2014 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1016 +0,0 @@
-long 4
-int 4
-short 2
-ptr 4
-Bool 4
-Atom 4
-Window 4
-XExtData.number 0
-XExtData.next 4
-XExtData.free_private 8
-XExtData.private_data 12
-XExtData 16
-XIMStringConversionCallbackStruct.position 0
-XIMStringConversionCallbackStruct.direction 4
-XIMStringConversionCallbackStruct.operation 8
-XIMStringConversionCallbackStruct.factor 10
-XIMStringConversionCallbackStruct.text 12
-XIMStringConversionCallbackStruct 16
-XkbNewKeyboardNotifyEvent.type 0
-XkbNewKeyboardNotifyEvent.serial 4
-XkbNewKeyboardNotifyEvent.send_event 8
-XkbNewKeyboardNotifyEvent.display 12
-XkbNewKeyboardNotifyEvent.time 16
-XkbNewKeyboardNotifyEvent.xkb_type 20
-XkbNewKeyboardNotifyEvent.device 24
-XkbNewKeyboardNotifyEvent.old_device 28
-XkbNewKeyboardNotifyEvent.min_key_code 32
-XkbNewKeyboardNotifyEvent.max_key_code 36
-XkbNewKeyboardNotifyEvent.old_min_key_code 40
-XkbNewKeyboardNotifyEvent.old_max_key_code 44
-XkbNewKeyboardNotifyEvent.changed 48
-XkbNewKeyboardNotifyEvent.req_major 52
-XkbNewKeyboardNotifyEvent.req_minor 53
-XkbNewKeyboardNotifyEvent 56
-XTimeCoord.time 0
-XTimeCoord.x 4
-XTimeCoord.y 6
-XTimeCoord 8
-XkbCompatMapNotifyEvent.type 0
-XkbCompatMapNotifyEvent.serial 4
-XkbCompatMapNotifyEvent.send_event 8
-XkbCompatMapNotifyEvent.display 12
-XkbCompatMapNotifyEvent.time 16
-XkbCompatMapNotifyEvent.xkb_type 20
-XkbCompatMapNotifyEvent.device 24
-XkbCompatMapNotifyEvent.changed_groups 28
-XkbCompatMapNotifyEvent.first_si 32
-XkbCompatMapNotifyEvent.num_si 36
-XkbCompatMapNotifyEvent.num_total_si 40
-XkbCompatMapNotifyEvent 44
-XIMStatusDrawCallbackStruct.type 0
-XIMStatusDrawCallbackStruct.data 4
-XIMStatusDrawCallbackStruct 8
-XKeyboardControl.key_click_percent 0
-XKeyboardControl.bell_percent 4
-XKeyboardControl.bell_pitch 8
-XKeyboardControl.bell_duration 12
-XKeyboardControl.led 16
-XKeyboardControl.led_mode 20
-XKeyboardControl.key 24
-XKeyboardControl.auto_repeat_mode 28
-XKeyboardControl 32
-XSelectionClearEvent.type 0
-XSelectionClearEvent.serial 4
-XSelectionClearEvent.send_event 8
-XSelectionClearEvent.display 12
-XSelectionClearEvent.window 16
-XSelectionClearEvent.selection 20
-XSelectionClearEvent.time 24
-XSelectionClearEvent 28
-XWindowChanges.x 0
-XWindowChanges.y 4
-XWindowChanges.width 8
-XWindowChanges.height 12
-XWindowChanges.border_width 16
-XWindowChanges.sibling 20
-XWindowChanges.stack_mode 24
-XWindowChanges 28
-XIMPreeditCaretCallbackStruct.position 0
-XIMPreeditCaretCallbackStruct.direction 4
-XIMPreeditCaretCallbackStruct.style 8
-XIMPreeditCaretCallbackStruct 12
-XOMCharSetList.charset_count 0
-XOMCharSetList.charset_list 4
-XOMCharSetList 8
-XOMFontInfo.num_font 0
-XOMFontInfo.font_struct_list 4
-XOMFontInfo.font_name_list 8
-XOMFontInfo 12
-AwtScreenData.numConfigs 0
-AwtScreenData.root 4
-AwtScreenData.whitepixel 8
-AwtScreenData.blackpixel 12
-AwtScreenData.defaultConfig 16
-AwtScreenData.configs 20
-AwtScreenData 24
-XIMHotKeyTrigger.keysym 0
-XIMHotKeyTrigger.modifier 4
-XIMHotKeyTrigger.modifier_mask 8
-XIMHotKeyTrigger 12
-XCirculateEvent.type 0
-XCirculateEvent.serial 4
-XCirculateEvent.send_event 8
-XCirculateEvent.display 12
-XCirculateEvent.event 16
-XCirculateEvent.window 20
-XCirculateEvent.place 24
-XCirculateEvent 28
-Screen.ext_data 0
-Screen.display 4
-Screen.root 8
-Screen.width 12
-Screen.height 16
-Screen.mwidth 20
-Screen.mheight 24
-Screen.ndepths 28
-Screen.depths 32
-Screen.root_depth 36
-Screen.root_visual 40
-Screen.default_gc 44
-Screen.cmap 48
-Screen.white_pixel 52
-Screen.black_pixel 56
-Screen.max_maps 60
-Screen.min_maps 64
-Screen.backing_store 68
-Screen.save_unders 72
-Screen.root_input_mask 76
-Screen 80
-XMapRequestEvent.type 0
-XMapRequestEvent.serial 4
-XMapRequestEvent.send_event 8
-XMapRequestEvent.display 12
-XMapRequestEvent.parent 16
-XMapRequestEvent.window 20
-XMapRequestEvent 24
-XIMText.length 0
-XIMText.feedback 4
-XIMText.encoding_is_wchar 8
-XIMText.string 12
-XIMText 16
-XGraphicsExposeEvent.type 0
-XGraphicsExposeEvent.serial 4
-XGraphicsExposeEvent.send_event 8
-XGraphicsExposeEvent.display 12
-XGraphicsExposeEvent.drawable 16
-XGraphicsExposeEvent.x 20
-XGraphicsExposeEvent.y 24
-XGraphicsExposeEvent.width 28
-XGraphicsExposeEvent.height 32
-XGraphicsExposeEvent.count 36
-XGraphicsExposeEvent.major_code 40
-XGraphicsExposeEvent.minor_code 44
-XGraphicsExposeEvent 48
-XEvent.type 0
-XEvent.xany 0
-XEvent.xkey 0
-XEvent.xbutton 0
-XEvent.xmotion 0
-XEvent.xcrossing 0
-XEvent.xfocus 0
-XEvent.xexpose 0
-XEvent.xgraphicsexpose 0
-XEvent.xnoexpose 0
-XEvent.xvisibility 0
-XEvent.xcreatewindow 0
-XEvent.xdestroywindow 0
-XEvent.xunmap 0
-XEvent.xmap 0
-XEvent.xmaprequest 0
-XEvent.xreparent 0
-XEvent.xconfigure 0
-XEvent.xgravity 0
-XEvent.xresizerequest 0
-XEvent.xconfigurerequest 0
-XEvent.xcirculate 0
-XEvent.xcirculaterequest 0
-XEvent.xproperty 0
-XEvent.xselectionclear 0
-XEvent.xselectionrequest 0
-XEvent.xselection 0
-XEvent.xcolormap 0
-XEvent.xclient 0
-XEvent.xmapping 0
-XEvent.xerror 0
-XEvent.xkeymap 0
-XEvent.pad 0
-XEvent 96
-XRenderDirectFormat.red 0
-XRenderDirectFormat.redMask 2
-XRenderDirectFormat.green 4
-XRenderDirectFormat.greenMask 6
-XRenderDirectFormat.blue 8
-XRenderDirectFormat.blueMask 10
-XRenderDirectFormat.alpha 12
-XRenderDirectFormat.alphaMask 14
-XRenderDirectFormat 16
-ColorData.awt_Colors 0
-ColorData.awt_numICMcolors 4
-ColorData.awt_icmLUT 8
-ColorData.awt_icmLUT2Colors 12
-ColorData.img_grays 16
-ColorData.img_clr_tbl 20
-ColorData.img_oda_red 24
-ColorData.img_oda_green 28
-ColorData.img_oda_blue 32
-ColorData.pGrayInverseLutData 36
-ColorData.screendata 40
-ColorData 44
-XFontStruct.ext_data 0
-XFontStruct.fid 4
-XFontStruct.direction 8
-XFontStruct.min_char_or_byte2 12
-XFontStruct.max_char_or_byte2 16
-XFontStruct.min_byte1 20
-XFontStruct.max_byte1 24
-XFontStruct.all_chars_exist 28
-XFontStruct.n_properties 36
-XFontStruct.properties 40
-XFontStruct.min_bounds 44
-XFontStruct.max_bounds 56
-XFontStruct.per_char 68
-XFontStruct.ascent 72
-XFontStruct.descent 76
-XFontStruct 80
-XExtCodes.extension 0
-XExtCodes.major_opcode 4
-XExtCodes.first_event 8
-XExtCodes.first_error 12
-XExtCodes 16
-XFontSetExtents.max_ink_extent 0
-XFontSetExtents.max_logical_extent 8
-XFontSetExtents 16
-XSelectionEvent.type 0
-XSelectionEvent.serial 4
-XSelectionEvent.send_event 8
-XSelectionEvent.display 12
-XSelectionEvent.requestor 16
-XSelectionEvent.selection 20
-XSelectionEvent.target 24
-XSelectionEvent.property 28
-XSelectionEvent.time 32
-XSelectionEvent 36
-XArc.x 0
-XArc.y 2
-XArc.width 4
-XArc.height 6
-XArc.angle1 8
-XArc.angle2 10
-XArc 12
-XErrorEvent.type 0
-XErrorEvent.display 4
-XErrorEvent.resourceid 8
-XErrorEvent.serial 12
-XErrorEvent.error_code 16
-XErrorEvent.request_code 17
-XErrorEvent.minor_code 18
-XErrorEvent 20
-XConfigureRequestEvent.type 0
-XConfigureRequestEvent.serial 4
-XConfigureRequestEvent.send_event 8
-XConfigureRequestEvent.display 12
-XConfigureRequestEvent.parent 16
-XConfigureRequestEvent.window 20
-XConfigureRequestEvent.x 24
-XConfigureRequestEvent.y 28
-XConfigureRequestEvent.width 32
-XConfigureRequestEvent.height 36
-XConfigureRequestEvent.border_width 40
-XConfigureRequestEvent.above 44
-XConfigureRequestEvent.detail 48
-XConfigureRequestEvent.value_mask 52
-XConfigureRequestEvent 56
-ScreenFormat.ext_data 0
-ScreenFormat.depth 4
-ScreenFormat.bits_per_pixel 8
-ScreenFormat.scanline_pad 12
-ScreenFormat 16
-XButtonEvent.type 0
-XButtonEvent.serial 4
-XButtonEvent.send_event 8
-XButtonEvent.display 12
-XButtonEvent.window 16
-XButtonEvent.root 20
-XButtonEvent.subwindow 24
-XButtonEvent.time 28
-XButtonEvent.x 32
-XButtonEvent.y 36
-XButtonEvent.x_root 40
-XButtonEvent.y_root 44
-XButtonEvent.state 48
-XButtonEvent.button 52
-XButtonEvent.same_screen 56
-XButtonEvent 60
-XFontProp.name 0
-XFontProp.card32 4
-XFontProp 8
-XIMValuesList.count_values 0
-XIMValuesList.supported_values 4
-XIMValuesList 8
-XKeymapEvent.type 0
-XKeymapEvent.serial 4
-XKeymapEvent.send_event 8
-XKeymapEvent.display 12
-XKeymapEvent.window 16
-XKeymapEvent.key_vector 20
-XKeymapEvent 52
-XTextItem16.chars 0
-XTextItem16.nchars 4
-XTextItem16.delta 8
-XTextItem16.font 12
-XTextItem16 16
-XIMPreeditDrawCallbackStruct.caret 0
-XIMPreeditDrawCallbackStruct.chg_first 4
-XIMPreeditDrawCallbackStruct.chg_length 8
-XIMPreeditDrawCallbackStruct.text 12
-XIMPreeditDrawCallbackStruct 16
-XVisualInfo.visual 0
-XVisualInfo.visualid 4
-XVisualInfo.screen 8
-XVisualInfo.depth 12
-XVisualInfo.class 16
-XVisualInfo.red_mask 20
-XVisualInfo.green_mask 24
-XVisualInfo.blue_mask 28
-XVisualInfo.colormap_size 32
-XVisualInfo.bits_per_rgb 36
-XVisualInfo 40
-XkbControlsNotifyEvent.type 0
-XkbControlsNotifyEvent.serial 4
-XkbControlsNotifyEvent.send_event 8
-XkbControlsNotifyEvent.display 12
-XkbControlsNotifyEvent.time 16
-XkbControlsNotifyEvent.xkb_type 20
-XkbControlsNotifyEvent.device 24
-XkbControlsNotifyEvent.changed_ctrls 28
-XkbControlsNotifyEvent.enabled_ctrls 32
-XkbControlsNotifyEvent.enabled_ctrl_changes 36
-XkbControlsNotifyEvent.num_groups 40
-XkbControlsNotifyEvent.keycode 44
-XkbControlsNotifyEvent.event_type 45
-XkbControlsNotifyEvent.req_major 46
-XkbControlsNotifyEvent.req_minor 47
-XkbControlsNotifyEvent 48
-PropMwmHints.flags 0
-PropMwmHints.functions 4
-PropMwmHints.decorations 8
-PropMwmHints.inputMode 12
-PropMwmHints.status 16
-PropMwmHints 20
-XClientMessageEvent.type 0
-XClientMessageEvent.serial 4
-XClientMessageEvent.send_event 8
-XClientMessageEvent.display 12
-XClientMessageEvent.window 16
-XClientMessageEvent.message_type 20
-XClientMessageEvent.format 24
-XClientMessageEvent.data 28
-XClientMessageEvent 48
-XAnyEvent.type 0
-XAnyEvent.serial 4
-XAnyEvent.send_event 8
-XAnyEvent.display 12
-XAnyEvent.window 16
-XAnyEvent 20
-XkbIndicatorNotifyEvent.type 0
-XkbIndicatorNotifyEvent.serial 4
-XkbIndicatorNotifyEvent.send_event 8
-XkbIndicatorNotifyEvent.display 12
-XkbIndicatorNotifyEvent.time 16
-XkbIndicatorNotifyEvent.xkb_type 20
-XkbIndicatorNotifyEvent.device 24
-XkbIndicatorNotifyEvent.changed 28
-XkbIndicatorNotifyEvent.state 32
-XkbIndicatorNotifyEvent 36
-XIMPreeditStateNotifyCallbackStruct.state 0
-XIMPreeditStateNotifyCallbackStruct 4
-XkbAnyEvent.type 0
-XkbAnyEvent.serial 4
-XkbAnyEvent.send_event 8
-XkbAnyEvent.display 12
-XkbAnyEvent.time 16
-XkbAnyEvent.xkb_type 20
-XkbAnyEvent.device 24
-XkbAnyEvent 28
-XMotionEvent.type 0
-XMotionEvent.serial 4
-XMotionEvent.send_event 8
-XMotionEvent.display 12
-XMotionEvent.window 16
-XMotionEvent.root 20
-XMotionEvent.subwindow 24
-XMotionEvent.time 28
-XMotionEvent.x 32
-XMotionEvent.y 36
-XMotionEvent.x_root 40
-XMotionEvent.y_root 44
-XMotionEvent.state 48
-XMotionEvent.is_hint 52
-XMotionEvent.same_screen 56
-XMotionEvent 60
-XIMHotKeyTriggers.num_hot_key 0
-XIMHotKeyTriggers.key 4
-XIMHotKeyTriggers 8
-XIMStyles.count_styles 0
-XIMStyles.supported_styles 4
-XIMStyles 8
-XkbExtensionDeviceNotifyEvent.type 0
-XkbExtensionDeviceNotifyEvent.serial 4
-XkbExtensionDeviceNotifyEvent.send_event 8
-XkbExtensionDeviceNotifyEvent.display 12
-XkbExtensionDeviceNotifyEvent.time 16
-XkbExtensionDeviceNotifyEvent.xkb_type 20
-XkbExtensionDeviceNotifyEvent.device 24
-XkbExtensionDeviceNotifyEvent.reason 28
-XkbExtensionDeviceNotifyEvent.supported 32
-XkbExtensionDeviceNotifyEvent.unsupported 36
-XkbExtensionDeviceNotifyEvent.first_btn 40
-XkbExtensionDeviceNotifyEvent.num_btns 44
-XkbExtensionDeviceNotifyEvent.leds_defined 48
-XkbExtensionDeviceNotifyEvent.led_state 52
-XkbExtensionDeviceNotifyEvent.led_class 56
-XkbExtensionDeviceNotifyEvent.led_id 60
-XkbExtensionDeviceNotifyEvent 64
-XwcTextItem.chars 0
-XwcTextItem.nchars 4
-XwcTextItem.delta 8
-XwcTextItem.font_set 12
-XwcTextItem 16
-XClassHint.res_name 0
-XClassHint.res_class 4
-XClassHint 8
-XChar2b.byte1 0
-XChar2b.byte2 1
-XChar2b 2
-XSetWindowAttributes.background_pixmap 0
-XSetWindowAttributes.background_pixel 4
-XSetWindowAttributes.border_pixmap 8
-XSetWindowAttributes.border_pixel 12
-XSetWindowAttributes.bit_gravity 16
-XSetWindowAttributes.win_gravity 20
-XSetWindowAttributes.backing_store 24
-XSetWindowAttributes.backing_planes 28
-XSetWindowAttributes.backing_pixel 32
-XSetWindowAttributes.save_under 36
-XSetWindowAttributes.event_mask 40
-XSetWindowAttributes.do_not_propagate_mask 44
-XSetWindowAttributes.override_redirect 48
-XSetWindowAttributes.colormap 52
-XSetWindowAttributes.cursor 56
-XSetWindowAttributes 60
-XRenderPictFormat.id 0
-XRenderPictFormat.type 4
-XRenderPictFormat.depth 8
-XRenderPictFormat.direct 12
-XRenderPictFormat.colormap 28
-XRenderPictFormat 32
-XReparentEvent.type 0
-XReparentEvent.serial 4
-XReparentEvent.send_event 8
-XReparentEvent.display 12
-XReparentEvent.event 16
-XReparentEvent.window 20
-XReparentEvent.parent 24
-XReparentEvent.x 28
-XReparentEvent.y 32
-XReparentEvent.override_redirect 36
-XReparentEvent 40
-XCirculateRequestEvent.type 0
-XCirculateRequestEvent.serial 4
-XCirculateRequestEvent.send_event 8
-XCirculateRequestEvent.display 12
-XCirculateRequestEvent.parent 16
-XCirculateRequestEvent.window 20
-XCirculateRequestEvent.place 24
-XCirculateRequestEvent 28
-XImage.width 0
-XImage.height 4
-XImage.xoffset 8
-XImage.format 12
-XImage.data 16
-XImage.byte_order 20
-XImage.bitmap_unit 24
-XImage.bitmap_bit_order 28
-XImage.bitmap_pad 32
-XImage.depth 36
-XImage.bytes_per_line 40
-XImage.bits_per_pixel 44
-XImage.red_mask 48
-XImage.green_mask 52
-XImage.blue_mask 56
-XImage.obdata 60
-XImage.f.create_image 64
-XImage.f.destroy_image 68
-XImage.f.get_pixel 72
-XImage.f.put_pixel 76
-XImage.f.sub_image 80
-XImage.f.add_pixel 84
-XImage 88
-XKeyEvent.type 0
-XKeyEvent.serial 4
-XKeyEvent.send_event 8
-XKeyEvent.display 12
-XKeyEvent.window 16
-XKeyEvent.root 20
-XKeyEvent.subwindow 24
-XKeyEvent.time 28
-XKeyEvent.x 32
-XKeyEvent.y 36
-XKeyEvent.x_root 40
-XKeyEvent.y_root 44
-XKeyEvent.state 48
-XKeyEvent.keycode 52
-XKeyEvent.same_screen 56
-XKeyEvent 60
-XkbActionMessageEvent.type 0
-XkbActionMessageEvent.serial 4
-XkbActionMessageEvent.send_event 8
-XkbActionMessageEvent.display 12
-XkbActionMessageEvent.time 16
-XkbActionMessageEvent.xkb_type 20
-XkbActionMessageEvent.device 24
-XkbActionMessageEvent.keycode 28
-XkbActionMessageEvent.press 32
-XkbActionMessageEvent.key_event_follows 36
-XkbActionMessageEvent.group 40
-XkbActionMessageEvent.mods 44
-XkbActionMessageEvent.message 48
-XkbActionMessageEvent 56
-XdbeSwapInfo.swap_window 0
-XdbeSwapInfo.swap_action 4
-XdbeSwapInfo 8
-XTextItem.chars 0
-XTextItem.nchars 4
-XTextItem.delta 8
-XTextItem.font 12
-XTextItem 16
-XModifierKeymap.max_keypermod 0
-XModifierKeymap.modifiermap 4
-XModifierKeymap 8
-XCharStruct.lbearing 0
-XCharStruct.rbearing 2
-XCharStruct.width 4
-XCharStruct.ascent 6
-XCharStruct.descent 8
-XCharStruct.attributes 10
-XCharStruct 12
-XGravityEvent.type 0
-XGravityEvent.serial 4
-XGravityEvent.send_event 8
-XGravityEvent.display 12
-XGravityEvent.event 16
-XGravityEvent.window 20
-XGravityEvent.x 24
-XGravityEvent.y 28
-XGravityEvent 32
-Visual.ext_data 0
-Visual.visualid 4
-Visual.class 8
-Visual.red_mask 12
-Visual.green_mask 16
-Visual.blue_mask 20
-Visual.bits_per_rgb 24
-Visual.map_entries 28
-Visual 32
-XOMOrientation.num_orientation 0
-XOMOrientation.orientation 4
-XOMOrientation 8
-XkbAccessXNotifyEvent.type 0
-XkbAccessXNotifyEvent.serial 4
-XkbAccessXNotifyEvent.send_event 8
-XkbAccessXNotifyEvent.display 12
-XkbAccessXNotifyEvent.time 16
-XkbAccessXNotifyEvent.xkb_type 20
-XkbAccessXNotifyEvent.device 24
-XkbAccessXNotifyEvent.detail 28
-XkbAccessXNotifyEvent.keycode 32
-XkbAccessXNotifyEvent.sk_delay 36
-XkbAccessXNotifyEvent.debounce_delay 40
-XkbAccessXNotifyEvent 44
-XWindowAttributes.x 0
-XWindowAttributes.y 4
-XWindowAttributes.width 8
-XWindowAttributes.height 12
-XWindowAttributes.border_width 16
-XWindowAttributes.depth 20
-XWindowAttributes.visual 24
-XWindowAttributes.root 28
-XWindowAttributes.class 32
-XWindowAttributes.bit_gravity 36
-XWindowAttributes.win_gravity 40
-XWindowAttributes.backing_store 44
-XWindowAttributes.backing_planes 48
-XWindowAttributes.backing_pixel 52
-XWindowAttributes.save_under 56
-XWindowAttributes.colormap 60
-XWindowAttributes.map_installed 64
-XWindowAttributes.map_state 68
-XWindowAttributes.all_event_masks 72
-XWindowAttributes.your_event_mask 76
-XWindowAttributes.do_not_propagate_mask 80
-XWindowAttributes.override_redirect 84
-XWindowAttributes.screen 88
-XWindowAttributes 92
-XmbTextItem.chars 0
-XmbTextItem.nchars 4
-XmbTextItem.delta 8
-XmbTextItem.font_set 12
-XmbTextItem 16
-XMappingEvent.type 0
-XMappingEvent.serial 4
-XMappingEvent.send_event 8
-XMappingEvent.display 12
-XMappingEvent.window 16
-XMappingEvent.request 20
-XMappingEvent.first_keycode 24
-XMappingEvent.count 28
-XMappingEvent 32
-XSizeHints.flags 0
-XSizeHints.x 4
-XSizeHints.y 8
-XSizeHints.width 12
-XSizeHints.height 16
-XSizeHints.min_width 20
-XSizeHints.min_height 24
-XSizeHints.max_width 28
-XSizeHints.max_height 32
-XSizeHints.width_inc 36
-XSizeHints.height_inc 40
-XSizeHints.min_aspect.x 44
-XSizeHints.min_aspect.y 48
-XSizeHints.max_aspect.x 52
-XSizeHints.max_aspect.y 56
-XSizeHints.base_width 60
-XSizeHints.base_height 64
-XSizeHints.win_gravity 68
-XSizeHints 72
-XUnmapEvent.type 0
-XUnmapEvent.serial 4
-XUnmapEvent.send_event 8
-XUnmapEvent.display 12
-XUnmapEvent.event 16
-XUnmapEvent.window 20
-XUnmapEvent.from_configure 24
-XUnmapEvent 28
-awtImageData.Depth 0
-awtImageData.wsImageFormat 4
-awtImageData.clrdata 16
-awtImageData.convert 48
-awtImageData 304
-XkbStateNotifyEvent.type 0
-XkbStateNotifyEvent.serial 4
-XkbStateNotifyEvent.send_event 8
-XkbStateNotifyEvent.display 12
-XkbStateNotifyEvent.time 16
-XkbStateNotifyEvent.xkb_type 20
-XkbStateNotifyEvent.device 24
-XkbStateNotifyEvent.changed 28
-XkbStateNotifyEvent.group 32
-XkbStateNotifyEvent.base_group 36
-XkbStateNotifyEvent.latched_group 40
-XkbStateNotifyEvent.locked_group 44
-XkbStateNotifyEvent.mods 48
-XkbStateNotifyEvent.base_mods 52
-XkbStateNotifyEvent.latched_mods 56
-XkbStateNotifyEvent.locked_mods 60
-XkbStateNotifyEvent.compat_state 64
-XkbStateNotifyEvent.grab_mods 68
-XkbStateNotifyEvent.compat_grab_mods 69
-XkbStateNotifyEvent.lookup_mods 70
-XkbStateNotifyEvent.compat_lookup_mods 71
-XkbStateNotifyEvent.ptr_buttons 72
-XkbStateNotifyEvent.keycode 76
-XkbStateNotifyEvent.event_type 77
-XkbStateNotifyEvent.req_major 78
-XkbStateNotifyEvent.req_minor 79
-XkbStateNotifyEvent 80
-XExposeEvent.type 0
-XExposeEvent.serial 4
-XExposeEvent.send_event 8
-XExposeEvent.display 12
-XExposeEvent.window 16
-XExposeEvent.x 20
-XExposeEvent.y 24
-XExposeEvent.width 28
-XExposeEvent.height 32
-XExposeEvent.count 36
-XExposeEvent 40
-XkbMapNotifyEvent.type 0
-XkbMapNotifyEvent.serial 4
-XkbMapNotifyEvent.send_event 8
-XkbMapNotifyEvent.display 12
-XkbMapNotifyEvent.time 16
-XkbMapNotifyEvent.xkb_type 20
-XkbMapNotifyEvent.device 24
-XkbMapNotifyEvent.changed 28
-XkbMapNotifyEvent.flags 32
-XkbMapNotifyEvent.first_type 36
-XkbMapNotifyEvent.num_types 40
-XkbMapNotifyEvent.min_key_code 44
-XkbMapNotifyEvent.max_key_code 45
-XkbMapNotifyEvent.first_key_sym 46
-XkbMapNotifyEvent.first_key_act 47
-XkbMapNotifyEvent.first_key_behavior 48
-XkbMapNotifyEvent.first_key_explicit 49
-XkbMapNotifyEvent.first_modmap_key 50
-XkbMapNotifyEvent.first_vmodmap_key 51
-XkbMapNotifyEvent.num_key_syms 52
-XkbMapNotifyEvent.num_key_acts 56
-XkbMapNotifyEvent.num_key_behaviors 60
-XkbMapNotifyEvent.num_key_explicit 64
-XkbMapNotifyEvent.num_modmap_keys 68
-XkbMapNotifyEvent.num_vmodmap_keys 72
-XkbMapNotifyEvent.vmods 76
-XkbMapNotifyEvent 80
-XGCValues.function 0
-XGCValues.plane_mask 4
-XGCValues.foreground 8
-XGCValues.background 12
-XGCValues.line_width 16
-XGCValues.line_style 20
-XGCValues.cap_style 24
-XGCValues.join_style 28
-XGCValues.fill_style 32
-XGCValues.fill_rule 36
-XGCValues.arc_mode 40
-XGCValues.tile 44
-XGCValues.stipple 48
-XGCValues.ts_x_origin 52
-XGCValues.ts_y_origin 56
-XGCValues.font 60
-XGCValues.subwindow_mode 64
-XGCValues.graphics_exposures 68
-XGCValues.clip_x_origin 72
-XGCValues.clip_y_origin 76
-XGCValues.clip_mask 80
-XGCValues.dash_offset 84
-XGCValues.dashes 88
-XGCValues 92
-XFocusChangeEvent.type 0
-XFocusChangeEvent.serial 4
-XFocusChangeEvent.send_event 8
-XFocusChangeEvent.display 12
-XFocusChangeEvent.window 16
-XFocusChangeEvent.mode 20
-XFocusChangeEvent.detail 24
-XFocusChangeEvent 28
-XPixmapFormatValues.depth 0
-XPixmapFormatValues.bits_per_pixel 4
-XPixmapFormatValues.scanline_pad 8
-XPixmapFormatValues 12
-XMapEvent.type 0
-XMapEvent.serial 4
-XMapEvent.send_event 8
-XMapEvent.display 12
-XMapEvent.event 16
-XMapEvent.window 20
-XMapEvent.override_redirect 24
-XMapEvent 28
-XkbBellNotifyEvent.type 0
-XkbBellNotifyEvent.serial 4
-XkbBellNotifyEvent.send_event 8
-XkbBellNotifyEvent.display 12
-XkbBellNotifyEvent.time 16
-XkbBellNotifyEvent.xkb_type 20
-XkbBellNotifyEvent.device 24
-XkbBellNotifyEvent.percent 28
-XkbBellNotifyEvent.pitch 32
-XkbBellNotifyEvent.duration 36
-XkbBellNotifyEvent.bell_class 40
-XkbBellNotifyEvent.bell_id 44
-XkbBellNotifyEvent.name 48
-XkbBellNotifyEvent.window 52
-XkbBellNotifyEvent.event_only 56
-XkbBellNotifyEvent 60
-XIMStringConversionText.length 0
-XIMStringConversionText.feedback 4
-XIMStringConversionText.encoding_is_wchar 8
-XIMStringConversionText.string 12
-XIMStringConversionText 16
-XKeyboardState.key_click_percent 0
-XKeyboardState.bell_percent 4
-XKeyboardState.bell_pitch 8
-XKeyboardState.bell_duration 12
-XKeyboardState.led_mask 16
-XKeyboardState.global_auto_repeat 20
-XKeyboardState.auto_repeats 24
-XKeyboardState 56
-XkbEvent.type 0
-XkbEvent.any 0
-XkbEvent.new_kbd 0
-XkbEvent.map 0
-XkbEvent.state 0
-XkbEvent.ctrls 0
-XkbEvent.indicators 0
-XkbEvent.names 0
-XkbEvent.compat 0
-XkbEvent.bell 0
-XkbEvent.message 0
-XkbEvent.accessx 0
-XkbEvent.device 0
-XkbEvent.core 0
-XkbEvent 96
-XPoint.x 0
-XPoint.y 2
-XPoint 4
-XSegment.x1 0
-XSegment.y1 2
-XSegment.x2 4
-XSegment.y2 6
-XSegment 8
-XIconSize.min_width 0
-XIconSize.min_height 4
-XIconSize.max_width 8
-XIconSize.max_height 12
-XIconSize.width_inc 16
-XIconSize.height_inc 20
-XIconSize 24
-XIMCallback.client_data 0
-XIMCallback.callback 4
-XIMCallback 8
-XConfigureEvent.type 0
-XConfigureEvent.serial 4
-XConfigureEvent.send_event 8
-XConfigureEvent.display 12
-XConfigureEvent.event 16
-XConfigureEvent.window 20
-XConfigureEvent.x 24
-XConfigureEvent.y 28
-XConfigureEvent.width 32
-XConfigureEvent.height 36
-XConfigureEvent.border_width 40
-XConfigureEvent.above 44
-XConfigureEvent.override_redirect 48
-XConfigureEvent 52
-XRectangle.x 0
-XRectangle.y 2
-XRectangle.width 4
-XRectangle.height 6
-XRectangle 8
-XkbNamesNotifyEvent.type 0
-XkbNamesNotifyEvent.serial 4
-XkbNamesNotifyEvent.send_event 8
-XkbNamesNotifyEvent.display 12
-XkbNamesNotifyEvent.time 16
-XkbNamesNotifyEvent.xkb_type 20
-XkbNamesNotifyEvent.device 24
-XkbNamesNotifyEvent.changed 28
-XkbNamesNotifyEvent.first_type 32
-XkbNamesNotifyEvent.num_types 36
-XkbNamesNotifyEvent.first_lvl 40
-XkbNamesNotifyEvent.num_lvls 44
-XkbNamesNotifyEvent.num_aliases 48
-XkbNamesNotifyEvent.num_radio_groups 52
-XkbNamesNotifyEvent.changed_vmods 56
-XkbNamesNotifyEvent.changed_groups 60
-XkbNamesNotifyEvent.changed_indicators 64
-XkbNamesNotifyEvent.first_key 68
-XkbNamesNotifyEvent.num_keys 72
-XkbNamesNotifyEvent 76
-XCreateWindowEvent.type 0
-XCreateWindowEvent.serial 4
-XCreateWindowEvent.send_event 8
-XCreateWindowEvent.display 12
-XCreateWindowEvent.parent 16
-XCreateWindowEvent.window 20
-XCreateWindowEvent.x 24
-XCreateWindowEvent.y 28
-XCreateWindowEvent.width 32
-XCreateWindowEvent.height 36
-XCreateWindowEvent.border_width 40
-XCreateWindowEvent.override_redirect 44
-XCreateWindowEvent 48
-XVisibilityEvent.type 0
-XVisibilityEvent.serial 4
-XVisibilityEvent.send_event 8
-XVisibilityEvent.display 12
-XVisibilityEvent.window 16
-XVisibilityEvent.state 20
-XVisibilityEvent 24
-XWMHints.flags 0
-XWMHints.initial_state 8
-XWMHints.icon_pixmap 12
-XWMHints.icon_window 16
-XWMHints.icon_x 20
-XWMHints.icon_y 24
-XWMHints.icon_mask 28
-XWMHints.input 4
-XWMHints.window_group 32
-XWMHints 36
-XCrossingEvent.type 0
-XCrossingEvent.serial 4
-XCrossingEvent.send_event 8
-XCrossingEvent.display 12
-XCrossingEvent.window 16
-XCrossingEvent.root 20
-XCrossingEvent.subwindow 24
-XCrossingEvent.time 28
-XCrossingEvent.x 32
-XCrossingEvent.y 36
-XCrossingEvent.x_root 40
-XCrossingEvent.y_root 44
-XCrossingEvent.mode 48
-XCrossingEvent.detail 52
-XCrossingEvent.same_screen 56
-XCrossingEvent.focus 60
-XCrossingEvent.state 64
-XCrossingEvent 68
-XSelectionRequestEvent.type 0
-XSelectionRequestEvent.serial 4
-XSelectionRequestEvent.send_event 8
-XSelectionRequestEvent.display 12
-XSelectionRequestEvent.owner 16
-XSelectionRequestEvent.requestor 20
-XSelectionRequestEvent.selection 24
-XSelectionRequestEvent.target 28
-XSelectionRequestEvent.property 32
-XSelectionRequestEvent.time 36
-XSelectionRequestEvent 40
-XNoExposeEvent.type 0
-XNoExposeEvent.serial 4
-XNoExposeEvent.send_event 8
-XNoExposeEvent.display 12
-XNoExposeEvent.drawable 16
-XNoExposeEvent.major_code 20
-XNoExposeEvent.minor_code 24
-XNoExposeEvent 28
-XHostAddress.family 0
-XHostAddress.length 4
-XHostAddress.address 8
-XHostAddress 12
-XColormapEvent.type 0
-XColormapEvent.serial 4
-XColormapEvent.send_event 8
-XColormapEvent.display 12
-XColormapEvent.window 16
-XColormapEvent.colormap 20
-XColormapEvent.new 24
-XColormapEvent.state 28
-XColormapEvent 32
-ColorEntry.r 0
-ColorEntry.g 1
-ColorEntry.b 2
-ColorEntry.flags 3
-ColorEntry 4
-XResizeRequestEvent.type 0
-XResizeRequestEvent.serial 4
-XResizeRequestEvent.send_event 8
-XResizeRequestEvent.display 12
-XResizeRequestEvent.window 16
-XResizeRequestEvent.width 20
-XResizeRequestEvent.height 24
-XResizeRequestEvent 28
-Depth.depth 0
-Depth.nvisuals 4
-Depth.visuals 8
-Depth 12
-XPropertyEvent.type 0
-XPropertyEvent.serial 4
-XPropertyEvent.send_event 8
-XPropertyEvent.display 12
-XPropertyEvent.window 16
-XPropertyEvent.atom 20
-XPropertyEvent.time 24
-XPropertyEvent.state 28
-XPropertyEvent 32
-XDestroyWindowEvent.type 0
-XDestroyWindowEvent.serial 4
-XDestroyWindowEvent.send_event 8
-XDestroyWindowEvent.display 12
-XDestroyWindowEvent.event 16
-XDestroyWindowEvent.window 20
-XDestroyWindowEvent 24
-XStandardColormap.colormap 0
-XStandardColormap.red_max 4
-XStandardColormap.red_mult 8
-XStandardColormap.green_max 12
-XStandardColormap.green_mult 16
-XStandardColormap.blue_max 20
-XStandardColormap.blue_mult 24
-XStandardColormap.base_pixel 28
-XStandardColormap.visualid 32
-XStandardColormap.killid 36
-XStandardColormap 40
-XComposeStatus.compose_ptr 0
-XComposeStatus.chars_matched 4
-XComposeStatus 8
-AwtGraphicsConfigData.awt_depth 0
-AwtGraphicsConfigData.awt_cmap 4
-AwtGraphicsConfigData.awt_visInfo 8
-AwtGraphicsConfigData.awt_num_colors 48
-AwtGraphicsConfigData.awtImage 52
-AwtGraphicsConfigData.AwtColorMatch 56
-AwtGraphicsConfigData.monoImage 60
-AwtGraphicsConfigData.monoPixmap 64
-AwtGraphicsConfigData.monoPixmapWidth 68
-AwtGraphicsConfigData.monoPixmapHeight 72
-AwtGraphicsConfigData.monoPixmapGC 76
-AwtGraphicsConfigData.pixelStride 80
-AwtGraphicsConfigData.color_data 84
-AwtGraphicsConfigData.glxInfo 88
-AwtGraphicsConfigData.isTranslucencySupported 92
-AwtGraphicsConfigData.renderPictFormat 96
-AwtGraphicsConfigData 128
-XColor.pixel 0
-XColor.red 4
-XColor.green 6
-XColor.blue 8
-XColor.flags 10
-XColor.pad 11
-XColor 12
-XTextProperty.value 0
-XTextProperty.encoding 4
-XTextProperty.format 8
-XTextProperty.nitems 12
-XTextProperty 16
--- a/jdk/src/solaris/classes/sun/awt/X11/generator/sizes.64 Mon Feb 17 11:36:40 2014 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1016 +0,0 @@
-long 8
-int 4
-short 2
-ptr 8
-Bool 4
-Atom 8
-Window 8
-XExtData.number 0
-XExtData.next 8
-XExtData.free_private 16
-XExtData.private_data 24
-XExtData 32
-XIMStringConversionCallbackStruct.position 0
-XIMStringConversionCallbackStruct.direction 4
-XIMStringConversionCallbackStruct.operation 8
-XIMStringConversionCallbackStruct.factor 10
-XIMStringConversionCallbackStruct.text 16
-XIMStringConversionCallbackStruct 24
-XkbNewKeyboardNotifyEvent.type 0
-XkbNewKeyboardNotifyEvent.serial 8
-XkbNewKeyboardNotifyEvent.send_event 16
-XkbNewKeyboardNotifyEvent.display 24
-XkbNewKeyboardNotifyEvent.time 32
-XkbNewKeyboardNotifyEvent.xkb_type 40
-XkbNewKeyboardNotifyEvent.device 44
-XkbNewKeyboardNotifyEvent.old_device 48
-XkbNewKeyboardNotifyEvent.min_key_code 52
-XkbNewKeyboardNotifyEvent.max_key_code 56
-XkbNewKeyboardNotifyEvent.old_min_key_code 60
-XkbNewKeyboardNotifyEvent.old_max_key_code 64
-XkbNewKeyboardNotifyEvent.changed 68
-XkbNewKeyboardNotifyEvent.req_major 72
-XkbNewKeyboardNotifyEvent.req_minor 73
-XkbNewKeyboardNotifyEvent 80
-XTimeCoord.time 0
-XTimeCoord.x 8
-XTimeCoord.y 10
-XTimeCoord 16
-XkbCompatMapNotifyEvent.type 0
-XkbCompatMapNotifyEvent.serial 8
-XkbCompatMapNotifyEvent.send_event 16
-XkbCompatMapNotifyEvent.display 24
-XkbCompatMapNotifyEvent.time 32
-XkbCompatMapNotifyEvent.xkb_type 40
-XkbCompatMapNotifyEvent.device 44
-XkbCompatMapNotifyEvent.changed_groups 48
-XkbCompatMapNotifyEvent.first_si 52
-XkbCompatMapNotifyEvent.num_si 56
-XkbCompatMapNotifyEvent.num_total_si 60
-XkbCompatMapNotifyEvent 64
-XIMStatusDrawCallbackStruct.type 0
-XIMStatusDrawCallbackStruct.data 8
-XIMStatusDrawCallbackStruct 16
-XKeyboardControl.key_click_percent 0
-XKeyboardControl.bell_percent 4
-XKeyboardControl.bell_pitch 8
-XKeyboardControl.bell_duration 12
-XKeyboardControl.led 16
-XKeyboardControl.led_mode 20
-XKeyboardControl.key 24
-XKeyboardControl.auto_repeat_mode 28
-XKeyboardControl 32
-XSelectionClearEvent.type 0
-XSelectionClearEvent.serial 8
-XSelectionClearEvent.send_event 16
-XSelectionClearEvent.display 24
-XSelectionClearEvent.window 32
-XSelectionClearEvent.selection 40
-XSelectionClearEvent.time 48
-XSelectionClearEvent 56
-XWindowChanges.x 0
-XWindowChanges.y 4
-XWindowChanges.width 8
-XWindowChanges.height 12
-XWindowChanges.border_width 16
-XWindowChanges.sibling 24
-XWindowChanges.stack_mode 32
-XWindowChanges 40
-XIMPreeditCaretCallbackStruct.position 0
-XIMPreeditCaretCallbackStruct.direction 4
-XIMPreeditCaretCallbackStruct.style 8
-XIMPreeditCaretCallbackStruct 12
-XOMCharSetList.charset_count 0
-XOMCharSetList.charset_list 8
-XOMCharSetList 16
-XOMFontInfo.num_font 0
-XOMFontInfo.font_struct_list 8
-XOMFontInfo.font_name_list 16
-XOMFontInfo 24
-AwtScreenData.numConfigs 0
-AwtScreenData.root 8
-AwtScreenData.whitepixel 16
-AwtScreenData.blackpixel 24
-AwtScreenData.defaultConfig 32
-AwtScreenData.configs 40
-AwtScreenData 48
-XIMHotKeyTrigger.keysym 0
-XIMHotKeyTrigger.modifier 8
-XIMHotKeyTrigger.modifier_mask 12
-XIMHotKeyTrigger 16
-XCirculateEvent.type 0
-XCirculateEvent.serial 8
-XCirculateEvent.send_event 16
-XCirculateEvent.display 24
-XCirculateEvent.event 32
-XCirculateEvent.window 40
-XCirculateEvent.place 48
-XCirculateEvent 56
-Screen.ext_data 0
-Screen.display 8
-Screen.root 16
-Screen.width 24
-Screen.height 28
-Screen.mwidth 32
-Screen.mheight 36
-Screen.ndepths 40
-Screen.depths 48
-Screen.root_depth 56
-Screen.root_visual 64
-Screen.default_gc 72
-Screen.cmap 80
-Screen.white_pixel 88
-Screen.black_pixel 96
-Screen.max_maps 104
-Screen.min_maps 108
-Screen.backing_store 112
-Screen.save_unders 116
-Screen.root_input_mask 120
-Screen 128
-XMapRequestEvent.type 0
-XMapRequestEvent.serial 8
-XMapRequestEvent.send_event 16
-XMapRequestEvent.display 24
-XMapRequestEvent.parent 32
-XMapRequestEvent.window 40
-XMapRequestEvent 48
-XIMText.length 0
-XIMText.feedback 8
-XIMText.encoding_is_wchar 16
-XIMText.string 24
-XIMText 32
-XGraphicsExposeEvent.type 0
-XGraphicsExposeEvent.serial 8
-XGraphicsExposeEvent.send_event 16
-XGraphicsExposeEvent.display 24
-XGraphicsExposeEvent.drawable 32
-XGraphicsExposeEvent.x 40
-XGraphicsExposeEvent.y 44
-XGraphicsExposeEvent.width 48
-XGraphicsExposeEvent.height 52
-XGraphicsExposeEvent.count 56
-XGraphicsExposeEvent.major_code 60
-XGraphicsExposeEvent.minor_code 64
-XGraphicsExposeEvent 72
-XEvent.type 0
-XEvent.xany 0
-XEvent.xkey 0
-XEvent.xbutton 0
-XEvent.xmotion 0
-XEvent.xcrossing 0
-XEvent.xfocus 0
-XEvent.xexpose 0
-XEvent.xgraphicsexpose 0
-XEvent.xnoexpose 0
-XEvent.xvisibility 0
-XEvent.xcreatewindow 0
-XEvent.xdestroywindow 0
-XEvent.xunmap 0
-XEvent.xmap 0
-XEvent.xmaprequest 0
-XEvent.xreparent 0
-XEvent.xconfigure 0
-XEvent.xgravity 0
-XEvent.xresizerequest 0
-XEvent.xconfigurerequest 0
-XEvent.xcirculate 0
-XEvent.xcirculaterequest 0
-XEvent.xproperty 0
-XEvent.xselectionclear 0
-XEvent.xselectionrequest 0
-XEvent.xselection 0
-XEvent.xcolormap 0
-XEvent.xclient 0
-XEvent.xmapping 0
-XEvent.xerror 0
-XEvent.xkeymap 0
-XEvent.pad 0
-XEvent 192
-XRenderDirectFormat.red 0
-XRenderDirectFormat.redMask 2
-XRenderDirectFormat.green 4
-XRenderDirectFormat.greenMask 6
-XRenderDirectFormat.blue 8
-XRenderDirectFormat.blueMask 10
-XRenderDirectFormat.alpha 12
-XRenderDirectFormat.alphaMask 14
-XRenderDirectFormat 16
-ColorData.awt_Colors 0
-ColorData.awt_numICMcolors 8
-ColorData.awt_icmLUT 16
-ColorData.awt_icmLUT2Colors 24
-ColorData.img_grays 32
-ColorData.img_clr_tbl 40
-ColorData.img_oda_red 48
-ColorData.img_oda_green 56
-ColorData.img_oda_blue 64
-ColorData.pGrayInverseLutData 72
-ColorData.screendata 80
-ColorData 88
-XFontStruct.ext_data 0
-XFontStruct.fid 8
-XFontStruct.direction 16
-XFontStruct.min_char_or_byte2 20
-XFontStruct.max_char_or_byte2 24
-XFontStruct.min_byte1 28
-XFontStruct.max_byte1 32
-XFontStruct.all_chars_exist 36
-XFontStruct.n_properties 44
-XFontStruct.properties 48
-XFontStruct.min_bounds 56
-XFontStruct.max_bounds 68
-XFontStruct.per_char 80
-XFontStruct.ascent 88
-XFontStruct.descent 92
-XFontStruct 96
-XExtCodes.extension 0
-XExtCodes.major_opcode 4
-XExtCodes.first_event 8
-XExtCodes.first_error 12
-XExtCodes 16
-XFontSetExtents.max_ink_extent 0
-XFontSetExtents.max_logical_extent 8
-XFontSetExtents 16
-XSelectionEvent.type 0
-XSelectionEvent.serial 8
-XSelectionEvent.send_event 16
-XSelectionEvent.display 24
-XSelectionEvent.requestor 32
-XSelectionEvent.selection 40
-XSelectionEvent.target 48
-XSelectionEvent.property 56
-XSelectionEvent.time 64
-XSelectionEvent 72
-XArc.x 0
-XArc.y 2
-XArc.width 4
-XArc.height 6
-XArc.angle1 8
-XArc.angle2 10
-XArc 12
-XErrorEvent.type 0
-XErrorEvent.display 8
-XErrorEvent.resourceid 16
-XErrorEvent.serial 24
-XErrorEvent.error_code 32
-XErrorEvent.request_code 33
-XErrorEvent.minor_code 34
-XErrorEvent 40
-XConfigureRequestEvent.type 0
-XConfigureRequestEvent.serial 8
-XConfigureRequestEvent.send_event 16
-XConfigureRequestEvent.display 24
-XConfigureRequestEvent.parent 32
-XConfigureRequestEvent.window 40
-XConfigureRequestEvent.x 48
-XConfigureRequestEvent.y 52
-XConfigureRequestEvent.width 56
-XConfigureRequestEvent.height 60
-XConfigureRequestEvent.border_width 64
-XConfigureRequestEvent.above 72
-XConfigureRequestEvent.detail 80
-XConfigureRequestEvent.value_mask 88
-XConfigureRequestEvent 96
-ScreenFormat.ext_data 0
-ScreenFormat.depth 8
-ScreenFormat.bits_per_pixel 12
-ScreenFormat.scanline_pad 16
-ScreenFormat 24
-XButtonEvent.type 0
-XButtonEvent.serial 8
-XButtonEvent.send_event 16
-XButtonEvent.display 24
-XButtonEvent.window 32
-XButtonEvent.root 40
-XButtonEvent.subwindow 48
-XButtonEvent.time 56
-XButtonEvent.x 64
-XButtonEvent.y 68
-XButtonEvent.x_root 72
-XButtonEvent.y_root 76
-XButtonEvent.state 80
-XButtonEvent.button 84
-XButtonEvent.same_screen 88
-XButtonEvent 96
-XFontProp.name 0
-XFontProp.card32 8
-XFontProp 16
-XIMValuesList.count_values 0
-XIMValuesList.supported_values 8
-XIMValuesList 16
-XKeymapEvent.type 0
-XKeymapEvent.serial 8
-XKeymapEvent.send_event 16
-XKeymapEvent.display 24
-XKeymapEvent.window 32
-XKeymapEvent.key_vector 40
-XKeymapEvent 72
-XTextItem16.chars 0
-XTextItem16.nchars 8
-XTextItem16.delta 12
-XTextItem16.font 16
-XTextItem16 24
-XIMPreeditDrawCallbackStruct.caret 0
-XIMPreeditDrawCallbackStruct.chg_first 4
-XIMPreeditDrawCallbackStruct.chg_length 8
-XIMPreeditDrawCallbackStruct.text 16
-XIMPreeditDrawCallbackStruct 24
-XVisualInfo.visual 0
-XVisualInfo.visualid 8
-XVisualInfo.screen 16
-XVisualInfo.depth 20
-XVisualInfo.class 24
-XVisualInfo.red_mask 32
-XVisualInfo.green_mask 40
-XVisualInfo.blue_mask 48
-XVisualInfo.colormap_size 56
-XVisualInfo.bits_per_rgb 60
-XVisualInfo 64
-XkbControlsNotifyEvent.type 0
-XkbControlsNotifyEvent.serial 8
-XkbControlsNotifyEvent.send_event 16
-XkbControlsNotifyEvent.display 24
-XkbControlsNotifyEvent.time 32
-XkbControlsNotifyEvent.xkb_type 40
-XkbControlsNotifyEvent.device 44
-XkbControlsNotifyEvent.changed_ctrls 48
-XkbControlsNotifyEvent.enabled_ctrls 52
-XkbControlsNotifyEvent.enabled_ctrl_changes 56
-XkbControlsNotifyEvent.num_groups 60
-XkbControlsNotifyEvent.keycode 64
-XkbControlsNotifyEvent.event_type 65
-XkbControlsNotifyEvent.req_major 66
-XkbControlsNotifyEvent.req_minor 67
-XkbControlsNotifyEvent 72
-PropMwmHints.flags 0
-PropMwmHints.functions 8
-PropMwmHints.decorations 16
-PropMwmHints.inputMode 24
-PropMwmHints.status 32
-PropMwmHints 40
-XClientMessageEvent.type 0
-XClientMessageEvent.serial 8
-XClientMessageEvent.send_event 16
-XClientMessageEvent.display 24
-XClientMessageEvent.window 32
-XClientMessageEvent.message_type 40
-XClientMessageEvent.format 48
-XClientMessageEvent.data 56
-XClientMessageEvent 96
-XAnyEvent.type 0
-XAnyEvent.serial 8
-XAnyEvent.send_event 16
-XAnyEvent.display 24
-XAnyEvent.window 32
-XAnyEvent 40
-XkbIndicatorNotifyEvent.type 0
-XkbIndicatorNotifyEvent.serial 8
-XkbIndicatorNotifyEvent.send_event 16
-XkbIndicatorNotifyEvent.display 24
-XkbIndicatorNotifyEvent.time 32
-XkbIndicatorNotifyEvent.xkb_type 40
-XkbIndicatorNotifyEvent.device 44
-XkbIndicatorNotifyEvent.changed 48
-XkbIndicatorNotifyEvent.state 52
-XkbIndicatorNotifyEvent 56
-XIMPreeditStateNotifyCallbackStruct.state 0
-XIMPreeditStateNotifyCallbackStruct 8
-XkbAnyEvent.type 0
-XkbAnyEvent.serial 8
-XkbAnyEvent.send_event 16
-XkbAnyEvent.display 24
-XkbAnyEvent.time 32
-XkbAnyEvent.xkb_type 40
-XkbAnyEvent.device 44
-XkbAnyEvent 48
-XMotionEvent.type 0
-XMotionEvent.serial 8
-XMotionEvent.send_event 16
-XMotionEvent.display 24
-XMotionEvent.window 32
-XMotionEvent.root 40
-XMotionEvent.subwindow 48
-XMotionEvent.time 56
-XMotionEvent.x 64
-XMotionEvent.y 68
-XMotionEvent.x_root 72
-XMotionEvent.y_root 76
-XMotionEvent.state 80
-XMotionEvent.is_hint 84
-XMotionEvent.same_screen 88
-XMotionEvent 96
-XIMHotKeyTriggers.num_hot_key 0
-XIMHotKeyTriggers.key 8
-XIMHotKeyTriggers 16
-XIMStyles.count_styles 0
-XIMStyles.supported_styles 8
-XIMStyles 16
-XkbExtensionDeviceNotifyEvent.type 0
-XkbExtensionDeviceNotifyEvent.serial 8
-XkbExtensionDeviceNotifyEvent.send_event 16
-XkbExtensionDeviceNotifyEvent.display 24
-XkbExtensionDeviceNotifyEvent.time 32
-XkbExtensionDeviceNotifyEvent.xkb_type 40
-XkbExtensionDeviceNotifyEvent.device 44
-XkbExtensionDeviceNotifyEvent.reason 48
-XkbExtensionDeviceNotifyEvent.supported 52
-XkbExtensionDeviceNotifyEvent.unsupported 56
-XkbExtensionDeviceNotifyEvent.first_btn 60
-XkbExtensionDeviceNotifyEvent.num_btns 64
-XkbExtensionDeviceNotifyEvent.leds_defined 68
-XkbExtensionDeviceNotifyEvent.led_state 72
-XkbExtensionDeviceNotifyEvent.led_class 76
-XkbExtensionDeviceNotifyEvent.led_id 80
-XkbExtensionDeviceNotifyEvent 88
-XwcTextItem.chars 0
-XwcTextItem.nchars 8
-XwcTextItem.delta 12
-XwcTextItem.font_set 16
-XwcTextItem 24
-XClassHint.res_name 0
-XClassHint.res_class 8
-XClassHint 16
-XChar2b.byte1 0
-XChar2b.byte2 1
-XChar2b 2
-XSetWindowAttributes.background_pixmap 0
-XSetWindowAttributes.background_pixel 8
-XSetWindowAttributes.border_pixmap 16
-XSetWindowAttributes.border_pixel 24
-XSetWindowAttributes.bit_gravity 32
-XSetWindowAttributes.win_gravity 36
-XSetWindowAttributes.backing_store 40
-XSetWindowAttributes.backing_planes 48
-XSetWindowAttributes.backing_pixel 56
-XSetWindowAttributes.save_under 64
-XSetWindowAttributes.event_mask 72
-XSetWindowAttributes.do_not_propagate_mask 80
-XSetWindowAttributes.override_redirect 88
-XSetWindowAttributes.colormap 96
-XSetWindowAttributes.cursor 104
-XSetWindowAttributes 112
-XRenderPictFormat.id 0
-XRenderPictFormat.type 8
-XRenderPictFormat.depth 12
-XRenderPictFormat.direct 16
-XRenderPictFormat.colormap 32
-XRenderPictFormat 40
-XReparentEvent.type 0
-XReparentEvent.serial 8
-XReparentEvent.send_event 16
-XReparentEvent.display 24
-XReparentEvent.event 32
-XReparentEvent.window 40
-XReparentEvent.parent 48
-XReparentEvent.x 56
-XReparentEvent.y 60
-XReparentEvent.override_redirect 64
-XReparentEvent 72
-XCirculateRequestEvent.type 0
-XCirculateRequestEvent.serial 8
-XCirculateRequestEvent.send_event 16
-XCirculateRequestEvent.display 24
-XCirculateRequestEvent.parent 32
-XCirculateRequestEvent.window 40
-XCirculateRequestEvent.place 48
-XCirculateRequestEvent 56
-XImage.width 0
-XImage.height 4
-XImage.xoffset 8
-XImage.format 12
-XImage.data 16
-XImage.byte_order 24
-XImage.bitmap_unit 28
-XImage.bitmap_bit_order 32
-XImage.bitmap_pad 36
-XImage.depth 40
-XImage.bytes_per_line 44
-XImage.bits_per_pixel 48
-XImage.red_mask 56
-XImage.green_mask 64
-XImage.blue_mask 72
-XImage.obdata 80
-XImage.f.create_image 88
-XImage.f.destroy_image 96
-XImage.f.get_pixel 104
-XImage.f.put_pixel 112
-XImage.f.sub_image 120
-XImage.f.add_pixel 128
-XImage 136
-XKeyEvent.type 0
-XKeyEvent.serial 8
-XKeyEvent.send_event 16
-XKeyEvent.display 24
-XKeyEvent.window 32
-XKeyEvent.root 40
-XKeyEvent.subwindow 48
-XKeyEvent.time 56
-XKeyEvent.x 64
-XKeyEvent.y 68
-XKeyEvent.x_root 72
-XKeyEvent.y_root 76
-XKeyEvent.state 80
-XKeyEvent.keycode 84
-XKeyEvent.same_screen 88
-XKeyEvent 96
-XkbActionMessageEvent.type 0
-XkbActionMessageEvent.serial 8
-XkbActionMessageEvent.send_event 16
-XkbActionMessageEvent.display 24
-XkbActionMessageEvent.time 32
-XkbActionMessageEvent.xkb_type 40
-XkbActionMessageEvent.device 44
-XkbActionMessageEvent.keycode 48
-XkbActionMessageEvent.press 52
-XkbActionMessageEvent.key_event_follows 56
-XkbActionMessageEvent.group 60
-XkbActionMessageEvent.mods 64
-XkbActionMessageEvent.message 68
-XkbActionMessageEvent 80
-XdbeSwapInfo.swap_window 0
-XdbeSwapInfo.swap_action 8
-XdbeSwapInfo 16
-XTextItem.chars 0
-XTextItem.nchars 8
-XTextItem.delta 12
-XTextItem.font 16
-XTextItem 24
-XModifierKeymap.max_keypermod 0
-XModifierKeymap.modifiermap 8
-XModifierKeymap 16
-XCharStruct.lbearing 0
-XCharStruct.rbearing 2
-XCharStruct.width 4
-XCharStruct.ascent 6
-XCharStruct.descent 8
-XCharStruct.attributes 10
-XCharStruct 12
-XGravityEvent.type 0
-XGravityEvent.serial 8
-XGravityEvent.send_event 16
-XGravityEvent.display 24
-XGravityEvent.event 32
-XGravityEvent.window 40
-XGravityEvent.x 48
-XGravityEvent.y 52
-XGravityEvent 56
-Visual.ext_data 0
-Visual.visualid 8
-Visual.class 16
-Visual.red_mask 24
-Visual.green_mask 32
-Visual.blue_mask 40
-Visual.bits_per_rgb 48
-Visual.map_entries 52
-Visual 56
-XOMOrientation.num_orientation 0
-XOMOrientation.orientation 8
-XOMOrientation 16
-XkbAccessXNotifyEvent.type 0
-XkbAccessXNotifyEvent.serial 8
-XkbAccessXNotifyEvent.send_event 16
-XkbAccessXNotifyEvent.display 24
-XkbAccessXNotifyEvent.time 32
-XkbAccessXNotifyEvent.xkb_type 40
-XkbAccessXNotifyEvent.device 44
-XkbAccessXNotifyEvent.detail 48
-XkbAccessXNotifyEvent.keycode 52
-XkbAccessXNotifyEvent.sk_delay 56
-XkbAccessXNotifyEvent.debounce_delay 60
-XkbAccessXNotifyEvent 64
-XWindowAttributes.x 0
-XWindowAttributes.y 4
-XWindowAttributes.width 8
-XWindowAttributes.height 12
-XWindowAttributes.border_width 16
-XWindowAttributes.depth 20
-XWindowAttributes.visual 24
-XWindowAttributes.root 32
-XWindowAttributes.class 40
-XWindowAttributes.bit_gravity 44
-XWindowAttributes.win_gravity 48
-XWindowAttributes.backing_store 52
-XWindowAttributes.backing_planes 56
-XWindowAttributes.backing_pixel 64
-XWindowAttributes.save_under 72
-XWindowAttributes.colormap 80
-XWindowAttributes.map_installed 88
-XWindowAttributes.map_state 92
-XWindowAttributes.all_event_masks 96
-XWindowAttributes.your_event_mask 104
-XWindowAttributes.do_not_propagate_mask 112
-XWindowAttributes.override_redirect 120
-XWindowAttributes.screen 128
-XWindowAttributes 136
-XmbTextItem.chars 0
-XmbTextItem.nchars 8
-XmbTextItem.delta 12
-XmbTextItem.font_set 16
-XmbTextItem 24
-XMappingEvent.type 0
-XMappingEvent.serial 8
-XMappingEvent.send_event 16
-XMappingEvent.display 24
-XMappingEvent.window 32
-XMappingEvent.request 40
-XMappingEvent.first_keycode 44
-XMappingEvent.count 48
-XMappingEvent 56
-XSizeHints.flags 0
-XSizeHints.x 8
-XSizeHints.y 12
-XSizeHints.width 16
-XSizeHints.height 20
-XSizeHints.min_width 24
-XSizeHints.min_height 28
-XSizeHints.max_width 32
-XSizeHints.max_height 36
-XSizeHints.width_inc 40
-XSizeHints.height_inc 44
-XSizeHints.min_aspect.x 48
-XSizeHints.min_aspect.y 52
-XSizeHints.max_aspect.x 56
-XSizeHints.max_aspect.y 60
-XSizeHints.base_width 64
-XSizeHints.base_height 68
-XSizeHints.win_gravity 72
-XSizeHints 80
-XUnmapEvent.type 0
-XUnmapEvent.serial 8
-XUnmapEvent.send_event 16
-XUnmapEvent.display 24
-XUnmapEvent.event 32
-XUnmapEvent.window 40
-XUnmapEvent.from_configure 48
-XUnmapEvent 56
-awtImageData.Depth 0
-awtImageData.wsImageFormat 4
-awtImageData.clrdata 16
-awtImageData.convert 48
-awtImageData 560
-XkbStateNotifyEvent.type 0
-XkbStateNotifyEvent.serial 8
-XkbStateNotifyEvent.send_event 16
-XkbStateNotifyEvent.display 24
-XkbStateNotifyEvent.time 32
-XkbStateNotifyEvent.xkb_type 40
-XkbStateNotifyEvent.device 44
-XkbStateNotifyEvent.changed 48
-XkbStateNotifyEvent.group 52
-XkbStateNotifyEvent.base_group 56
-XkbStateNotifyEvent.latched_group 60
-XkbStateNotifyEvent.locked_group 64
-XkbStateNotifyEvent.mods 68
-XkbStateNotifyEvent.base_mods 72
-XkbStateNotifyEvent.latched_mods 76
-XkbStateNotifyEvent.locked_mods 80
-XkbStateNotifyEvent.compat_state 84
-XkbStateNotifyEvent.grab_mods 88
-XkbStateNotifyEvent.compat_grab_mods 89
-XkbStateNotifyEvent.lookup_mods 90
-XkbStateNotifyEvent.compat_lookup_mods 91
-XkbStateNotifyEvent.ptr_buttons 92
-XkbStateNotifyEvent.keycode 96
-XkbStateNotifyEvent.event_type 97
-XkbStateNotifyEvent.req_major 98
-XkbStateNotifyEvent.req_minor 99
-XkbStateNotifyEvent 104
-XExposeEvent.type 0
-XExposeEvent.serial 8
-XExposeEvent.send_event 16
-XExposeEvent.display 24
-XExposeEvent.window 32
-XExposeEvent.x 40
-XExposeEvent.y 44
-XExposeEvent.width 48
-XExposeEvent.height 52
-XExposeEvent.count 56
-XExposeEvent 64
-XkbMapNotifyEvent.type 0
-XkbMapNotifyEvent.serial 8
-XkbMapNotifyEvent.send_event 16
-XkbMapNotifyEvent.display 24
-XkbMapNotifyEvent.time 32
-XkbMapNotifyEvent.xkb_type 40
-XkbMapNotifyEvent.device 44
-XkbMapNotifyEvent.changed 48
-XkbMapNotifyEvent.flags 52
-XkbMapNotifyEvent.first_type 56
-XkbMapNotifyEvent.num_types 60
-XkbMapNotifyEvent.min_key_code 64
-XkbMapNotifyEvent.max_key_code 65
-XkbMapNotifyEvent.first_key_sym 66
-XkbMapNotifyEvent.first_key_act 67
-XkbMapNotifyEvent.first_key_behavior 68
-XkbMapNotifyEvent.first_key_explicit 69
-XkbMapNotifyEvent.first_modmap_key 70
-XkbMapNotifyEvent.first_vmodmap_key 71
-XkbMapNotifyEvent.num_key_syms 72
-XkbMapNotifyEvent.num_key_acts 76
-XkbMapNotifyEvent.num_key_behaviors 80
-XkbMapNotifyEvent.num_key_explicit 84
-XkbMapNotifyEvent.num_modmap_keys 88
-XkbMapNotifyEvent.num_vmodmap_keys 92
-XkbMapNotifyEvent.vmods 96
-XkbMapNotifyEvent 104
-XGCValues.function 0
-XGCValues.plane_mask 8
-XGCValues.foreground 16
-XGCValues.background 24
-XGCValues.line_width 32
-XGCValues.line_style 36
-XGCValues.cap_style 40
-XGCValues.join_style 44
-XGCValues.fill_style 48
-XGCValues.fill_rule 52
-XGCValues.arc_mode 56
-XGCValues.tile 64
-XGCValues.stipple 72
-XGCValues.ts_x_origin 80
-XGCValues.ts_y_origin 84
-XGCValues.font 88
-XGCValues.subwindow_mode 96
-XGCValues.graphics_exposures 100
-XGCValues.clip_x_origin 104
-XGCValues.clip_y_origin 108
-XGCValues.clip_mask 112
-XGCValues.dash_offset 120
-XGCValues.dashes 124
-XGCValues 128
-XFocusChangeEvent.type 0
-XFocusChangeEvent.serial 8
-XFocusChangeEvent.send_event 16
-XFocusChangeEvent.display 24
-XFocusChangeEvent.window 32
-XFocusChangeEvent.mode 40
-XFocusChangeEvent.detail 44
-XFocusChangeEvent 48
-XPixmapFormatValues.depth 0
-XPixmapFormatValues.bits_per_pixel 4
-XPixmapFormatValues.scanline_pad 8
-XPixmapFormatValues 12
-XMapEvent.type 0
-XMapEvent.serial 8
-XMapEvent.send_event 16
-XMapEvent.display 24
-XMapEvent.event 32
-XMapEvent.window 40
-XMapEvent.override_redirect 48
-XMapEvent 56
-XkbBellNotifyEvent.type 0
-XkbBellNotifyEvent.serial 8
-XkbBellNotifyEvent.send_event 16
-XkbBellNotifyEvent.display 24
-XkbBellNotifyEvent.time 32
-XkbBellNotifyEvent.xkb_type 40
-XkbBellNotifyEvent.device 44
-XkbBellNotifyEvent.percent 48
-XkbBellNotifyEvent.pitch 52
-XkbBellNotifyEvent.duration 56
-XkbBellNotifyEvent.bell_class 60
-XkbBellNotifyEvent.bell_id 64
-XkbBellNotifyEvent.name 72
-XkbBellNotifyEvent.window 80
-XkbBellNotifyEvent.event_only 88
-XkbBellNotifyEvent 96
-XIMStringConversionText.length 0
-XIMStringConversionText.feedback 8
-XIMStringConversionText.encoding_is_wchar 16
-XIMStringConversionText.string 24
-XIMStringConversionText 32
-XKeyboardState.key_click_percent 0
-XKeyboardState.bell_percent 4
-XKeyboardState.bell_pitch 8
-XKeyboardState.bell_duration 12
-XKeyboardState.led_mask 16
-XKeyboardState.global_auto_repeat 24
-XKeyboardState.auto_repeats 28
-XKeyboardState 64
-XkbEvent.type 0
-XkbEvent.any 0
-XkbEvent.new_kbd 0
-XkbEvent.map 0
-XkbEvent.state 0
-XkbEvent.ctrls 0
-XkbEvent.indicators 0
-XkbEvent.names 0
-XkbEvent.compat 0
-XkbEvent.bell 0
-XkbEvent.message 0
-XkbEvent.accessx 0
-XkbEvent.device 0
-XkbEvent.core 0
-XkbEvent 192
-XPoint.x 0
-XPoint.y 2
-XPoint 4
-XSegment.x1 0
-XSegment.y1 2
-XSegment.x2 4
-XSegment.y2 6
-XSegment 8
-XIconSize.min_width 0
-XIconSize.min_height 4
-XIconSize.max_width 8
-XIconSize.max_height 12
-XIconSize.width_inc 16
-XIconSize.height_inc 20
-XIconSize 24
-XIMCallback.client_data 0
-XIMCallback.callback 8
-XIMCallback 16
-XConfigureEvent.type 0
-XConfigureEvent.serial 8
-XConfigureEvent.send_event 16
-XConfigureEvent.display 24
-XConfigureEvent.event 32
-XConfigureEvent.window 40
-XConfigureEvent.x 48
-XConfigureEvent.y 52
-XConfigureEvent.width 56
-XConfigureEvent.height 60
-XConfigureEvent.border_width 64
-XConfigureEvent.above 72
-XConfigureEvent.override_redirect 80
-XConfigureEvent 88
-XRectangle.x 0
-XRectangle.y 2
-XRectangle.width 4
-XRectangle.height 6
-XRectangle 8
-XkbNamesNotifyEvent.type 0
-XkbNamesNotifyEvent.serial 8
-XkbNamesNotifyEvent.send_event 16
-XkbNamesNotifyEvent.display 24
-XkbNamesNotifyEvent.time 32
-XkbNamesNotifyEvent.xkb_type 40
-XkbNamesNotifyEvent.device 44
-XkbNamesNotifyEvent.changed 48
-XkbNamesNotifyEvent.first_type 52
-XkbNamesNotifyEvent.num_types 56
-XkbNamesNotifyEvent.first_lvl 60
-XkbNamesNotifyEvent.num_lvls 64
-XkbNamesNotifyEvent.num_aliases 68
-XkbNamesNotifyEvent.num_radio_groups 72
-XkbNamesNotifyEvent.changed_vmods 76
-XkbNamesNotifyEvent.changed_groups 80
-XkbNamesNotifyEvent.changed_indicators 84
-XkbNamesNotifyEvent.first_key 88
-XkbNamesNotifyEvent.num_keys 92
-XkbNamesNotifyEvent 96
-XCreateWindowEvent.type 0
-XCreateWindowEvent.serial 8
-XCreateWindowEvent.send_event 16
-XCreateWindowEvent.display 24
-XCreateWindowEvent.parent 32
-XCreateWindowEvent.window 40
-XCreateWindowEvent.x 48
-XCreateWindowEvent.y 52
-XCreateWindowEvent.width 56
-XCreateWindowEvent.height 60
-XCreateWindowEvent.border_width 64
-XCreateWindowEvent.override_redirect 68
-XCreateWindowEvent 72
-XVisibilityEvent.type 0
-XVisibilityEvent.serial 8
-XVisibilityEvent.send_event 16
-XVisibilityEvent.display 24
-XVisibilityEvent.window 32
-XVisibilityEvent.state 40
-XVisibilityEvent 48
-XWMHints.flags 0
-XWMHints.initial_state 12
-XWMHints.icon_pixmap 16
-XWMHints.icon_window 24
-XWMHints.icon_x 32
-XWMHints.icon_y 36
-XWMHints.icon_mask 40
-XWMHints.input 8
-XWMHints.window_group 48
-XWMHints 56
-XCrossingEvent.type 0
-XCrossingEvent.serial 8
-XCrossingEvent.send_event 16
-XCrossingEvent.display 24
-XCrossingEvent.window 32
-XCrossingEvent.root 40
-XCrossingEvent.subwindow 48
-XCrossingEvent.time 56
-XCrossingEvent.x 64
-XCrossingEvent.y 68
-XCrossingEvent.x_root 72
-XCrossingEvent.y_root 76
-XCrossingEvent.mode 80
-XCrossingEvent.detail 84
-XCrossingEvent.same_screen 88
-XCrossingEvent.focus 92
-XCrossingEvent.state 96
-XCrossingEvent 104
-XSelectionRequestEvent.type 0
-XSelectionRequestEvent.serial 8
-XSelectionRequestEvent.send_event 16
-XSelectionRequestEvent.display 24
-XSelectionRequestEvent.owner 32
-XSelectionRequestEvent.requestor 40
-XSelectionRequestEvent.selection 48
-XSelectionRequestEvent.target 56
-XSelectionRequestEvent.property 64
-XSelectionRequestEvent.time 72
-XSelectionRequestEvent 80
-XNoExposeEvent.type 0
-XNoExposeEvent.serial 8
-XNoExposeEvent.send_event 16
-XNoExposeEvent.display 24
-XNoExposeEvent.drawable 32
-XNoExposeEvent.major_code 40
-XNoExposeEvent.minor_code 44
-XNoExposeEvent 48
-XHostAddress.family 0
-XHostAddress.length 4
-XHostAddress.address 8
-XHostAddress 16
-XColormapEvent.type 0
-XColormapEvent.serial 8
-XColormapEvent.send_event 16
-XColormapEvent.display 24
-XColormapEvent.window 32
-XColormapEvent.colormap 40
-XColormapEvent.new 48
-XColormapEvent.state 52
-XColormapEvent 56
-ColorEntry.r 0
-ColorEntry.g 1
-ColorEntry.b 2
-ColorEntry.flags 3
-ColorEntry 4
-XResizeRequestEvent.type 0
-XResizeRequestEvent.serial 8
-XResizeRequestEvent.send_event 16
-XResizeRequestEvent.display 24
-XResizeRequestEvent.window 32
-XResizeRequestEvent.width 40
-XResizeRequestEvent.height 44
-XResizeRequestEvent 48
-Depth.depth 0
-Depth.nvisuals 4
-Depth.visuals 8
-Depth 16
-XPropertyEvent.type 0
-XPropertyEvent.serial 8
-XPropertyEvent.send_event 16
-XPropertyEvent.display 24
-XPropertyEvent.window 32
-XPropertyEvent.atom 40
-XPropertyEvent.time 48
-XPropertyEvent.state 56
-XPropertyEvent 64
-XDestroyWindowEvent.type 0
-XDestroyWindowEvent.serial 8
-XDestroyWindowEvent.send_event 16
-XDestroyWindowEvent.display 24
-XDestroyWindowEvent.event 32
-XDestroyWindowEvent.window 40
-XDestroyWindowEvent 48
-XStandardColormap.colormap 0
-XStandardColormap.red_max 8
-XStandardColormap.red_mult 16
-XStandardColormap.green_max 24
-XStandardColormap.green_mult 32
-XStandardColormap.blue_max 40
-XStandardColormap.blue_mult 48
-XStandardColormap.base_pixel 56
-XStandardColormap.visualid 64
-XStandardColormap.killid 72
-XStandardColormap 80
-XComposeStatus.compose_ptr 0
-XComposeStatus.chars_matched 8
-XComposeStatus 16
-AwtGraphicsConfigData.awt_depth 0
-AwtGraphicsConfigData.awt_cmap 8
-AwtGraphicsConfigData.awt_visInfo 16
-AwtGraphicsConfigData.awt_num_colors 80
-AwtGraphicsConfigData.awtImage 88
-AwtGraphicsConfigData.AwtColorMatch 96
-AwtGraphicsConfigData.monoImage 104
-AwtGraphicsConfigData.monoPixmap 112
-AwtGraphicsConfigData.monoPixmapWidth 120
-AwtGraphicsConfigData.monoPixmapHeight 124
-AwtGraphicsConfigData.monoPixmapGC 128
-AwtGraphicsConfigData.pixelStride 136
-AwtGraphicsConfigData.color_data 144
-AwtGraphicsConfigData.glxInfo 152
-AwtGraphicsConfigData.isTranslucencySupported 160
-AwtGraphicsConfigData.renderPictFormat 168
-AwtGraphicsConfigData 208
-XColor.pixel 0
-XColor.red 8
-XColor.green 10
-XColor.blue 12
-XColor.flags 14
-XColor.pad 15
-XColor 16
-XTextProperty.value 0
-XTextProperty.encoding 8
-XTextProperty.format 16
-XTextProperty.nitems 24
-XTextProperty 32
--- a/jdk/src/solaris/classes/sun/awt/X11/generator/sizes.64-solaris-i386 Mon Feb 17 11:36:40 2014 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1016 +0,0 @@
-long 8
-int 4
-short 2
-ptr 8
-Bool 4
-Atom 8
-Window 8
-XExtData.number 0
-XExtData.next 8
-XExtData.free_private 16
-XExtData.private_data 24
-XExtData 32
-XIMStringConversionCallbackStruct.position 0
-XIMStringConversionCallbackStruct.direction 4
-XIMStringConversionCallbackStruct.operation 8
-XIMStringConversionCallbackStruct.factor 10
-XIMStringConversionCallbackStruct.text 16
-XIMStringConversionCallbackStruct 24
-XkbNewKeyboardNotifyEvent.type 0
-XkbNewKeyboardNotifyEvent.serial 8
-XkbNewKeyboardNotifyEvent.send_event 16
-XkbNewKeyboardNotifyEvent.display 24
-XkbNewKeyboardNotifyEvent.time 32
-XkbNewKeyboardNotifyEvent.xkb_type 40
-XkbNewKeyboardNotifyEvent.device 44
-XkbNewKeyboardNotifyEvent.old_device 48
-XkbNewKeyboardNotifyEvent.min_key_code 52
-XkbNewKeyboardNotifyEvent.max_key_code 56
-XkbNewKeyboardNotifyEvent.old_min_key_code 60
-XkbNewKeyboardNotifyEvent.old_max_key_code 64
-XkbNewKeyboardNotifyEvent.changed 68
-XkbNewKeyboardNotifyEvent.req_major 72
-XkbNewKeyboardNotifyEvent.req_minor 73
-XkbNewKeyboardNotifyEvent 80
-XTimeCoord.time 0
-XTimeCoord.x 8
-XTimeCoord.y 10
-XTimeCoord 16
-XkbCompatMapNotifyEvent.type 0
-XkbCompatMapNotifyEvent.serial 8
-XkbCompatMapNotifyEvent.send_event 16
-XkbCompatMapNotifyEvent.display 24
-XkbCompatMapNotifyEvent.time 32
-XkbCompatMapNotifyEvent.xkb_type 40
-XkbCompatMapNotifyEvent.device 44
-XkbCompatMapNotifyEvent.changed_groups 48
-XkbCompatMapNotifyEvent.first_si 52
-XkbCompatMapNotifyEvent.num_si 56
-XkbCompatMapNotifyEvent.num_total_si 60
-XkbCompatMapNotifyEvent 64
-XIMStatusDrawCallbackStruct.type 0
-XIMStatusDrawCallbackStruct.data 8
-XIMStatusDrawCallbackStruct 16
-XKeyboardControl.key_click_percent 0
-XKeyboardControl.bell_percent 4
-XKeyboardControl.bell_pitch 8
-XKeyboardControl.bell_duration 12
-XKeyboardControl.led 16
-XKeyboardControl.led_mode 20
-XKeyboardControl.key 24
-XKeyboardControl.auto_repeat_mode 28
-XKeyboardControl 32
-XSelectionClearEvent.type 0
-XSelectionClearEvent.serial 8
-XSelectionClearEvent.send_event 16
-XSelectionClearEvent.display 24
-XSelectionClearEvent.window 32
-XSelectionClearEvent.selection 40
-XSelectionClearEvent.time 48
-XSelectionClearEvent 56
-XWindowChanges.x 0
-XWindowChanges.y 4
-XWindowChanges.width 8
-XWindowChanges.height 12
-XWindowChanges.border_width 16
-XWindowChanges.sibling 24
-XWindowChanges.stack_mode 32
-XWindowChanges 40
-XIMPreeditCaretCallbackStruct.position 0
-XIMPreeditCaretCallbackStruct.direction 4
-XIMPreeditCaretCallbackStruct.style 8
-XIMPreeditCaretCallbackStruct 12
-XOMCharSetList.charset_count 0
-XOMCharSetList.charset_list 8
-XOMCharSetList 16
-XOMFontInfo.num_font 0
-XOMFontInfo.font_struct_list 8
-XOMFontInfo.font_name_list 16
-XOMFontInfo 24
-AwtScreenData.numConfigs 0
-AwtScreenData.root 8
-AwtScreenData.whitepixel 16
-AwtScreenData.blackpixel 24
-AwtScreenData.defaultConfig 32
-AwtScreenData.configs 40
-AwtScreenData 48
-XIMHotKeyTrigger.keysym 0
-XIMHotKeyTrigger.modifier 8
-XIMHotKeyTrigger.modifier_mask 12
-XIMHotKeyTrigger 16
-XCirculateEvent.type 0
-XCirculateEvent.serial 8
-XCirculateEvent.send_event 16
-XCirculateEvent.display 24
-XCirculateEvent.event 32
-XCirculateEvent.window 40
-XCirculateEvent.place 48
-XCirculateEvent 56
-Screen.ext_data 0
-Screen.display 8
-Screen.root 16
-Screen.width 24
-Screen.height 28
-Screen.mwidth 32
-Screen.mheight 36
-Screen.ndepths 40
-Screen.depths 48
-Screen.root_depth 56
-Screen.root_visual 64
-Screen.default_gc 72
-Screen.cmap 80
-Screen.white_pixel 88
-Screen.black_pixel 96
-Screen.max_maps 104
-Screen.min_maps 108
-Screen.backing_store 112
-Screen.save_unders 116
-Screen.root_input_mask 120
-Screen 128
-XMapRequestEvent.type 0
-XMapRequestEvent.serial 8
-XMapRequestEvent.send_event 16
-XMapRequestEvent.display 24
-XMapRequestEvent.parent 32
-XMapRequestEvent.window 40
-XMapRequestEvent 48
-XIMText.length 0
-XIMText.feedback 8
-XIMText.encoding_is_wchar 16
-XIMText.string 24
-XIMText 32
-XGraphicsExposeEvent.type 0
-XGraphicsExposeEvent.serial 8
-XGraphicsExposeEvent.send_event 16
-XGraphicsExposeEvent.display 24
-XGraphicsExposeEvent.drawable 32
-XGraphicsExposeEvent.x 40
-XGraphicsExposeEvent.y 44
-XGraphicsExposeEvent.width 48
-XGraphicsExposeEvent.height 52
-XGraphicsExposeEvent.count 56
-XGraphicsExposeEvent.major_code 60
-XGraphicsExposeEvent.minor_code 64
-XGraphicsExposeEvent 72
-XEvent.type 0
-XEvent.xany 0
-XEvent.xkey 0
-XEvent.xbutton 0
-XEvent.xmotion 0
-XEvent.xcrossing 0
-XEvent.xfocus 0
-XEvent.xexpose 0
-XEvent.xgraphicsexpose 0
-XEvent.xnoexpose 0
-XEvent.xvisibility 0
-XEvent.xcreatewindow 0
-XEvent.xdestroywindow 0
-XEvent.xunmap 0
-XEvent.xmap 0
-XEvent.xmaprequest 0
-XEvent.xreparent 0
-XEvent.xconfigure 0
-XEvent.xgravity 0
-XEvent.xresizerequest 0
-XEvent.xconfigurerequest 0
-XEvent.xcirculate 0
-XEvent.xcirculaterequest 0
-XEvent.xproperty 0
-XEvent.xselectionclear 0
-XEvent.xselectionrequest 0
-XEvent.xselection 0
-XEvent.xcolormap 0
-XEvent.xclient 0
-XEvent.xmapping 0
-XEvent.xerror 0
-XEvent.xkeymap 0
-XEvent.pad 0
-XEvent 192
-XRenderDirectFormat.red 0
-XRenderDirectFormat.redMask 2
-XRenderDirectFormat.green 4
-XRenderDirectFormat.greenMask 6
-XRenderDirectFormat.blue 8
-XRenderDirectFormat.blueMask 10
-XRenderDirectFormat.alpha 12
-XRenderDirectFormat.alphaMask 14
-XRenderDirectFormat 16
-ColorData.awt_Colors 0
-ColorData.awt_numICMcolors 8
-ColorData.awt_icmLUT 16
-ColorData.awt_icmLUT2Colors 24
-ColorData.img_grays 32
-ColorData.img_clr_tbl 40
-ColorData.img_oda_red 48
-ColorData.img_oda_green 56
-ColorData.img_oda_blue 64
-ColorData.pGrayInverseLutData 72
-ColorData.screendata 80
-ColorData 88
-XFontStruct.ext_data 0
-XFontStruct.fid 8
-XFontStruct.direction 16
-XFontStruct.min_char_or_byte2 20
-XFontStruct.max_char_or_byte2 24
-XFontStruct.min_byte1 28
-XFontStruct.max_byte1 32
-XFontStruct.all_chars_exist 36
-XFontStruct.n_properties 44
-XFontStruct.properties 48
-XFontStruct.min_bounds 56
-XFontStruct.max_bounds 68
-XFontStruct.per_char 80
-XFontStruct.ascent 88
-XFontStruct.descent 92
-XFontStruct 96
-XExtCodes.extension 0
-XExtCodes.major_opcode 4
-XExtCodes.first_event 8
-XExtCodes.first_error 12
-XExtCodes 16
-XFontSetExtents.max_ink_extent 0
-XFontSetExtents.max_logical_extent 8
-XFontSetExtents 16
-XSelectionEvent.type 0
-XSelectionEvent.serial 8
-XSelectionEvent.send_event 16
-XSelectionEvent.display 24
-XSelectionEvent.requestor 32
-XSelectionEvent.selection 40
-XSelectionEvent.target 48
-XSelectionEvent.property 56
-XSelectionEvent.time 64
-XSelectionEvent 72
-XArc.x 0
-XArc.y 2
-XArc.width 4
-XArc.height 6
-XArc.angle1 8
-XArc.angle2 10
-XArc 12
-XErrorEvent.type 0
-XErrorEvent.display 8
-XErrorEvent.resourceid 16
-XErrorEvent.serial 24
-XErrorEvent.error_code 32
-XErrorEvent.request_code 33
-XErrorEvent.minor_code 34
-XErrorEvent 40
-XConfigureRequestEvent.type 0
-XConfigureRequestEvent.serial 8
-XConfigureRequestEvent.send_event 16
-XConfigureRequestEvent.display 24
-XConfigureRequestEvent.parent 32
-XConfigureRequestEvent.window 40
-XConfigureRequestEvent.x 48
-XConfigureRequestEvent.y 52
-XConfigureRequestEvent.width 56
-XConfigureRequestEvent.height 60
-XConfigureRequestEvent.border_width 64
-XConfigureRequestEvent.above 72
-XConfigureRequestEvent.detail 80
-XConfigureRequestEvent.value_mask 88
-XConfigureRequestEvent 96
-ScreenFormat.ext_data 0
-ScreenFormat.depth 8
-ScreenFormat.bits_per_pixel 12
-ScreenFormat.scanline_pad 16
-ScreenFormat 24
-XButtonEvent.type 0
-XButtonEvent.serial 8
-XButtonEvent.send_event 16
-XButtonEvent.display 24
-XButtonEvent.window 32
-XButtonEvent.root 40
-XButtonEvent.subwindow 48
-XButtonEvent.time 56
-XButtonEvent.x 64
-XButtonEvent.y 68
-XButtonEvent.x_root 72
-XButtonEvent.y_root 76
-XButtonEvent.state 80
-XButtonEvent.button 84
-XButtonEvent.same_screen 88
-XButtonEvent 96
-XFontProp.name 0
-XFontProp.card32 8
-XFontProp 16
-XIMValuesList.count_values 0
-XIMValuesList.supported_values 8
-XIMValuesList 16
-XKeymapEvent.type 0
-XKeymapEvent.serial 8
-XKeymapEvent.send_event 16
-XKeymapEvent.display 24
-XKeymapEvent.window 32
-XKeymapEvent.key_vector 40
-XKeymapEvent 72
-XTextItem16.chars 0
-XTextItem16.nchars 8
-XTextItem16.delta 12
-XTextItem16.font 16
-XTextItem16 24
-XIMPreeditDrawCallbackStruct.caret 0
-XIMPreeditDrawCallbackStruct.chg_first 4
-XIMPreeditDrawCallbackStruct.chg_length 8
-XIMPreeditDrawCallbackStruct.text 16
-XIMPreeditDrawCallbackStruct 24
-XVisualInfo.visual 0
-XVisualInfo.visualid 8
-XVisualInfo.screen 16
-XVisualInfo.depth 20
-XVisualInfo.class 24
-XVisualInfo.red_mask 32
-XVisualInfo.green_mask 40
-XVisualInfo.blue_mask 48
-XVisualInfo.colormap_size 56
-XVisualInfo.bits_per_rgb 60
-XVisualInfo 64
-XkbControlsNotifyEvent.type 0
-XkbControlsNotifyEvent.serial 8
-XkbControlsNotifyEvent.send_event 16
-XkbControlsNotifyEvent.display 24
-XkbControlsNotifyEvent.time 32
-XkbControlsNotifyEvent.xkb_type 40
-XkbControlsNotifyEvent.device 44
-XkbControlsNotifyEvent.changed_ctrls 48
-XkbControlsNotifyEvent.enabled_ctrls 52
-XkbControlsNotifyEvent.enabled_ctrl_changes 56
-XkbControlsNotifyEvent.num_groups 60
-XkbControlsNotifyEvent.keycode 64
-XkbControlsNotifyEvent.event_type 65
-XkbControlsNotifyEvent.req_major 66
-XkbControlsNotifyEvent.req_minor 67
-XkbControlsNotifyEvent 72
-PropMwmHints.flags 0
-PropMwmHints.functions 8
-PropMwmHints.decorations 16
-PropMwmHints.inputMode 24
-PropMwmHints.status 32
-PropMwmHints 40
-XClientMessageEvent.type 0
-XClientMessageEvent.serial 8
-XClientMessageEvent.send_event 16
-XClientMessageEvent.display 24
-XClientMessageEvent.window 32
-XClientMessageEvent.message_type 40
-XClientMessageEvent.format 48
-XClientMessageEvent.data 56
-XClientMessageEvent 96
-XAnyEvent.type 0
-XAnyEvent.serial 8
-XAnyEvent.send_event 16
-XAnyEvent.display 24
-XAnyEvent.window 32
-XAnyEvent 40
-XkbIndicatorNotifyEvent.type 0
-XkbIndicatorNotifyEvent.serial 8
-XkbIndicatorNotifyEvent.send_event 16
-XkbIndicatorNotifyEvent.display 24
-XkbIndicatorNotifyEvent.time 32
-XkbIndicatorNotifyEvent.xkb_type 40
-XkbIndicatorNotifyEvent.device 44
-XkbIndicatorNotifyEvent.changed 48
-XkbIndicatorNotifyEvent.state 52
-XkbIndicatorNotifyEvent 56
-XIMPreeditStateNotifyCallbackStruct.state 0
-XIMPreeditStateNotifyCallbackStruct 8
-XkbAnyEvent.type 0
-XkbAnyEvent.serial 8
-XkbAnyEvent.send_event 16
-XkbAnyEvent.display 24
-XkbAnyEvent.time 32
-XkbAnyEvent.xkb_type 40
-XkbAnyEvent.device 44
-XkbAnyEvent 48
-XMotionEvent.type 0
-XMotionEvent.serial 8
-XMotionEvent.send_event 16
-XMotionEvent.display 24
-XMotionEvent.window 32
-XMotionEvent.root 40
-XMotionEvent.subwindow 48
-XMotionEvent.time 56
-XMotionEvent.x 64
-XMotionEvent.y 68
-XMotionEvent.x_root 72
-XMotionEvent.y_root 76
-XMotionEvent.state 80
-XMotionEvent.is_hint 84
-XMotionEvent.same_screen 88
-XMotionEvent 96
-XIMHotKeyTriggers.num_hot_key 0
-XIMHotKeyTriggers.key 8
-XIMHotKeyTriggers 16
-XIMStyles.count_styles 0
-XIMStyles.supported_styles 8
-XIMStyles 16
-XkbExtensionDeviceNotifyEvent.type 0
-XkbExtensionDeviceNotifyEvent.serial 8
-XkbExtensionDeviceNotifyEvent.send_event 16
-XkbExtensionDeviceNotifyEvent.display 24
-XkbExtensionDeviceNotifyEvent.time 32
-XkbExtensionDeviceNotifyEvent.xkb_type 40
-XkbExtensionDeviceNotifyEvent.device 44
-XkbExtensionDeviceNotifyEvent.reason 48
-XkbExtensionDeviceNotifyEvent.supported 52
-XkbExtensionDeviceNotifyEvent.unsupported 56
-XkbExtensionDeviceNotifyEvent.first_btn 60
-XkbExtensionDeviceNotifyEvent.num_btns 64
-XkbExtensionDeviceNotifyEvent.leds_defined 68
-XkbExtensionDeviceNotifyEvent.led_state 72
-XkbExtensionDeviceNotifyEvent.led_class 76
-XkbExtensionDeviceNotifyEvent.led_id 80
-XkbExtensionDeviceNotifyEvent 88
-XwcTextItem.chars 0
-XwcTextItem.nchars 8
-XwcTextItem.delta 12
-XwcTextItem.font_set 16
-XwcTextItem 24
-XClassHint.res_name 0
-XClassHint.res_class 8
-XClassHint 16
-XChar2b.byte1 0
-XChar2b.byte2 1
-XChar2b 2
-XSetWindowAttributes.background_pixmap 0
-XSetWindowAttributes.background_pixel 8
-XSetWindowAttributes.border_pixmap 16
-XSetWindowAttributes.border_pixel 24
-XSetWindowAttributes.bit_gravity 32
-XSetWindowAttributes.win_gravity 36
-XSetWindowAttributes.backing_store 40
-XSetWindowAttributes.backing_planes 48
-XSetWindowAttributes.backing_pixel 56
-XSetWindowAttributes.save_under 64
-XSetWindowAttributes.event_mask 72
-XSetWindowAttributes.do_not_propagate_mask 80
-XSetWindowAttributes.override_redirect 88
-XSetWindowAttributes.colormap 96
-XSetWindowAttributes.cursor 104
-XSetWindowAttributes 112
-XRenderPictFormat.id 0
-XRenderPictFormat.type 8
-XRenderPictFormat.depth 12
-XRenderPictFormat.direct 16
-XRenderPictFormat.colormap 32
-XRenderPictFormat 40
-XReparentEvent.type 0
-XReparentEvent.serial 8
-XReparentEvent.send_event 16
-XReparentEvent.display 24
-XReparentEvent.event 32
-XReparentEvent.window 40
-XReparentEvent.parent 48
-XReparentEvent.x 56
-XReparentEvent.y 60
-XReparentEvent.override_redirect 64
-XReparentEvent 72
-XCirculateRequestEvent.type 0
-XCirculateRequestEvent.serial 8
-XCirculateRequestEvent.send_event 16
-XCirculateRequestEvent.display 24
-XCirculateRequestEvent.parent 32
-XCirculateRequestEvent.window 40
-XCirculateRequestEvent.place 48
-XCirculateRequestEvent 56
-XImage.width 0
-XImage.height 4
-XImage.xoffset 8
-XImage.format 12
-XImage.data 16
-XImage.byte_order 24
-XImage.bitmap_unit 28
-XImage.bitmap_bit_order 32
-XImage.bitmap_pad 36
-XImage.depth 40
-XImage.bytes_per_line 44
-XImage.bits_per_pixel 48
-XImage.red_mask 56
-XImage.green_mask 64
-XImage.blue_mask 72
-XImage.obdata 80
-XImage.f.create_image 88
-XImage.f.destroy_image 96
-XImage.f.get_pixel 104
-XImage.f.put_pixel 112
-XImage.f.sub_image 120
-XImage.f.add_pixel 128
-XImage 136
-XKeyEvent.type 0
-XKeyEvent.serial 8
-XKeyEvent.send_event 16
-XKeyEvent.display 24
-XKeyEvent.window 32
-XKeyEvent.root 40
-XKeyEvent.subwindow 48
-XKeyEvent.time 56
-XKeyEvent.x 64
-XKeyEvent.y 68
-XKeyEvent.x_root 72
-XKeyEvent.y_root 76
-XKeyEvent.state 80
-XKeyEvent.keycode 84
-XKeyEvent.same_screen 88
-XKeyEvent 96
-XkbActionMessageEvent.type 0
-XkbActionMessageEvent.serial 8
-XkbActionMessageEvent.send_event 16
-XkbActionMessageEvent.display 24
-XkbActionMessageEvent.time 32
-XkbActionMessageEvent.xkb_type 40
-XkbActionMessageEvent.device 44
-XkbActionMessageEvent.keycode 48
-XkbActionMessageEvent.press 52
-XkbActionMessageEvent.key_event_follows 56
-XkbActionMessageEvent.group 60
-XkbActionMessageEvent.mods 64
-XkbActionMessageEvent.message 68
-XkbActionMessageEvent 80
-XdbeSwapInfo.swap_window 0
-XdbeSwapInfo.swap_action 8
-XdbeSwapInfo 16
-XTextItem.chars 0
-XTextItem.nchars 8
-XTextItem.delta 12
-XTextItem.font 16
-XTextItem 24
-XModifierKeymap.max_keypermod 0
-XModifierKeymap.modifiermap 8
-XModifierKeymap 16
-XCharStruct.lbearing 0
-XCharStruct.rbearing 2
-XCharStruct.width 4
-XCharStruct.ascent 6
-XCharStruct.descent 8
-XCharStruct.attributes 10
-XCharStruct 12
-XGravityEvent.type 0
-XGravityEvent.serial 8
-XGravityEvent.send_event 16
-XGravityEvent.display 24
-XGravityEvent.event 32
-XGravityEvent.window 40
-XGravityEvent.x 48
-XGravityEvent.y 52
-XGravityEvent 56
-Visual.ext_data 0
-Visual.visualid 8
-Visual.class 16
-Visual.red_mask 24
-Visual.green_mask 32
-Visual.blue_mask 40
-Visual.bits_per_rgb 48
-Visual.map_entries 52
-Visual 56
-XOMOrientation.num_orientation 0
-XOMOrientation.orientation 8
-XOMOrientation 16
-XkbAccessXNotifyEvent.type 0
-XkbAccessXNotifyEvent.serial 8
-XkbAccessXNotifyEvent.send_event 16
-XkbAccessXNotifyEvent.display 24
-XkbAccessXNotifyEvent.time 32
-XkbAccessXNotifyEvent.xkb_type 40
-XkbAccessXNotifyEvent.device 44
-XkbAccessXNotifyEvent.detail 48
-XkbAccessXNotifyEvent.keycode 52
-XkbAccessXNotifyEvent.sk_delay 56
-XkbAccessXNotifyEvent.debounce_delay 60
-XkbAccessXNotifyEvent 64
-XWindowAttributes.x 0
-XWindowAttributes.y 4
-XWindowAttributes.width 8
-XWindowAttributes.height 12
-XWindowAttributes.border_width 16
-XWindowAttributes.depth 20
-XWindowAttributes.visual 24
-XWindowAttributes.root 32
-XWindowAttributes.class 40
-XWindowAttributes.bit_gravity 44
-XWindowAttributes.win_gravity 48
-XWindowAttributes.backing_store 52
-XWindowAttributes.backing_planes 56
-XWindowAttributes.backing_pixel 64
-XWindowAttributes.save_under 72
-XWindowAttributes.colormap 80
-XWindowAttributes.map_installed 88
-XWindowAttributes.map_state 92
-XWindowAttributes.all_event_masks 96
-XWindowAttributes.your_event_mask 104
-XWindowAttributes.do_not_propagate_mask 112
-XWindowAttributes.override_redirect 120
-XWindowAttributes.screen 128
-XWindowAttributes 136
-XmbTextItem.chars 0
-XmbTextItem.nchars 8
-XmbTextItem.delta 12
-XmbTextItem.font_set 16
-XmbTextItem 24
-XMappingEvent.type 0
-XMappingEvent.serial 8
-XMappingEvent.send_event 16
-XMappingEvent.display 24
-XMappingEvent.window 32
-XMappingEvent.request 40
-XMappingEvent.first_keycode 44
-XMappingEvent.count 48
-XMappingEvent 56
-XSizeHints.flags 0
-XSizeHints.x 8
-XSizeHints.y 12
-XSizeHints.width 16
-XSizeHints.height 20
-XSizeHints.min_width 24
-XSizeHints.min_height 28
-XSizeHints.max_width 32
-XSizeHints.max_height 36
-XSizeHints.width_inc 40
-XSizeHints.height_inc 44
-XSizeHints.min_aspect.x 48
-XSizeHints.min_aspect.y 52
-XSizeHints.max_aspect.x 56
-XSizeHints.max_aspect.y 60
-XSizeHints.base_width 64
-XSizeHints.base_height 68
-XSizeHints.win_gravity 72
-XSizeHints 80
-XUnmapEvent.type 0
-XUnmapEvent.serial 8
-XUnmapEvent.send_event 16
-XUnmapEvent.display 24
-XUnmapEvent.event 32
-XUnmapEvent.window 40
-XUnmapEvent.from_configure 48
-XUnmapEvent 56
-awtImageData.Depth 0
-awtImageData.wsImageFormat 4
-awtImageData.clrdata 16
-awtImageData.convert 48
-awtImageData 560
-XkbStateNotifyEvent.type 0
-XkbStateNotifyEvent.serial 8
-XkbStateNotifyEvent.send_event 16
-XkbStateNotifyEvent.display 24
-XkbStateNotifyEvent.time 32
-XkbStateNotifyEvent.xkb_type 40
-XkbStateNotifyEvent.device 44
-XkbStateNotifyEvent.changed 48
-XkbStateNotifyEvent.group 52
-XkbStateNotifyEvent.base_group 56
-XkbStateNotifyEvent.latched_group 60
-XkbStateNotifyEvent.locked_group 64
-XkbStateNotifyEvent.mods 68
-XkbStateNotifyEvent.base_mods 72
-XkbStateNotifyEvent.latched_mods 76
-XkbStateNotifyEvent.locked_mods 80
-XkbStateNotifyEvent.compat_state 84
-XkbStateNotifyEvent.grab_mods 88
-XkbStateNotifyEvent.compat_grab_mods 89
-XkbStateNotifyEvent.lookup_mods 90
-XkbStateNotifyEvent.compat_lookup_mods 91
-XkbStateNotifyEvent.ptr_buttons 92
-XkbStateNotifyEvent.keycode 96
-XkbStateNotifyEvent.event_type 97
-XkbStateNotifyEvent.req_major 98
-XkbStateNotifyEvent.req_minor 99
-XkbStateNotifyEvent 104
-XExposeEvent.type 0
-XExposeEvent.serial 8
-XExposeEvent.send_event 16
-XExposeEvent.display 24
-XExposeEvent.window 32
-XExposeEvent.x 40
-XExposeEvent.y 44
-XExposeEvent.width 48
-XExposeEvent.height 52
-XExposeEvent.count 56
-XExposeEvent 64
-XkbMapNotifyEvent.type 0
-XkbMapNotifyEvent.serial 8
-XkbMapNotifyEvent.send_event 16
-XkbMapNotifyEvent.display 24
-XkbMapNotifyEvent.time 32
-XkbMapNotifyEvent.xkb_type 40
-XkbMapNotifyEvent.device 44
-XkbMapNotifyEvent.changed 48
-XkbMapNotifyEvent.flags 52
-XkbMapNotifyEvent.first_type 56
-XkbMapNotifyEvent.num_types 60
-XkbMapNotifyEvent.min_key_code 64
-XkbMapNotifyEvent.max_key_code 65
-XkbMapNotifyEvent.first_key_sym 66
-XkbMapNotifyEvent.first_key_act 67
-XkbMapNotifyEvent.first_key_behavior 68
-XkbMapNotifyEvent.first_key_explicit 69
-XkbMapNotifyEvent.first_modmap_key 70
-XkbMapNotifyEvent.first_vmodmap_key 71
-XkbMapNotifyEvent.num_key_syms 72
-XkbMapNotifyEvent.num_key_acts 76
-XkbMapNotifyEvent.num_key_behaviors 80
-XkbMapNotifyEvent.num_key_explicit 84
-XkbMapNotifyEvent.num_modmap_keys 88
-XkbMapNotifyEvent.num_vmodmap_keys 92
-XkbMapNotifyEvent.vmods 96
-XkbMapNotifyEvent 104
-XGCValues.function 0
-XGCValues.plane_mask 8
-XGCValues.foreground 16
-XGCValues.background 24
-XGCValues.line_width 32
-XGCValues.line_style 36
-XGCValues.cap_style 40
-XGCValues.join_style 44
-XGCValues.fill_style 48
-XGCValues.fill_rule 52
-XGCValues.arc_mode 56
-XGCValues.tile 64
-XGCValues.stipple 72
-XGCValues.ts_x_origin 80
-XGCValues.ts_y_origin 84
-XGCValues.font 88
-XGCValues.subwindow_mode 96
-XGCValues.graphics_exposures 100
-XGCValues.clip_x_origin 104
-XGCValues.clip_y_origin 108
-XGCValues.clip_mask 112
-XGCValues.dash_offset 120
-XGCValues.dashes 124
-XGCValues 128
-XFocusChangeEvent.type 0
-XFocusChangeEvent.serial 8
-XFocusChangeEvent.send_event 16
-XFocusChangeEvent.display 24
-XFocusChangeEvent.window 32
-XFocusChangeEvent.mode 40
-XFocusChangeEvent.detail 44
-XFocusChangeEvent 48
-XPixmapFormatValues.depth 0
-XPixmapFormatValues.bits_per_pixel 4
-XPixmapFormatValues.scanline_pad 8
-XPixmapFormatValues 12
-XMapEvent.type 0
-XMapEvent.serial 8
-XMapEvent.send_event 16
-XMapEvent.display 24
-XMapEvent.event 32
-XMapEvent.window 40
-XMapEvent.override_redirect 48
-XMapEvent 56
-XkbBellNotifyEvent.type 0
-XkbBellNotifyEvent.serial 8
-XkbBellNotifyEvent.send_event 16
-XkbBellNotifyEvent.display 24
-XkbBellNotifyEvent.time 32
-XkbBellNotifyEvent.xkb_type 40
-XkbBellNotifyEvent.device 44
-XkbBellNotifyEvent.percent 48
-XkbBellNotifyEvent.pitch 52
-XkbBellNotifyEvent.duration 56
-XkbBellNotifyEvent.bell_class 60
-XkbBellNotifyEvent.bell_id 64
-XkbBellNotifyEvent.name 72
-XkbBellNotifyEvent.window 80
-XkbBellNotifyEvent.event_only 88
-XkbBellNotifyEvent 96
-XIMStringConversionText.length 0
-XIMStringConversionText.feedback 8
-XIMStringConversionText.encoding_is_wchar 16
-XIMStringConversionText.string 24
-XIMStringConversionText 32
-XKeyboardState.key_click_percent 0
-XKeyboardState.bell_percent 4
-XKeyboardState.bell_pitch 8
-XKeyboardState.bell_duration 12
-XKeyboardState.led_mask 16
-XKeyboardState.global_auto_repeat 24
-XKeyboardState.auto_repeats 28
-XKeyboardState 64
-XkbEvent.type 0
-XkbEvent.any 0
-XkbEvent.new_kbd 0
-XkbEvent.map 0
-XkbEvent.state 0
-XkbEvent.ctrls 0
-XkbEvent.indicators 0
-XkbEvent.names 0
-XkbEvent.compat 0
-XkbEvent.bell 0
-XkbEvent.message 0
-XkbEvent.accessx 0
-XkbEvent.device 0
-XkbEvent.core 0
-XkbEvent 192
-XPoint.x 0
-XPoint.y 2
-XPoint 4
-XSegment.x1 0
-XSegment.y1 2
-XSegment.x2 4
-XSegment.y2 6
-XSegment 8
-XIconSize.min_width 0
-XIconSize.min_height 4
-XIconSize.max_width 8
-XIconSize.max_height 12
-XIconSize.width_inc 16
-XIconSize.height_inc 20
-XIconSize 24
-XIMCallback.client_data 0
-XIMCallback.callback 8
-XIMCallback 16
-XConfigureEvent.type 0
-XConfigureEvent.serial 8
-XConfigureEvent.send_event 16
-XConfigureEvent.display 24
-XConfigureEvent.event 32
-XConfigureEvent.window 40
-XConfigureEvent.x 48
-XConfigureEvent.y 52
-XConfigureEvent.width 56
-XConfigureEvent.height 60
-XConfigureEvent.border_width 64
-XConfigureEvent.above 72
-XConfigureEvent.override_redirect 80
-XConfigureEvent 88
-XRectangle.x 0
-XRectangle.y 2
-XRectangle.width 4
-XRectangle.height 6
-XRectangle 8
-XkbNamesNotifyEvent.type 0
-XkbNamesNotifyEvent.serial 8
-XkbNamesNotifyEvent.send_event 16
-XkbNamesNotifyEvent.display 24
-XkbNamesNotifyEvent.time 32
-XkbNamesNotifyEvent.xkb_type 40
-XkbNamesNotifyEvent.device 44
-XkbNamesNotifyEvent.changed 48
-XkbNamesNotifyEvent.first_type 52
-XkbNamesNotifyEvent.num_types 56
-XkbNamesNotifyEvent.first_lvl 60
-XkbNamesNotifyEvent.num_lvls 64
-XkbNamesNotifyEvent.num_aliases 68
-XkbNamesNotifyEvent.num_radio_groups 72
-XkbNamesNotifyEvent.changed_vmods 76
-XkbNamesNotifyEvent.changed_groups 80
-XkbNamesNotifyEvent.changed_indicators 84
-XkbNamesNotifyEvent.first_key 88
-XkbNamesNotifyEvent.num_keys 92
-XkbNamesNotifyEvent 96
-XCreateWindowEvent.type 0
-XCreateWindowEvent.serial 8
-XCreateWindowEvent.send_event 16
-XCreateWindowEvent.display 24
-XCreateWindowEvent.parent 32
-XCreateWindowEvent.window 40
-XCreateWindowEvent.x 48
-XCreateWindowEvent.y 52
-XCreateWindowEvent.width 56
-XCreateWindowEvent.height 60
-XCreateWindowEvent.border_width 64
-XCreateWindowEvent.override_redirect 68
-XCreateWindowEvent 72
-XVisibilityEvent.type 0
-XVisibilityEvent.serial 8
-XVisibilityEvent.send_event 16
-XVisibilityEvent.display 24
-XVisibilityEvent.window 32
-XVisibilityEvent.state 40
-XVisibilityEvent 48
-XWMHints.flags 0
-XWMHints.initial_state 12
-XWMHints.icon_pixmap 16
-XWMHints.icon_window 24
-XWMHints.icon_x 32
-XWMHints.icon_y 36
-XWMHints.icon_mask 40
-XWMHints.input 8
-XWMHints.window_group 48
-XWMHints 56
-XCrossingEvent.type 0
-XCrossingEvent.serial 8
-XCrossingEvent.send_event 16
-XCrossingEvent.display 24
-XCrossingEvent.window 32
-XCrossingEvent.root 40
-XCrossingEvent.subwindow 48
-XCrossingEvent.time 56
-XCrossingEvent.x 64
-XCrossingEvent.y 68
-XCrossingEvent.x_root 72
-XCrossingEvent.y_root 76
-XCrossingEvent.mode 80
-XCrossingEvent.detail 84
-XCrossingEvent.same_screen 88
-XCrossingEvent.focus 92
-XCrossingEvent.state 96
-XCrossingEvent 104
-XSelectionRequestEvent.type 0
-XSelectionRequestEvent.serial 8
-XSelectionRequestEvent.send_event 16
-XSelectionRequestEvent.display 24
-XSelectionRequestEvent.owner 32
-XSelectionRequestEvent.requestor 40
-XSelectionRequestEvent.selection 48
-XSelectionRequestEvent.target 56
-XSelectionRequestEvent.property 64
-XSelectionRequestEvent.time 72
-XSelectionRequestEvent 80
-XNoExposeEvent.type 0
-XNoExposeEvent.serial 8
-XNoExposeEvent.send_event 16
-XNoExposeEvent.display 24
-XNoExposeEvent.drawable 32
-XNoExposeEvent.major_code 40
-XNoExposeEvent.minor_code 44
-XNoExposeEvent 48
-XHostAddress.family 0
-XHostAddress.length 4
-XHostAddress.address 8
-XHostAddress 16
-XColormapEvent.type 0
-XColormapEvent.serial 8
-XColormapEvent.send_event 16
-XColormapEvent.display 24
-XColormapEvent.window 32
-XColormapEvent.colormap 40
-XColormapEvent.new 48
-XColormapEvent.state 52
-XColormapEvent 56
-ColorEntry.r 0
-ColorEntry.g 1
-ColorEntry.b 2
-ColorEntry.flags 3
-ColorEntry 4
-XResizeRequestEvent.type 0
-XResizeRequestEvent.serial 8
-XResizeRequestEvent.send_event 16
-XResizeRequestEvent.display 24
-XResizeRequestEvent.window 32
-XResizeRequestEvent.width 40
-XResizeRequestEvent.height 44
-XResizeRequestEvent 48
-Depth.depth 0
-Depth.nvisuals 4
-Depth.visuals 8
-Depth 16
-XPropertyEvent.type 0
-XPropertyEvent.serial 8
-XPropertyEvent.send_event 16
-XPropertyEvent.display 24
-XPropertyEvent.window 32
-XPropertyEvent.atom 40
-XPropertyEvent.time 48
-XPropertyEvent.state 56
-XPropertyEvent 64
-XDestroyWindowEvent.type 0
-XDestroyWindowEvent.serial 8
-XDestroyWindowEvent.send_event 16
-XDestroyWindowEvent.display 24
-XDestroyWindowEvent.event 32
-XDestroyWindowEvent.window 40
-XDestroyWindowEvent 48
-XStandardColormap.colormap 0
-XStandardColormap.red_max 8
-XStandardColormap.red_mult 16
-XStandardColormap.green_max 24
-XStandardColormap.green_mult 32
-XStandardColormap.blue_max 40
-XStandardColormap.blue_mult 48
-XStandardColormap.base_pixel 56
-XStandardColormap.visualid 64
-XStandardColormap.killid 72
-XStandardColormap 80
-XComposeStatus.compose_ptr 0
-XComposeStatus.chars_matched 8
-XComposeStatus 16
-AwtGraphicsConfigData.awt_depth 0
-AwtGraphicsConfigData.awt_cmap 8
-AwtGraphicsConfigData.awt_visInfo 16
-AwtGraphicsConfigData.awt_num_colors 80
-AwtGraphicsConfigData.awtImage 88
-AwtGraphicsConfigData.AwtColorMatch 96
-AwtGraphicsConfigData.monoImage 104
-AwtGraphicsConfigData.monoPixmap 112
-AwtGraphicsConfigData.monoPixmapWidth 120
-AwtGraphicsConfigData.monoPixmapHeight 124
-AwtGraphicsConfigData.monoPixmapGC 128
-AwtGraphicsConfigData.pixelStride 136
-AwtGraphicsConfigData.color_data 144
-AwtGraphicsConfigData.glxInfo 152
-AwtGraphicsConfigData.isTranslucencySupported 160
-AwtGraphicsConfigData.renderPictFormat 168
-AwtGraphicsConfigData 208
-XColor.pixel 0
-XColor.red 8
-XColor.green 10
-XColor.blue 12
-XColor.flags 14
-XColor.pad 15
-XColor 16
-XTextProperty.value 0
-XTextProperty.encoding 8
-XTextProperty.format 16
-XTextProperty.nitems 24
-XTextProperty 32
--- a/jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt Mon Feb 17 11:36:40 2014 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1040 +0,0 @@
-//
-//
-// This file is used for automated generation of java classes to wrap native structures.
-// The detail on format of this file see WrapperGenerator.java
-//
-// WARNING: if you modified this file, you need to regenerate sizes.64-solaris-i386
-//
-
-XExtData
- number int
- next pointer XExtData
- free_private pointer
- private_data pointer
-XIMText
- length short
- feedback pointer
- encoding_is_wchar Bool
- string pointer
-XSetWindowAttributes
- background_pixmap long
- background_pixel long
- border_pixmap long
- border_pixel long
- bit_gravity int
- win_gravity int
- backing_store int
- backing_planes long
- backing_pixel long
- save_under Bool
- event_mask long
- do_not_propagate_mask long
- override_redirect Bool
- colormap long
- cursor long
-Visual
- ext_data pointer XExtData
- visualid long
- class int
- red_mask long
- green_mask long
- blue_mask long
- bits_per_rgb int
- map_entries int
-Depth
- depth int
- nvisuals int
- visuals pointer Visual
-XClassHint
- res_name pointer
- res_class pointer
-XIMPreeditCaretCallbackStruct
- position int
- direction int
- style int
-XmbTextItem
- chars pointer byte
- nchars int
- delta int
- font_set pointer
-XStandardColormap
- colormap long
- red_max long
- red_mult long
- green_max long
- green_mult long
- blue_max long
- blue_mult long
- base_pixel long
- visualid long
- killid long
-XIMCallback
- client_data pointer
- callback pointer
-XKeyboardState
- key_click_percent int
- bell_percent int
- bell_pitch int
- bell_duration int
- led_mask long
- global_auto_repeat int
- auto_repeats array byte 32
-XCirculateEvent
- type int
- serial long
- send_event Bool
- display long
- event long
- window long
- place int
-XWMHints
- flags long
- initial_state int
- icon_pixmap pointer
- icon_window long
- icon_x int
- icon_y int
- icon_mask long
- input Bool
- window_group long
-XCrossingEvent
- type int
- serial long
- send_event Bool
- display long
- window long
- root long
- subwindow long
- time ulong
- x int
- y int
- x_root int
- y_root int
- mode int
- detail int
- same_screen Bool
- focus Bool
- state int
-XIMStringConversionText
- length short
- feedback pointer
- encoding_is_wchar Bool
- string pointer
-XKeymapEvent
- type int
- serial long
- send_event Bool
- display long
- window long
- key_vector array byte 32
-XDestroyWindowEvent
- type int
- serial long
- send_event Bool
- display long
- event long
- window long
-XComposeStatus
- compose_ptr pointer
- chars_matched int
-XTextItem
- chars pointer
- nchars int
- delta int
- font long
-XIMStringConversionCallbackStruct
- position short
- direction int
- operation short
- factor short
- text pointer XIMStringConversionText
-XOMFontInfo
- num_font int
- font_struct_list pointer
- font_name_list pointer
-XClientMessageEvent
- type int
- serial long
- send_event Bool
- display long
- window long
- message_type Atom
- format int
- data array long 5
-XMapRequestEvent
- type int
- serial long
- send_event Bool
- display long
- parent long
- window long
-XSelectionEvent
- type int
- serial long
- send_event Bool
- display long
- requestor long
- selection Atom
- target Atom
- property Atom
- time ulong
-XVisibilityEvent
- type int
- serial long
- send_event Bool
- display long
- window long
- state int
-XConfigureRequestEvent
- type int
- serial long
- send_event Bool
- display long
- parent long
- window long
- x int
- y int
- width int
- height int
- border_width int
- above long
- detail int
- value_mask long
-Screen
- ext_data pointer XExtData
- display pointer
- root long
- width int
- height int
- mwidth int
- mheight int
- ndepths int
- depths pointer Depth
- root_depth int
- root_visual pointer Visual
- default_gc long
- cmap long
- white_pixel long
- black_pixel long
- max_maps int
- min_maps int
- backing_store int
- save_unders Bool
- root_input_mask long
-XTextProperty
- value pointer byte
- encoding long
- format int
- nitems long
-XWindowChanges
- x int
- y int
- width int
- height int
- border_width int
- sibling long
- stack_mode int
-XVisualInfo
- visual pointer
- visualid long
- screen int
- depth int
- class int
- red_mask long
- green_mask long
- blue_mask long
- colormap_size int
- bits_per_rgb int
-XRenderDirectFormat
- red short
- redMask short
- green short
- greenMask short
- blue short
- blueMask short
- alpha short
- alphaMask short
-XRenderPictFormat
- id long
- type int
- depth int
- direct struct XRenderDirectFormat
- colormap long
-XIMHotKeyTrigger
- keysym long
- modifier int
- modifier_mask int
-XIMHotKeyTriggers
- num_hot_key int
- key pointer XIMHotKeyTrigger
-XIMStyles
- count_styles short
- supported_styles pointer long
-XIMStatusDrawCallbackStruct
- type int
- data long
-XWindowAttributes
- x int
- y int
- width int
- height int
- border_width int
- depth int
- visual pointer Visual
- root long
- class int
- bit_gravity int
- win_gravity int
- backing_store int
- backing_planes long
- backing_pixel long
- save_under Bool
- colormap long
- map_installed Bool
- map_state int
- all_event_masks long
- your_event_mask long
- do_not_propagate_mask long
- override_redirect Bool
- screen pointer Screen
-XExtCodes
- extension int
- major_opcode int
- first_event int
- first_error int
-XPropertyEvent
- type int
- serial long
- send_event Bool
- display long
- window long
- atom Atom
- time ulong
- state int
-
-XSizeHints
- flags long
- x int
- y int
- width int
- height int
- min_width int
- min_height int
- max_width int
- max_height int
- width_inc int
- height_inc int
- min_aspect.x int
- min_aspect.y int
- max_aspect.x int
- max_aspect.y int
- base_width int
- base_height int
- win_gravity int
-XIconSize
- min_width int
- min_height int
- max_width int
- max_height int
- width_inc int
- height_inc int
-XwcTextItem
- chars pointer
- nchars int
- delta int
- font_set pointer
-XIMPreeditDrawCallbackStruct
- caret int
- chg_first int
- chg_length int
- text pointer XIMText
-XErrorEvent
- type int
- display long
- resourceid long
- serial long
- error_code byte
- request_code byte
- minor_code byte
-XSelectionClearEvent
- type int
- serial long
- send_event Bool
- display long
- window long
- selection Atom
- time ulong
-XKeyboardControl
- key_click_percent int
- bell_percent int
- bell_pitch int
- bell_duration int
- led int
- led_mode int
- key int
- auto_repeat_mode int
-XAnyEvent
- type int
- serial long
- send_event Bool
- display long
- window long
-XTimeCoord
- time ulong
- x short
- y short
-XGravityEvent
- type int
- serial long
- send_event Bool
- display long
- event long
- window long
- x int
- y int
-XCharStruct
- lbearing short
- rbearing short
- width short
- ascent short
- descent short
- attributes short
-XArc
- x short
- y short
- width short
- height short
- angle1 short
- angle2 short
-XPoint
- x short
- y short
-ScreenFormat
- ext_data pointer XExtData
- depth int
- bits_per_pixel int
- scanline_pad int
-XFocusChangeEvent
- type int
- serial long
- send_event Bool
- display long
- window long
- mode int
- detail int
-XResizeRequestEvent
- type int
- serial long
- send_event Bool
- display long
- window long
- width int
- height int
-
-XRectangle
- x short
- y short
- width short
- height short
-
-XMappingEvent
- type int
- serial long
- send_event Bool
- display long
- window long
- request int
- first_keycode int
- count int
-XSegment
- x1 short
- y1 short
- x2 short
- y2 short
-XColor
- pixel long
- red short
- green short
- blue short
- flags byte
- pad byte
-XKeyEvent
- type int
- serial long
- send_event Bool
- display long
- window long
- root long
- subwindow long
- time ulong
- x int
- y int
- x_root int
- y_root int
- state int
- keycode int
- same_screen Bool
-XReparentEvent
- type int
- serial long
- send_event Bool
- display long
- event long
- window long
- parent long
- x int
- y int
- override_redirect Bool
-XMotionEvent
- type int
- serial long
- send_event Bool
- display long
- window long
- root long
- subwindow long
- time ulong
- x int
- y int
- x_root int
- y_root int
- state int
- is_hint byte
- same_screen Bool
-XButtonEvent
- type int
- serial long
- send_event Bool
- display long
- window long
- root long
- subwindow long
- time ulong
- x int
- y int
- x_root int
- y_root int
- state int
- button int
- same_screen Bool
-XHostAddress
- family int
- length int
- address pointer
-XOMCharSetList
- charset_count int
- charset_list pointer
-XNoExposeEvent
- type int
- serial long
- send_event Bool
- display long
- drawable long
- major_code int
- minor_code int
-XSelectionRequestEvent
- type int
- serial long
- send_event Bool
- display long
- owner long
- requestor long
- selection Atom
- target Atom
- property Atom
- time ulong
-XGCValues
- function int
- plane_mask long
- foreground long
- background long
- line_width int
- line_style int
- cap_style int
- join_style int
- fill_style int
- fill_rule int
- arc_mode int
- tile long
- stipple long
- ts_x_origin int
- ts_y_origin int
- font long
- subwindow_mode int
- graphics_exposures Bool
- clip_x_origin int
- clip_y_origin int
- clip_mask long
- dash_offset int
- dashes byte
-XImage
- width int
- height int
- xoffset int
- format int
- data pointer byte
- byte_order int
- bitmap_unit int
- bitmap_bit_order int
- bitmap_pad int
- depth int
- bytes_per_line int
- bits_per_pixel int
- red_mask long
- green_mask long
- blue_mask long
- obdata pointer
- f.create_image pointer
- f.destroy_image pointer
- f.get_pixel pointer
- f.put_pixel pointer
- f.sub_image pointer
- f.add_pixel pointer
-XIMValuesList
- count_values short
- supported_values pointer
-XColormapEvent
- type int
- serial long
- send_event Bool
- display long
- window long
- colormap long
- new Bool
- state int
-XIMPreeditStateNotifyCallbackStruct
- state long
-XCreateWindowEvent
- type int
- serial long
- send_event Bool
- display long
- parent long
- window long
- x int
- y int
- width int
- height int
- border_width int
- override_redirect Bool
-XConfigureEvent
- type int
- serial long
- send_event Bool
- display long
- event long
- window long
- x int
- y int
- width int
- height int
- border_width int
- above long
- override_redirect Bool
-XFontProp
- name long
- card32 long
-XModifierKeymap
- max_keypermod int
- modifiermap pointer
-XCirculateRequestEvent
- type int
- serial long
- send_event Bool
- display long
- parent long
- window long
- place int
-XChar2b
- byte1 byte
- byte2 byte
-XTextItem16
- chars pointer XChar2b
- nchars int
- delta int
- font long
-XOMOrientation
- num_orientation int
- orientation pointer int
-XGraphicsExposeEvent
- type int
- serial long
- send_event Bool
- display long
- drawable long
- x int
- y int
- width int
- height int
- count int
- major_code int
- minor_code int
-XFontStruct
- ext_data pointer XExtData
- fid long
- direction int
- min_char_or_byte2 int
- max_char_or_byte2 int
- min_byte1 int
- max_byte1 int
- all_chars_exist Bool
- n_properties int
- properties pointer XFontProp
- min_bounds struct XCharStruct
- max_bounds struct XCharStruct
- per_char pointer XCharStruct
- ascent int
- descent int
-XMapEvent
- type int
- serial long
- send_event Bool
- display long
- event long
- window long
- override_redirect int
-XExposeEvent
- type int
- serial long
- send_event Bool
- display long
- window long
- x int
- y int
- width int
- height int
- count int
-
-XFontSetExtents
- max_ink_extent struct XRectangle
- max_logical_extent struct XRectangle
-
-XUnmapEvent
- type int
- serial long
- send_event Bool
- display long
- event long
- window long
- from_configure Bool
-PropMwmHints
- flags long
- functions long
- decorations long
- inputMode long
- status long
-XPixmapFormatValues
- depth int
- bits_per_pixel int
- scanline_pad int
-awtImageData
- Depth int
- wsImageFormat struct XPixmapFormatValues
- clrdata pointer
- convert array pointer 32
-ColorEntry
- r byte
- g byte
- b byte
- flags byte
-ColorData
- awt_Colors pointer ColorEntry
- awt_numICMcolors int
- awt_icmLUT pointer int
- awt_icmLUT2Colors pointer byte
- img_grays pointer byte
- img_clr_tbl pointer byte
- img_oda_red pointer byte
- img_oda_green pointer byte
- img_oda_blue pointer byte
- pGrayInverseLutData pointer int
- screendata int
-
-AwtGraphicsConfigData
- awt_depth int
- awt_cmap long
- awt_visInfo struct XVisualInfo
- awt_num_colors int
- awtImage pointer awtImageData
- AwtColorMatch pointer
- monoImage pointer
- monoPixmap long
- monoPixmapWidth int
- monoPixmapHeight int
- monoPixmapGC long
- pixelStride int
- color_data pointer ColorData
- glxInfo pointer
- isTranslucencySupported int
- renderPictFormat struct XRenderPictFormat
-
-AwtScreenData
- numConfigs int
- root long
- whitepixel long
- blackpixel long
- defaultConfig pointer AwtGraphicsConfigData
- configs pointer // AwtGraphicsConfigDataPtr *configs;
-
-XdbeSwapInfo
- swap_window long
- swap_action int
-
-XEvent
- type int
- xany struct XAnyEvent
- xkey struct XKeyEvent
- xbutton struct XButtonEvent
- xmotion struct XMotionEvent
- xcrossing struct XCrossingEvent
- xfocus struct XFocusChangeEvent
- xexpose struct XExposeEvent
- xgraphicsexpose struct XGraphicsExposeEvent
- xnoexpose struct XNoExposeEvent
- xvisibility struct XVisibilityEvent
- xcreatewindow struct XCreateWindowEvent
- xdestroywindow struct XDestroyWindowEvent
- xunmap struct XUnmapEvent
- xmap struct XMapEvent
- xmaprequest struct XMapRequestEvent
- xreparent struct XReparentEvent
- xconfigure struct XConfigureEvent
- xgravity struct XGravityEvent
- xresizerequest struct XResizeRequestEvent
- xconfigurerequest struct XConfigureRequestEvent
- xcirculate struct XCirculateEvent
- xcirculaterequest struct XCirculateRequestEvent
- xproperty struct XPropertyEvent
- xselectionclear struct XSelectionClearEvent
- xselectionrequest struct XSelectionRequestEvent
- xselection struct XSelectionEvent
- xcolormap struct XColormapEvent
- xclient struct XClientMessageEvent
- xmapping struct XMappingEvent
- xerror struct XErrorEvent
- xkeymap struct XKeymapEvent
- pad array long 24
-
-XkbAnyEvent
- type int
- serial ulong
- send_event Bool
- display long
- time ulong
- xkb_type int
- device int
-
-XkbNewKeyboardNotifyEvent
- type int
- serial ulong
- send_event Bool
- display long
- time ulong
- xkb_type int
- device int
- old_device int
- min_key_code int
- max_key_code int
- old_min_key_code int
- old_max_key_code int
- changed int
- req_major byte
- req_minor byte
-
-XkbMapNotifyEvent
- type int
- serial ulong
- send_event Bool
- display long
- time ulong
- xkb_type int
- device int
- changed int
- flags int
- first_type int
- num_types int
- min_key_code int
- max_key_code int
- first_key_sym int
- first_key_act int
- first_key_behavior int
- first_key_explicit int
- first_modmap_key int
- first_vmodmap_key int
- num_key_syms int
- num_key_acts int
- num_key_behaviors int
- num_key_explicit int
- num_modmap_keys int
- num_vmodmap_keys int
- vmods int
-
-XkbStateNotifyEvent
- type int
- serial ulong
- send_event Bool
- display long
- time ulong
- xkb_type int
- device int
- changed int
- group int
- base_group int
- latched_group int
- locked_group int
- mods int
- base_mods int
- latched_mods int
- locked_mods int
- compat_state int
- grab_mods byte
- compat_grab_mods byte
- lookup_mods byte
- compat_lookup_mods byte
- ptr_buttons int
- keycode int
- event_type byte
- req_major byte
- req_minor byte
-
-XkbControlsNotifyEvent
- type int
- serial ulong
- send_event Bool
- display long
- time ulong
- xkb_type int
- device int
- changed_ctrls int
- enabled_ctrls int
- enabled_ctrl_changes int
- num_groups int
- keycode int
- event_type byte
- req_major byte
- req_minor byte
-
-XkbIndicatorNotifyEvent
- type int
- serial ulong
- send_event Bool
- display long
- time ulong
- xkb_type int
- device int
- changed int
- state int
-
-XkbNamesNotifyEvent
- type int
- serial ulong
- send_event Bool
- display long
- time ulong
- xkb_type int
- device int
- changed int
- first_type int
- num_types int
- first_lvl int
- num_lvls int
- num_aliases int
- num_radio_groups int
- changed_vmods int
- changed_groups int
- changed_indicators int
- first_key int
- num_keys int
-
-
-XkbCompatMapNotifyEvent
- type int
- serial ulong
- send_event Bool
- display long
- time ulong
- xkb_type int
- device int
- changed_groups int
- first_si int
- num_si int
- num_total_si int
-
-XkbBellNotifyEvent
- type int
- serial ulong
- send_event Bool
- display long
- time ulong
- xkb_type int
- device int
- percent int
- pitch int
- duration int
- bell_class int
- bell_id int
- name Atom
- window long
- event_only Bool
-
-XkbActionMessageEvent
- type int
- serial ulong
- send_event Bool
- display long
- time ulong
- xkb_type int
- device int
- keycode int
- press Bool
- key_event_follows Bool
- group int
- mods int
- message array byte 7 //XkbActionMessageLength+1
-
-XkbAccessXNotifyEvent
- type int
- serial ulong
- send_event Bool
- display long
- time ulong
- xkb_type int
- device int
- detail int
- keycode int
- sk_delay int
- debounce_delay int
-
-XkbExtensionDeviceNotifyEvent
- type int
- serial ulong
- send_event Bool
- display long
- time ulong
- xkb_type int
- device int
- reason int
- supported int
- unsupported int
- first_btn int
- num_btns int
- leds_defined int
- led_state int
- led_class int
- led_id int
-
-XkbEvent
- type int
- any struct XkbAnyEvent
- new_kbd struct XkbNewKeyboardNotifyEvent
- map struct XkbMapNotifyEvent
- state struct XkbStateNotifyEvent
- ctrls struct XkbControlsNotifyEvent
- indicators struct XkbIndicatorNotifyEvent
- names struct XkbNamesNotifyEvent
- compat struct XkbCompatMapNotifyEvent
- bell struct XkbBellNotifyEvent
- message struct XkbActionMessageEvent
- accessx struct XkbAccessXNotifyEvent
- device struct XkbExtensionDeviceNotifyEvent
- core struct XEvent
--- a/jdk/src/solaris/native/sun/management/LinuxOperatingSystem.c Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/solaris/native/sun/management/LinuxOperatingSystem.c Mon Feb 17 11:37:46 2014 -0500
@@ -35,6 +35,7 @@
#include <stdlib.h>
#include <dlfcn.h>
#include <pthread.h>
+#include <inttypes.h>
#include "sun_management_OperatingSystemImpl.h"
struct ticks {
@@ -57,7 +58,7 @@
ticks *cpus;
} counters;
-#define DEC_64 "%lld"
+#define DEC_64 "%"SCNd64
static void next_line(FILE *f) {
while (fgetc(f) != '\n');
--- a/jdk/src/solaris/native/sun/nio/fs/MacOSXNativeDispatcher.c Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/solaris/native/sun/nio/fs/MacOSXNativeDispatcher.c Mon Feb 17 11:37:46 2014 -0500
@@ -39,12 +39,15 @@
jint form)
{
jcharArray result = NULL;
- char chars_buf[(PATH_MAX + 1) * 2]; // utf16 + zero padding
+ char *chars;
CFMutableStringRef csref = CFStringCreateMutable(NULL, 0);
if (csref == NULL) {
JNU_ThrowOutOfMemoryError(env, "native heap");
- } else {
- char *chars = (char*)(*env)->GetPrimitiveArrayCritical(env, path, 0);
+ return NULL;
+ }
+ chars = (char*)(*env)->GetPrimitiveArrayCritical(env, path, 0);
+ if (chars != NULL) {
+ char chars_buf[(PATH_MAX + 1) * 2]; // utf16 + zero padding
jsize len = (*env)->GetArrayLength(env, path);
CFStringAppendCharacters(csref, (const UniChar*)chars, len);
(*env)->ReleasePrimitiveArrayCritical(env, path, chars, 0);
@@ -53,24 +56,26 @@
if (len < PATH_MAX) {
if (CFStringGetCString(csref, chars_buf, sizeof(chars_buf), kCFStringEncodingUTF16)) {
result = (*env)->NewCharArray(env, len);
- (*env)->SetCharArrayRegion(env, result, 0, len, (jchar*)&chars_buf);
+ if (result != NULL) {
+ (*env)->SetCharArrayRegion(env, result, 0, len, (jchar*)&chars_buf);
+ }
}
} else {
int ulen = (len + 1) * 2;
chars = malloc(ulen);
if (chars == NULL) {
- CFRelease(csref);
JNU_ThrowOutOfMemoryError(env, "native heap");
- return result;
} else {
if (CFStringGetCString(csref, chars, ulen, kCFStringEncodingUTF16)) {
result = (*env)->NewCharArray(env, len);
- (*env)->SetCharArrayRegion(env, result, 0, len, (jchar*)chars);
+ if (result != NULL) {
+ (*env)->SetCharArrayRegion(env, result, 0, len, (jchar*)chars);
+ }
}
free(chars);
}
}
- CFRelease(csref);
}
+ CFRelease(csref);
return result;
}
--- a/jdk/src/solaris/native/sun/nio/fs/genSolarisConstants.c Mon Feb 17 11:36:40 2014 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-#include <stdio.h>
-#include <errno.h>
-#include <unistd.h>
-#include <sys/acl.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
-/**
- * Generates sun.nio.fs.SolarisConstants
- */
-
-static void out(char* s) {
- printf("%s\n", s);
-}
-
-static void emit(char* name, int value) {
- printf(" static final int %s = %d;\n", name, value);
-}
-
-static void emitX(char* name, int value) {
- printf(" static final int %s = 0x%x;\n", name, value);
-}
-
-#define DEF(X) emit(#X, X);
-#define DEFX(X) emitX(#X, X);
-
-int main(int argc, const char* argv[]) {
- out("// AUTOMATICALLY GENERATED FILE - DO NOT EDIT ");
- out("package sun.nio.fs; ");
- out("class SolarisConstants { ");
- out(" private SolarisConstants() { } ");
-
- // extended attributes
- DEFX(O_XATTR);
- DEF(_PC_XATTR_ENABLED);
-
- // ACL configuration
- DEF(_PC_ACL_ENABLED);
- DEFX(_ACL_ACE_ENABLED);
-
- // ACL commands
- DEFX(ACE_GETACL);
- DEFX(ACE_SETACL);
-
- // ACL mask/flags/types
- emitX("ACE_ACCESS_ALLOWED_ACE_TYPE", 0x0000);
- emitX("ACE_ACCESS_DENIED_ACE_TYPE", 0x0001);
- emitX("ACE_SYSTEM_AUDIT_ACE_TYPE", 0x0002);
- emitX("ACE_SYSTEM_ALARM_ACE_TYPE", 0x0003);
- emitX("ACE_READ_DATA", 0x00000001);
- emitX("ACE_LIST_DIRECTORY", 0x00000001);
- emitX("ACE_WRITE_DATA", 0x00000002);
- emitX("ACE_ADD_FILE", 0x00000002);
- emitX("ACE_APPEND_DATA", 0x00000004);
- emitX("ACE_ADD_SUBDIRECTORY", 0x00000004);
- emitX("ACE_READ_NAMED_ATTRS", 0x00000008);
- emitX("ACE_WRITE_NAMED_ATTRS", 0x00000010);
- emitX("ACE_EXECUTE", 0x00000020);
- emitX("ACE_DELETE_CHILD", 0x00000040);
- emitX("ACE_READ_ATTRIBUTES", 0x00000080);
- emitX("ACE_WRITE_ATTRIBUTES", 0x00000100);
- emitX("ACE_DELETE", 0x00010000);
- emitX("ACE_READ_ACL", 0x00020000);
- emitX("ACE_WRITE_ACL", 0x00040000);
- emitX("ACE_WRITE_OWNER", 0x00080000);
- emitX("ACE_SYNCHRONIZE", 0x00100000);
- emitX("ACE_FILE_INHERIT_ACE", 0x0001);
- emitX("ACE_DIRECTORY_INHERIT_ACE", 0x0002);
- emitX("ACE_NO_PROPAGATE_INHERIT_ACE", 0x0004);
- emitX("ACE_INHERIT_ONLY_ACE", 0x0008);
- emitX("ACE_SUCCESSFUL_ACCESS_ACE_FLAG", 0x0010);
- emitX("ACE_FAILED_ACCESS_ACE_FLAG", 0x0020);
- emitX("ACE_IDENTIFIER_GROUP", 0x0040);
- emitX("ACE_OWNER", 0x1000);
- emitX("ACE_GROUP", 0x2000);
- emitX("ACE_EVERYONE", 0x4000);
-
- out("} ");
- return 0;
-}
--- a/jdk/src/solaris/native/sun/nio/fs/genUnixConstants.c Mon Feb 17 11:36:40 2014 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-#include <stdio.h>
-#include <errno.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
-/**
- * Generates sun.nio.fs.UnixConstants
- */
-
-static void out(char* s) {
- printf("%s\n", s);
-}
-
-static void emit(char* name, int value) {
- printf(" static final int %s = %d;\n", name, value);
-}
-
-static void emitX(char* name, int value) {
- printf(" static final int %s = 0x%x;\n", name, value);
-}
-
-#define DEF(X) emit(#X, X);
-#define DEFX(X) emitX(#X, X);
-
-int main(int argc, const char* argv[]) {
- out("// AUTOMATICALLY GENERATED FILE - DO NOT EDIT ");
- out("package sun.nio.fs; ");
- out("class UnixConstants { ");
- out(" private UnixConstants() { } ");
-
- // open flags
- DEF(O_RDONLY);
- DEF(O_WRONLY);
- DEF(O_RDWR);
- DEFX(O_APPEND);
- DEFX(O_CREAT);
- DEFX(O_EXCL);
- DEFX(O_TRUNC);
- DEFX(O_SYNC);
-#ifndef O_DSYNC
- // At least FreeBSD doesn't define O_DSYNC
- emit("O_DSYNC", O_SYNC);
-#else
- DEFX(O_DSYNC);
-#endif
-#ifdef O_NOFOLLOW
- DEFX(O_NOFOLLOW);
-#else
- // not supported (dummy values will not be used at runtime).
- emitX("O_NOFOLLOW", 0x0);
-#endif
-
- // mode masks
- emitX("S_IAMB",
- (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH|S_IWOTH|S_IXOTH));
- DEF(S_IRUSR);
- DEF(S_IWUSR);
- DEF(S_IXUSR);
- DEF(S_IRGRP);
- DEF(S_IWGRP);
- DEF(S_IXGRP);
- DEF(S_IROTH);
- DEF(S_IWOTH);
- DEF(S_IXOTH);
- DEFX(S_IFMT);
- DEFX(S_IFREG);
- DEFX(S_IFDIR);
- DEFX(S_IFLNK);
- DEFX(S_IFCHR);
- DEFX(S_IFBLK);
- DEFX(S_IFIFO);
-
- // access modes
- DEF(R_OK);
- DEF(W_OK);
- DEF(X_OK);
- DEF(F_OK);
-
- // errors
- DEF(ENOENT);
- DEF(EACCES);
- DEF(EEXIST);
- DEF(ENOTDIR);
- DEF(EINVAL);
- DEF(EXDEV);
- DEF(EISDIR);
- DEF(ENOTEMPTY);
- DEF(ENOSPC);
- DEF(EAGAIN);
- DEF(ENOSYS);
- DEF(ELOOP);
- DEF(EROFS);
-#ifndef ENODATA
- // Only used in Linux java source, provide any value so it compiles
- emit("ENODATA", ELAST);
-#else
- DEF(ENODATA);
-#endif
- DEF(ERANGE);
- DEF(EMFILE);
-
- // flags used with openat/unlinkat/etc.
-#if defined(AT_SYMLINK_NOFOLLOW) && defined(AT_REMOVEDIR)
- DEFX(AT_SYMLINK_NOFOLLOW)
- DEFX(AT_REMOVEDIR);
-#else
- // not supported (dummy values will not be used at runtime).
- emitX("AT_SYMLINK_NOFOLLOW", 0x0);
- emitX("AT_REMOVEDIR", 0x0);
-#endif
-
- out("} ");
-
- return 0;
-}
--- a/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c Mon Feb 17 11:37:46 2014 -0500
@@ -32,6 +32,7 @@
#include <jni_util.h>
#include "j2secmod.h"
+#include "wrapper/pkcs11wrapper.h"
void *findFunction(JNIEnv *env, jlong jHandle, const char *functionName) {
void *hModule = (void*)jlong_to_ptr(jHandle);
--- a/jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.h Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/solaris/native/sun/security/pkcs11/wrapper/p11_md.h Mon Feb 17 11:37:46 2014 -0500
@@ -56,6 +56,9 @@
/* defines for UNIX platforms *************************************************/
+#ifndef _P11_MD_H
+#define _P11_MD_H 1
+
#define CK_PTR *
#define CK_DEFINE_FUNCTION(returnType, name) returnType name
#define CK_DECLARE_FUNCTION(returnType, name) returnType name
@@ -83,3 +86,5 @@
};
typedef struct ModuleData ModuleData;
+
+#endif /* _P11_MD_H */
--- a/jdk/src/windows/native/common/jdk_util_md.c Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/windows/native/common/jdk_util_md.c Mon Feb 17 11:37:46 2014 -0500
@@ -42,7 +42,6 @@
JNIEXPORT HMODULE JDK_LoadSystemLibrary(const char* name) {
HMODULE handle = NULL;
char path[MAX_PATH];
- int ret;
if (GetSystemDirectory(path, sizeof(path)) != 0) {
strcat(path, "\\");
--- a/jdk/src/windows/native/java/io/WinNTFileSystem_md.c Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/windows/native/java/io/WinNTFileSystem_md.c Mon Feb 17 11:37:46 2014 -0500
@@ -360,7 +360,6 @@
jobject file)
{
jint rv = 0;
- jint pathlen;
WCHAR *pathbuf = fileToNTPath(env, file, ids.path);
if (pathbuf == NULL)
--- a/jdk/src/windows/native/java/lang/ProcessImpl_md.c Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/src/windows/native/java/lang/ProcessImpl_md.c Mon Feb 17 11:37:46 2014 -0500
@@ -79,7 +79,7 @@
/*Good suggestion about 2-bytes-per-symbol in localized error reports*/
char utf8_javaMessage[MESSAGE_LENGTH*2];
const int errnum = (int)GetLastError();
- int n = os_error_message(errnum, utf16_OSErrorMsg, ARRAY_SIZE(utf16_OSErrorMsg));
+ size_t n = os_error_message(errnum, utf16_OSErrorMsg, ARRAY_SIZE(utf16_OSErrorMsg));
n = (n > 0)
? swprintf(utf16_javaMessage, MESSAGE_LENGTH, L"%s error=%d, %s", functionName, errnum, utf16_OSErrorMsg)
: swprintf(utf16_javaMessage, MESSAGE_LENGTH, L"%s failed, error=%d", functionName, errnum);
--- a/jdk/test/com/sun/corba/5036554/TestCorbaBug.sh Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/com/sun/corba/5036554/TestCorbaBug.sh Mon Feb 17 11:37:46 2014 -0500
@@ -83,7 +83,7 @@
${TESTJAVA}${FS}bin${FS}javac -d . bug${FS}*.java
-${TESTJAVA}${FS}bin${FS}java -cp . bug/JavaBug > test.out 2>&1
+${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -cp . bug/JavaBug > test.out 2>&1
grep "NullPointerException" test.out
--- a/jdk/test/java/awt/FontClass/CreateFont/DeleteFont.sh Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/java/awt/FontClass/CreateFont/DeleteFont.sh Mon Feb 17 11:37:46 2014 -0500
@@ -47,7 +47,7 @@
cd ${TESTCLASSES}
numfiles0=`ls ${TESTCLASSES} | wc -l`
-${TESTJAVA}/bin/java -Djava.io.tmpdir=${TESTCLASSES} DeleteFont
+${TESTJAVA}/bin/java ${TESTVMOPTS} -Djava.io.tmpdir=${TESTCLASSES} DeleteFont
if [ $? -ne 0 ]
then
--- a/jdk/test/java/awt/JAWT/JAWT.sh Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/java/awt/JAWT/JAWT.sh Mon Feb 17 11:37:46 2014 -0500
@@ -165,7 +165,7 @@
${JAVAC} -d . ${TESTSRC}${FS}MyCanvas.java
${JAVAH} -jni -classpath . -d . MyCanvas
${MAKE} -f ${MAKEFILE}
-${JAVA} -classpath . MyCanvas
+${JAVA} ${TESTVMOPTS} -classpath . MyCanvas
exit $?
--- a/jdk/test/java/awt/PrintJob/Text/stringwidth.sh Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/java/awt/PrintJob/Text/stringwidth.sh Mon Feb 17 11:37:46 2014 -0500
@@ -58,7 +58,7 @@
JAVA_HOME=$TESTJAVA
fi
- $JAVA_HOME/bin/java -cp "${CP}" StringWidth
+ $JAVA_HOME/bin/java ${TESTVMOPTS} -cp "${CP}" StringWidth
checkstatus
exit 0
--- a/jdk/test/java/awt/Toolkit/AutoShutdown/ShowExitTest/ShowExitTest.sh Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/java/awt/Toolkit/AutoShutdown/ShowExitTest/ShowExitTest.sh Mon Feb 17 11:37:46 2014 -0500
@@ -175,7 +175,7 @@
# pass, you should be able to cut and paste it into here and it will
# run with the test harness.
-${TESTJAVA}/bin/java ShowExitTest
+${TESTJAVA}/bin/java ${TESTVMOPTS} ShowExitTest
############### END YOUR TEST CODE !!!!! ############
#Be sure the last command executed above this line returns 0 for success,
--- a/jdk/test/java/awt/Toolkit/BadDisplayTest/BadDisplayTest.sh Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/java/awt/Toolkit/BadDisplayTest/BadDisplayTest.sh Mon Feb 17 11:37:46 2014 -0500
@@ -28,10 +28,10 @@
OS=`uname -s`
case "$OS" in
SunOS )
- ${TESTJAVA}/bin/java BadDisplayTest
+ ${TESTJAVA}/bin/java ${TESTVMOPTS} BadDisplayTest
;;
Linux )
- ${TESTJAVA}/bin/java BadDisplayTest
+ ${TESTJAVA}/bin/java ${TESTVMOPTS} BadDisplayTest
;;
* )
echo "Unsupported System: ${OS}"
--- a/jdk/test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh Mon Feb 17 11:37:46 2014 -0500
@@ -146,13 +146,13 @@
case "$OS" in
Windows* | CYGWIN* )
- ${TESTJAVA}/bin/java -Djava.awt.headless=true \
+ ${TESTJAVA}/bin/java ${TESTVMOPTS} -Djava.awt.headless=true \
TestWrapped sun.awt.windows.WToolkit
status=$?
if [ ! $status -eq "0" ]; then
fail "Test FAILED: toolkit wrapped into HeadlessToolkit is not an instance of sun.awt.windows.WToolkit";
fi
- ${TESTJAVA}/bin/java -Djava.awt.headless=true \
+ ${TESTJAVA}/bin/java ${TESTVMOPTS} -Djava.awt.headless=true \
-Dawt.toolkit=sun.awt.windows.WToolkit \
TestWrapped sun.awt.windows.WToolkit
status=$?
@@ -162,14 +162,15 @@
;;
SunOS | Linux )
- ${TESTJAVA}/bin/java -Djava.awt.headless=true \
+ ${TESTJAVA}/bin/java ${TESTVMOPTS} -Djava.awt.headless=true \
-Dawt.toolkit=sun.awt.X11.XToolkit \
TestWrapped sun.awt.X11.XToolkit
status=$?
if [ ! $status -eq "0" ]; then
fail "Test FAILED: toolkit wrapped into HeadlessToolkit is not an instance of sun.awt.xawt.XToolkit";
fi
- AWT_TOOLKIT=XToolkit ${TESTJAVA}/bin/java -Djava.awt.headless=true \
+ AWT_TOOLKIT=XToolkit ${TESTJAVA}/bin/java ${TESTVMOPTS} \
+ -Djava.awt.headless=true \
TestWrapped sun.awt.X11.XToolkit
status=$?
if [ ! $status -eq "0" ]; then
@@ -178,13 +179,13 @@
;;
Darwin)
- ${TESTJAVA}/bin/java -Djava.awt.headless=true \
+ ${TESTJAVA}/bin/java ${TESTVMOPTS} -Djava.awt.headless=true \
TestWrapped sun.lwawt.macosx.LWCToolkit
status=$?
if [ ! $status -eq "0" ]; then
fail "Test FAILED: toolkit wrapped into HeadlessToolkit is not an instance of sun.lwawt.macosx.LWCToolkit";
fi
- ${TESTJAVA}/bin/java -Djava.awt.headless=true \
+ ${TESTJAVA}/bin/java ${TESTVMOPTS} -Djava.awt.headless=true \
-Dawt.toolkit=sun.lwawt.macosx.LWCToolkit \
TestWrapped sun.lwawt.macosx.LWCToolkit
status=$?
--- a/jdk/test/java/net/Authenticator/B4769350.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/java/net/Authenticator/B4769350.java Mon Feb 17 11:37:46 2014 -0500
@@ -66,14 +66,15 @@
this.allowerror = allowerror;
}
+ @Override
public void run () {
try {
URI u = new URI ("http", authority, path, null, null);
URL url = u.toURL();
URLConnection urlc = url.openConnection();
- InputStream is = urlc.getInputStream();
- read (is);
- is.close();
+ try (InputStream is = urlc.getInputStream()) {
+ read (is);
+ }
} catch (URISyntaxException e) {
System.out.println (e);
error = true;
@@ -91,8 +92,6 @@
class Server implements AutoCloseable {
HttpServer server;
Executor executor;
- CyclicBarrier t1Cond1;
- CyclicBarrier t1Cond2;
public String getAddress() {
return server.getAddress().getHostName();
@@ -126,8 +125,7 @@
new AuthenticationHandlerT3bc());
server.createContext("/test/realm4/t3c",
new AuthenticationHandlerT3bc());
- t1Cond1 = new CyclicBarrier(2);
- t1Cond2 = new CyclicBarrier(2);
+ t1Cond1 = new CyclicBarrier(3);
server.start();
}
@@ -135,6 +133,7 @@
return server.getAddress().getPort();
}
+ @Override
public void close() {
if (executor != null)
((ExecutorService)executor).shutdownNow();
@@ -163,7 +162,6 @@
break;
case 1:
t1Cond1.await();
- t1cond2latch.await();
AuthenticationHandler.okReply(exchange);
break;
default:
@@ -192,8 +190,6 @@
break;
case 1:
t1Cond1.await();
- t1cond1latch.countDown();
- t1cond2latch.await();
AuthenticationHandler.okReply(exchange);
break;
default:
@@ -216,13 +212,6 @@
case 0:
AuthenticationHandler.errorReply(exchange,
"Basic realm=\"realm1\"");
- try {
- t1Cond2.await();
- } catch (InterruptedException |
- BrokenBarrierException e)
- {
- throw new RuntimeException(e);
- }
break;
case 1:
AuthenticationHandler.okReply(exchange);
@@ -244,14 +233,6 @@
case 0:
AuthenticationHandler.errorReply(exchange,
"Basic realm=\"realm2\"");
- try {
- t1Cond2.await();
- } catch (InterruptedException |
- BrokenBarrierException e)
- {
- throw new RuntimeException(e);
- }
- t1cond2latch.countDown();
break;
case 1:
AuthenticationHandler.okReply(exchange);
@@ -377,9 +358,9 @@
exchange.getResponseHeaders().add("Connection", "close");
String response = "Hello .";
exchange.sendResponseHeaders(200, response.getBytes().length);
- OutputStream os = exchange.getResponseBody();
- os.write(response.getBytes());
- os.close();
+ try (OutputStream os = exchange.getResponseBody()) {
+ os.write(response.getBytes());
+ }
exchange.close();
}
}
@@ -391,10 +372,9 @@
static Client c1,c2,c3,c4,c5,c6,c7,c8,c9;
- static CountDownLatch t1cond1latch;
- static CountDownLatch t1cond2latch;
static CountDownLatch t2condlatch;
static CountDownLatch t3cond1;
+ static CyclicBarrier t1Cond1;
static void doServerTests (String authority, Server server) throws Exception
{
@@ -404,10 +384,8 @@
c2 = new Client (authority, "/test/realm2/t1b", false);
c3 = new Client (authority, "/test/realm1/t1c", false);
c4 = new Client (authority, "/test/realm2/t1d", false);
- t1cond1latch = new CountDownLatch(1);
- t1cond2latch = new CountDownLatch(1);
c1.start(); c2.start();
- t1cond1latch.await();
+ t1Cond1.await();
c3.start(); c4.start();
c1.join(); c2.join(); c3.join(); c4.join();
--- a/jdk/test/java/net/URLPermission/nstest/lookup.sh Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/java/net/URLPermission/nstest/lookup.sh Mon Feb 17 11:37:46 2014 -0500
@@ -56,4 +56,7 @@
};
POLICY
-${TESTJAVA}/bin/java -Djava.security.policy=file:./policy -Dsun.net.spi.nameservice.provider.1=simple,sun -cp ${TESTCLASSES}${PS}${TESTSRC} LookupTest -runtest ${port}
+${TESTJAVA}/bin/java ${TESTVMOPTS} \
+ -Djava.security.policy=file:./policy \
+ -Dsun.net.spi.nameservice.provider.1=simple,sun \
+ -cp ${TESTCLASSES}${PS}${TESTSRC} LookupTest -runtest ${port}
--- a/jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/run_tests.sh Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/run_tests.sh Mon Feb 17 11:37:46 2014 -0500
@@ -109,7 +109,7 @@
go() {
echo ''
- sh -xc "$JAVA $DFLAG $1 $2 $3 $4 $5 $6 $7 $8" 2>&1
+ sh -xc "$JAVA ${TESTVMOPTS} $DFLAG $1 $2 $3 $4 $5 $6 $7 $8" 2>&1
if [ $? != 0 ]; then failures=`expr $failures + 1`; fi
}
--- a/jdk/test/java/rmi/MarshalledObject/compare/NullReference.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/java/rmi/MarshalledObject/compare/NullReference.java Mon Feb 17 11:37:46 2014 -0500
@@ -24,7 +24,9 @@
/*
* @test
* @bug 4105900
- * @summary MarshalledObject with null throws NullPointerException
+ * @summary MarshalledObject with null throws NullPointerException.
+ * This test does not affect VM global state, so othervm
+ * is not required.
* @author Ken Arnold
*
* @run main NullReference
--- a/jdk/test/java/rmi/server/Unmarshal/PrimitiveClasses.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/java/rmi/server/Unmarshal/PrimitiveClasses.java Mon Feb 17 11:37:46 2014 -0500
@@ -24,7 +24,8 @@
/* @test
* @bug 4442373
* @summary Verify that RMI can successfully unmarshal Class objects for
- * primitive types.
+ * primitive types. This test does not affect VM global state,
+ * so othervm is not required.
* @run main PrimitiveClasses
*/
--- a/jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatTest.sh Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatTest.sh Mon Feb 17 11:37:46 2014 -0500
@@ -211,7 +211,8 @@
# split application classes and test plugin classes
mv ./UserPluginMetadataFormatTest*.class ./test_classes
-$TESTJAVA/bin/java MetadataFormatTest test_classes UserPluginMetadataFormatTest
+$TESTJAVA/bin/java ${TESTVMOPTS} \
+ MetadataFormatTest test_classes UserPluginMetadataFormatTest
############### END YOUR TEST CODE !!!!! ############
status=$?
--- a/jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatThreadTest.sh Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatThreadTest.sh Mon Feb 17 11:37:46 2014 -0500
@@ -212,7 +212,8 @@
# split application classes and test plugin classes
mv ./UserPluginMetadataFormatTest*.class ./test_classes
-$TESTJAVA/bin/java MetadataFormatThreadTest test_classes UserPluginMetadataFormatTest
+$TESTJAVA/bin/java ${TESTVMOPTS} \
+ MetadataFormatThreadTest test_classes UserPluginMetadataFormatTest
############### END YOUR TEST CODE !!!!! ############
status=$?
--- a/jdk/test/javax/imageio/stream/StreamCloserLeak/run_test.sh Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/javax/imageio/stream/StreamCloserLeak/run_test.sh Mon Feb 17 11:37:46 2014 -0500
@@ -198,14 +198,15 @@
fi
# Verify that all classoladers are destroyed
-${TESTJAVA}/bin/java -cp Test.jar test.Main
+${TESTJAVA}/bin/java ${TESTVMOPTS} -cp Test.jar test.Main
if [ $? -ne 0 ] ; then
fail "Test FAILED: some classloaders weren't destroyed."
fi
# Verify that ImageIO shutdown hook works correcly
-${TESTJAVA}/bin/java -cp Test.jar -DforgetSomeStreams=true test.Main
+${TESTJAVA}/bin/java ${TESTVMOPTS} \
+ -cp Test.jar -DforgetSomeStreams=true test.Main
if [ $? -ne 0 ] ; then
fail "Test FAILED: some classloaders weren't destroyed of shutdown hook failed."
fi
--- a/jdk/test/javax/print/PrintSE/PrintSE.sh Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/javax/print/PrintSE/PrintSE.sh Mon Feb 17 11:37:46 2014 -0500
@@ -46,6 +46,9 @@
createJavaPolicyFile
-${TESTJAVA}/bin/java -Djava.security.manager -Djava.security.policy=${TESTCLASSES}/print.policy -cp ${TESTCLASSES} PrintSE
+${TESTJAVA}/bin/java ${TESTVMOPTS} \
+ -Djava.security.manager \
+ -Djava.security.policy=${TESTCLASSES}/print.policy \
+ -cp ${TESTCLASSES} PrintSE
exit $?
--- a/jdk/test/javax/rmi/ssl/SocketFactoryTest.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/javax/rmi/ssl/SocketFactoryTest.java Mon Feb 17 11:37:46 2014 -0500
@@ -25,6 +25,8 @@
* @test
* @bug 4932837 6582235
* @summary Test SslRMI[Client|Server]SocketFactory equals() and hashCode().
+ * This test does not affect VM global state, so othervm is
+ * not required.
* @author Daniel Fuchs
*
* @run main SocketFactoryTest
--- a/jdk/test/sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.sh Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.sh Mon Feb 17 11:37:46 2014 -0500
@@ -41,7 +41,7 @@
J2D_PIXMAPS=shared
export NO_J2D_DGA J2D_PIXMAPS
-${TESTJAVA}/bin/java SharedMemoryPixmapsTest
+${TESTJAVA}/bin/java ${TESTVMOPTS} SharedMemoryPixmapsTest
if [ $? -ne 0 ]; then
echo "Test failed!"
--- a/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/sun/management/jmxremote/startstop/JMXStartStopTest.java Mon Feb 17 11:37:46 2014 -0500
@@ -25,6 +25,7 @@
import java.io.IOException;
import java.lang.reflect.Method;
import java.net.ConnectException;
+import java.net.ServerSocket;
import java.rmi.NoSuchObjectException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
@@ -255,26 +256,23 @@
private static List<Failure> failures = new ArrayList<>();
public static void main(String args[]) throws Exception {
- for (int i=0;i<3;i++) {
- System.out.println("=== PASS " + i + " ===");
- for (Method m : JMXStartStopTest.class.getDeclaredMethods()) {
- if (m.getName().startsWith("test_")) {
- try {
- m.invoke(null);
- System.out.println("=== PASSED\n");
- } catch (Throwable e) {
- failures.add(new Failure(e, m.getName() + " failed"));
- }
+ for (Method m : JMXStartStopTest.class.getDeclaredMethods()) {
+ if (m.getName().startsWith("test_")) {
+ try {
+ m.invoke(null);
+ System.out.println("=== PASSED\n");
+ } catch (Throwable e) {
+ failures.add(new Failure(e, m.getName() + " failed"));
}
}
+ }
- if (!failures.isEmpty()) {
- for(Failure f : failures) {
- System.err.println(f.getMsg());
- f.getCause().printStackTrace(System.err);
- }
- throw new Error();
+ if (!failures.isEmpty()) {
+ for(Failure f : failures) {
+ System.err.println(f.getMsg());
+ f.getCause().printStackTrace(System.err);
}
+ throw new Error();
}
}
@@ -371,6 +369,7 @@
));
pbArgs.addAll(Arrays.asList(args));
pbArgs.add("JMXStartStopDoSomething");
+
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
pbArgs.toArray(new String[pbArgs.size()])
);
@@ -596,14 +595,16 @@
jcmd(CMD_STOP);
jcmd(CMD_STOP);
+ ServerSocket ss = new ServerSocket(0);
+
jcmd(
line -> {
- if (line.contains("Port already in use: 22")) {
+ if (line.contains("Port already in use: " + ss.getLocalPort())) {
checks[2] = true;
}
},
CMD_START,
- "jmxremote.port=22",
+ "jmxremote.port=" + ss.getLocalPort(),
"jmxremote.rmi.port=" + port2,
"jmxremote.authenticate=false",
"jmxremote.ssl=false");
@@ -616,7 +617,7 @@
"report an invalid agent state");
}
if (!checks[2]) {
- throw new Exception("Starting agent on port 22 should " +
+ throw new Exception("Starting agent on port " + ss.getLocalPort() + " should " +
"report port in use");
}
} finally {
@@ -627,7 +628,7 @@
private static void test_07() throws Exception {
// Run an app without JMX enabled, but with some properties set
// in command line.
- // make sure these properties overriden corectly
+ // make sure these properties overridden corectly
System.out.println("**** Test seven ****");
@@ -654,7 +655,7 @@
// Run an app with JMX enabled and with some properties set
// in command line.
// stop JMX agent and then start it again with different property values
- // make sure these properties overriden corectly
+ // make sure these properties overridden corectly
System.out.println("**** Test eight ****");
@@ -690,7 +691,7 @@
// stop JMX agent and then start it again with different property values
// specifing some property in management config file and some of them
// in command line
- // make sure these properties overriden corectly
+ // make sure these properties overridden corectly
System.out.println("**** Test nine ****");
@@ -725,7 +726,7 @@
// in command line.
// stop JMX agent and then start it again with different property values
// stop JMX agent again and then start it without property value
- // make sure these properties overriden corectly
+ // make sure these properties overridden corectly
System.out.println("**** Test ten ****");
@@ -800,7 +801,7 @@
// Run an app with -javaagent make sure it works as expected -
// system properties are ignored
- System.out.println("**** Test fourteen ****");
+ System.out.println("**** Test thirteen ****");
String agent = TEST_JDK + "/jre/lib/management-agent.jar";
if (!new File(agent).exists()) {
--- a/jdk/test/sun/misc/JarIndex/metaInfFilenames/Basic.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/sun/misc/JarIndex/metaInfFilenames/Basic.java Mon Feb 17 11:37:46 2014 -0500
@@ -24,7 +24,7 @@
/*
* @test
* @bug 6887710
- * @summary Verify the impact of sun.misc.JarIndex.metaInfFilenames on Service loaders
+ * @summary Verify the impact of sun.misc.JarIndex.metaInfFilenames on ServiceLoader
* @run main/othervm Basic
*/
@@ -48,9 +48,8 @@
import com.sun.net.httpserver.HttpServer;
/**
- * Verifies the impact of sun.misc.JarIndex.metaInfFilenames on service loaders
- * (sun.misc.Service & java.util.ServiceLoader), as well as finding resources
- * through Class.getResouce.
+ * Verifies the impact of sun.misc.JarIndex.metaInfFilenames on ServiceLoader
+ * and on finding resources via Class.getResource.
*
* 1) Compile the test sources:
* jarA:
@@ -214,23 +213,13 @@
int failed = 0;
- // Tests using sun.misc.Service
- if (!sunMiscServiceTest(baseURL, messageService, true, false, true)) {
- System.out.println("Test: sun.misc.Service looking for " + messageService + ", failed");
- failed++;
- }
- if (!sunMiscServiceTest(baseURL, unknownService, false, false, false)) {
- System.out.println("Test: sun.misc.Service looking for " + unknownService + " failed");
- failed++;
- }
-
// Tests using java.util.SerivceLoader
if (!javaUtilServiceLoaderTest(baseURL, messageService, true, false, true)) {
- System.out.println("Test: sun.misc.Service looking for " + messageService + ", failed");
+ System.out.println("Test: ServiceLoader looking for " + messageService + ", failed");
failed++;
}
if (!javaUtilServiceLoaderTest(baseURL, unknownService, false, false, false)) {
- System.out.println("Test: sun.misc.Service looking for " + unknownService + " failed");
+ System.out.println("Test: ServiceLoader looking for " + unknownService + " failed");
failed++;
}
@@ -248,48 +237,6 @@
throw new RuntimeException("Failed: " + failed + " tests");
}
- static boolean sunMiscServiceTest(URL baseURL,
- String serviceClass,
- boolean expectToFind,
- boolean expectbDotJar,
- boolean expectcDotJar) throws IOException {
- debug("----------------------------------");
- debug("Running test with sun.misc.Service looking for " + serviceClass);
- URLClassLoader loader = getLoader(baseURL);
- httpServer.reset();
-
- Class<?> messageServiceClass = null;
- try {
- messageServiceClass = loader.loadClass(serviceClass);
- } catch (ClassNotFoundException cnfe) {
- System.err.println(cnfe);
- throw new RuntimeException("Error in test: " + cnfe);
- }
-
- Iterator<?> iterator = sun.misc.Service.providers(messageServiceClass, loader);
- if (expectToFind && !iterator.hasNext()) {
- debug(messageServiceClass + " NOT found.");
- return false;
- }
-
- while (iterator.hasNext()) {
- debug("found " + iterator.next() + " " + messageService);
- }
-
- debug("HttpServer: " + httpServer);
-
- if (!expectbDotJar && httpServer.bDotJar > 0) {
- debug("Unexpeced request sent to the httpserver for b.jar");
- return false;
- }
- if (!expectcDotJar && httpServer.cDotJar > 0) {
- debug("Unexpeced request sent to the httpserver for c.jar");
- return false;
- }
-
- return true;
- }
-
static boolean javaUtilServiceLoaderTest(URL baseURL,
String serviceClass,
boolean expectToFind,
--- a/jdk/test/sun/rmi/log/ReliableLog/LogAlignmentTest.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/sun/rmi/log/ReliableLog/LogAlignmentTest.java Mon Feb 17 11:37:46 2014 -0500
@@ -25,7 +25,7 @@
* @bug 4094889
* @summary rmid can have a corrupted log
*
- * @run main LogAlignmentTest
+ * @run main/othervm LogAlignmentTest
*/
/* Fault: ReliableLog used RandomAccessFile.skipBytes() to seek past the end
--- a/jdk/test/sun/rmi/log/ReliableLog/SnapshotSize.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/sun/rmi/log/ReliableLog/SnapshotSize.java Mon Feb 17 11:37:46 2014 -0500
@@ -26,7 +26,7 @@
* @summary Verify that ReliableLog.snapshotSize() returns correct snapshot
* file size even if LogHandler doesn't flush.
*
- * @run main SnapshotSize
+ * @run main/othervm SnapshotSize
*/
import java.io.ByteArrayOutputStream;
--- a/jdk/test/sun/rmi/rmic/classpath/RMICClassPathTest.java Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/sun/rmi/rmic/classpath/RMICClassPathTest.java Mon Feb 17 11:37:46 2014 -0500
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -26,9 +26,10 @@
*/
/* @test
- * @bug 6610897
+ * @bug 6610897 8030844
* @summary New constructor in sun.tools.java.ClassPath builds a path using
- * File.separator instead of File.pathSeparator
+ * File.separator instead of File.pathSeparator. This test does
+ * not affect VM global state, so othervm is not required.
* @run main RMICClassPathTest
*/
@@ -37,12 +38,13 @@
import sun.rmi.rmic.BatchEnvironment;
public class RMICClassPathTest {
+ private final static String SRC_PATH = System.getProperty("test.src", ".");
public static void main(String[] args) throws Exception {
- String sysPath = "/home/~user/jdk/jre/lib/rt.jar";
+ String sysPath = SRC_PATH + "/jdk/jre/lib/rt.jar";
String extDir = "";
- String clPath = "/home/~user/user.jar" + File.pathSeparator +
- "/home/~user/user2.jar" + File.pathSeparator +
- "/home/~user/user3.jar";
+ String clPath = SRC_PATH + "/user.jar" + File.pathSeparator +
+ SRC_PATH + "/user2.jar" + File.pathSeparator +
+ SRC_PATH + "/user3.jar";
String cpStr = BatchEnvironment.createClassPath(clPath, sysPath, extDir).toString();
--- a/jdk/test/sun/security/krb5/config/dns.sh Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/sun/security/krb5/config/dns.sh Mon Feb 17 11:37:46 2014 -0500
@@ -40,5 +40,5 @@
$COMPILEJAVA/bin/javac ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d . \
${TESTSRC}/NamingManager.java ${TESTSRC}/DNS.java
-$TESTJAVA/bin/java -Xbootclasspath/p:. DNS
+$TESTJAVA/bin/java ${TESTVMOPTS} -Xbootclasspath/p:. DNS
--- a/jdk/test/sun/security/tools/keytool/autotest.sh Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/sun/security/tools/keytool/autotest.sh Mon Feb 17 11:37:46 2014 -0500
@@ -106,7 +106,7 @@
chmod u+w key3.db
chmod u+w cert8.db
-echo | ${TESTJAVA}${FS}bin${FS}java -Dnss \
+echo | ${TESTJAVA}${FS}bin${FS}java ${TESTVMOPTS} -Dnss \
-Dnss.lib=${LIBNAME} \
KeyToolTest
status=$?
--- a/jdk/test/sun/tools/jconsole/ResourceCheckTest.sh Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/sun/tools/jconsole/ResourceCheckTest.sh Mon Feb 17 11:37:46 2014 -0500
@@ -102,7 +102,7 @@
"${TESTSRC}"/"${TARGETCLASS}".java
#
#Run the test class, again with the classpath we need:
-${TESTJAVA}/bin/java ${CP} ${TARGETCLASS}
+${TESTJAVA}/bin/java ${TESTVMOPTS} ${CP} ${TARGETCLASS}
status=$?
echo "test status was: $status"
if [ $status -eq "0" ];
--- a/jdk/test/sun/tools/native2ascii/resources/ImmutableResourceTest.sh Mon Feb 17 11:36:40 2014 -0500
+++ b/jdk/test/sun/tools/native2ascii/resources/ImmutableResourceTest.sh Mon Feb 17 11:37:46 2014 -0500
@@ -104,7 +104,7 @@
"${TESTSRC}"/"${TARGETCLASS}".java
#
#Run the test class, again with the classpath we need:
-${TESTJAVA}/bin/java ${CP} ${TARGETCLASS}
+${TESTJAVA}/bin/java ${TESTVMOPTS} ${CP} ${TARGETCLASS}
status=$?
echo "test status was: $status"
if [ $status -eq "0" ];