* Update struct DevRec methods to take a "void *" parameter
since they get called with different xxxInterface records
depending on whether they are a keyboard, mouse, or display.
Introduce GenericReturnVoid method implementation for use
where needed with DevRec methods. (see mouseif.c)
* Cast functions implementing DevRec methods as appropriate to match
the method signature.
* Update struct DspInterfaceRec methods cleardisplay,
bitblt_to_screen, mouse_invisible, and mouse_visible to declare
the parameters they require and all return unsigned long results
(though it's not clear that this is actually the correct type).
Requires updating dosmouse.c method implementations.
* Update GenericReturnT and GenericPanic method implementations
to have the signature required by the method slots they
are used in.
* Correct DOS-only section with incorrect arguments to device.exit
call for the mouse.
* Use include "dspifdefs.h" for prototypes for GenericReturnXXX method
implementations.
devif.h, mnxdefs.h:
Update MRegion to reflect that width/height are unsigned.
Update ...EventMask fields in XWINDOW section of DspInterfaceRec to match parameter
type used in XSelectInput() to which they are passed.
Add padding to explicitly align colors field (short among longs)
xbitmaps.h:
Reorder fields in LISP_CURSOR struct to avoid requiring padding for alignment
constraints, and adjust initialization to match.
Declare cursors static const.
Move Lisp_Icon from xbitmaps.h to xmkicon.c
xinit.c, xinitdefs.h
Replace bound() (xwinmandefs.h) with static inline unsigned ubound() in xinit.c
Change signature of X_init() to use unsigned values for width, height, depth.
Add casts where necessary to avoid implicit signedness conversions.
Add extern declarations for all globals defined in xinit.c
xwinman.c, xwinmandefs.h
Remove bound() from xwinmandefs.h and use static inline unsigned ubound() in xwinman.c
Change signature of lisp_Xconfigure() to use unsigned width and height parameters.
Make GravSize unsigned to match its usage context.
Add casts where necessary to avoid implicit signedness conversions.
Add missing break to correct switch case fall-through warning.
dspif.c
Change LispDisplayRequestedWidth/Height to unsigned to reflect context of use.
xlspwin.c
Eliminate declaration for unused XEvent report.
Move global variable gcv, used only locally, to local variable in the procedures where needed.
Change various variables used in width/height calculation to unsigned to match usage context.
Add casts where necessary to avoid implicit signedness conversions.
xmkicon.c
Move Lisp_Icon from xbitmaps.h to xmkicon.c.
Move global XImage IconImage to local in function where it is required.
Add cast where necessary to avoid implicit signedness conversions.
xrdopt.c
Remove incorrect casts for signedness causing implicit sign conversion warnings.
Add extern declarations for all globals defined in xrdopt.c
xscroll.c
Replace bound() (xwinmandefs.h) with static inline signed sbound() in xscroll.c
initdsp.c, initdspdefs.h
Change signedness of various display variables from int to unsigned.
Change signature of init_display2() to unsigned display_max.
Add extern declarations for some globals defined in initdsp.c
xbbt.c
Add explicit casts for type warnings from MRegion width/height change.
Add explicit casts for type warnings in arguments to XPutImage().
* The transport between the Maiko client and Nethub server is TCP based and therefore data is buffered by the kernel so it is not necessary to have an additional layer of buffering to capture multiple logical packets before passing them to the Lisp ethernet interrupt handler.
* Receive packet directly into Lisp’s buffer and byte-swap in place only if necessary.
* Ethernet packet handling is no longer done directly in the signal handler so it is not necessary to block/unblock signals while a packet is being read from the byte stream in ether_get().
* Remove references to ETHEREventCount as it is unnecessary and the implementation (xc.c; other ethernet handlers) that attempted to use it to handle missed ethernet interrupts is incorrect, resulting in calls to the Lisp interrupt handler with no new packet data.
* Style changes - Use early return rather than nesting if statements. Move variable declarations from inline to beginning of function if they are not local to a small block. Use %p format specifier for printing pointers.