Import build of Tcl/Tk 8.6.8
This commit is contained in:
677
amd64/include/X11/X.h
Normal file
677
amd64/include/X11/X.h
Normal file
@@ -0,0 +1,677 @@
|
||||
/*
|
||||
* $XConsortium: X.h,v 1.66 88/09/06 15:55:56 jim Exp $
|
||||
*/
|
||||
|
||||
/* Definitions for the X window system likely to be used by applications */
|
||||
|
||||
#ifndef X_H
|
||||
#define X_H
|
||||
|
||||
/***********************************************************
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
|
||||
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the names of Digital or MIT not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
#define X_PROTOCOL 11 /* current protocol version */
|
||||
#define X_PROTOCOL_REVISION 0 /* current minor version */
|
||||
|
||||
#if defined(MAC_OSX_TK)
|
||||
# define Cursor XCursor
|
||||
# define Region XRegion
|
||||
#endif
|
||||
|
||||
/* Resources */
|
||||
|
||||
#ifdef _WIN64
|
||||
typedef __int64 XID;
|
||||
#else
|
||||
typedef unsigned long XID;
|
||||
#endif
|
||||
|
||||
typedef XID Window;
|
||||
typedef XID Drawable;
|
||||
typedef XID Font;
|
||||
typedef XID Pixmap;
|
||||
typedef XID Cursor;
|
||||
typedef XID Colormap;
|
||||
typedef XID GContext;
|
||||
typedef XID KeySym;
|
||||
|
||||
typedef unsigned long Mask;
|
||||
|
||||
typedef unsigned long Atom;
|
||||
|
||||
typedef unsigned long VisualID;
|
||||
|
||||
typedef unsigned long Time;
|
||||
|
||||
typedef unsigned long KeyCode; /* In order to use IME, the Macintosh needs
|
||||
* to pack 3 bytes into the keyCode field in
|
||||
* the XEvent. In the real X.h, a KeyCode is
|
||||
* defined as a short, which wouldn't be big
|
||||
* enough. */
|
||||
|
||||
/*****************************************************************
|
||||
* RESERVED RESOURCE AND CONSTANT DEFINITIONS
|
||||
*****************************************************************/
|
||||
|
||||
#define None 0L /* universal null resource or null atom */
|
||||
|
||||
#define ParentRelative 1L /* background pixmap in CreateWindow
|
||||
and ChangeWindowAttributes */
|
||||
|
||||
#define CopyFromParent 0L /* border pixmap in CreateWindow
|
||||
and ChangeWindowAttributes
|
||||
special VisualID and special window
|
||||
class passed to CreateWindow */
|
||||
|
||||
#define PointerWindow 0L /* destination window in SendEvent */
|
||||
#define InputFocus 1L /* destination window in SendEvent */
|
||||
|
||||
#define PointerRoot 1L /* focus window in SetInputFocus */
|
||||
|
||||
#define AnyPropertyType 0L /* special Atom, passed to GetProperty */
|
||||
|
||||
#define AnyKey 0L /* special Key Code, passed to GrabKey */
|
||||
|
||||
#define AnyButton 0L /* special Button Code, passed to GrabButton */
|
||||
|
||||
#define AllTemporary 0L /* special Resource ID passed to KillClient */
|
||||
|
||||
#define CurrentTime 0L /* special Time */
|
||||
|
||||
#define NoSymbol 0L /* special KeySym */
|
||||
|
||||
/*****************************************************************
|
||||
* EVENT DEFINITIONS
|
||||
*****************************************************************/
|
||||
|
||||
/* Input Event Masks. Used as event-mask window attribute and as arguments
|
||||
to Grab requests. Not to be confused with event names. */
|
||||
|
||||
#define NoEventMask 0L
|
||||
#define KeyPressMask (1L<<0)
|
||||
#define KeyReleaseMask (1L<<1)
|
||||
#define ButtonPressMask (1L<<2)
|
||||
#define ButtonReleaseMask (1L<<3)
|
||||
#define EnterWindowMask (1L<<4)
|
||||
#define LeaveWindowMask (1L<<5)
|
||||
#define PointerMotionMask (1L<<6)
|
||||
#define PointerMotionHintMask (1L<<7)
|
||||
#define Button1MotionMask (1L<<8)
|
||||
#define Button2MotionMask (1L<<9)
|
||||
#define Button3MotionMask (1L<<10)
|
||||
#define Button4MotionMask (1L<<11)
|
||||
#define Button5MotionMask (1L<<12)
|
||||
#define ButtonMotionMask (1L<<13)
|
||||
#define KeymapStateMask (1L<<14)
|
||||
#define ExposureMask (1L<<15)
|
||||
#define VisibilityChangeMask (1L<<16)
|
||||
#define StructureNotifyMask (1L<<17)
|
||||
#define ResizeRedirectMask (1L<<18)
|
||||
#define SubstructureNotifyMask (1L<<19)
|
||||
#define SubstructureRedirectMask (1L<<20)
|
||||
#define FocusChangeMask (1L<<21)
|
||||
#define PropertyChangeMask (1L<<22)
|
||||
#define ColormapChangeMask (1L<<23)
|
||||
#define OwnerGrabButtonMask (1L<<24)
|
||||
|
||||
/* Event names. Used in "type" field in XEvent structures. Not to be
|
||||
confused with event masks above. They start from 2 because 0 and 1
|
||||
are reserved in the protocol for errors and replies. */
|
||||
|
||||
#define KeyPress 2
|
||||
#define KeyRelease 3
|
||||
#define ButtonPress 4
|
||||
#define ButtonRelease 5
|
||||
#define MotionNotify 6
|
||||
#define EnterNotify 7
|
||||
#define LeaveNotify 8
|
||||
#define FocusIn 9
|
||||
#define FocusOut 10
|
||||
#define KeymapNotify 11
|
||||
#define Expose 12
|
||||
#define GraphicsExpose 13
|
||||
#define NoExpose 14
|
||||
#define VisibilityNotify 15
|
||||
#define CreateNotify 16
|
||||
#define DestroyNotify 17
|
||||
#define UnmapNotify 18
|
||||
#define MapNotify 19
|
||||
#define MapRequest 20
|
||||
#define ReparentNotify 21
|
||||
#define ConfigureNotify 22
|
||||
#define ConfigureRequest 23
|
||||
#define GravityNotify 24
|
||||
#define ResizeRequest 25
|
||||
#define CirculateNotify 26
|
||||
#define CirculateRequest 27
|
||||
#define PropertyNotify 28
|
||||
#define SelectionClear 29
|
||||
#define SelectionRequest 30
|
||||
#define SelectionNotify 31
|
||||
#define ColormapNotify 32
|
||||
#define ClientMessage 33
|
||||
#define MappingNotify 34
|
||||
#define LASTEvent 35 /* must be bigger than any event # */
|
||||
|
||||
|
||||
/* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer,
|
||||
state in various key-, mouse-, and button-related events. */
|
||||
|
||||
#define ShiftMask (1<<0)
|
||||
#define LockMask (1<<1)
|
||||
#define ControlMask (1<<2)
|
||||
#define Mod1Mask (1<<3)
|
||||
#define Mod2Mask (1<<4)
|
||||
#define Mod3Mask (1<<5)
|
||||
#define Mod4Mask (1<<6)
|
||||
#define Mod5Mask (1<<7)
|
||||
|
||||
/* modifier names. Used to build a SetModifierMapping request or
|
||||
to read a GetModifierMapping request. These correspond to the
|
||||
masks defined above. */
|
||||
#define ShiftMapIndex 0
|
||||
#define LockMapIndex 1
|
||||
#define ControlMapIndex 2
|
||||
#define Mod1MapIndex 3
|
||||
#define Mod2MapIndex 4
|
||||
#define Mod3MapIndex 5
|
||||
#define Mod4MapIndex 6
|
||||
#define Mod5MapIndex 7
|
||||
|
||||
|
||||
/* button masks. Used in same manner as Key masks above. Not to be confused
|
||||
with button names below. */
|
||||
|
||||
#define Button1Mask (1<<8)
|
||||
#define Button2Mask (1<<9)
|
||||
#define Button3Mask (1<<10)
|
||||
#define Button4Mask (1<<11)
|
||||
#define Button5Mask (1<<12)
|
||||
|
||||
#define AnyModifier (1<<15) /* used in GrabButton, GrabKey */
|
||||
|
||||
|
||||
/* button names. Used as arguments to GrabButton and as detail in ButtonPress
|
||||
and ButtonRelease events. Not to be confused with button masks above.
|
||||
Note that 0 is already defined above as "AnyButton". */
|
||||
|
||||
#define Button1 1
|
||||
#define Button2 2
|
||||
#define Button3 3
|
||||
#define Button4 4
|
||||
#define Button5 5
|
||||
|
||||
/* Notify modes */
|
||||
|
||||
#define NotifyNormal 0
|
||||
#define NotifyGrab 1
|
||||
#define NotifyUngrab 2
|
||||
#define NotifyWhileGrabbed 3
|
||||
|
||||
#define NotifyHint 1 /* for MotionNotify events */
|
||||
|
||||
/* Notify detail */
|
||||
|
||||
#define NotifyAncestor 0
|
||||
#define NotifyVirtual 1
|
||||
#define NotifyInferior 2
|
||||
#define NotifyNonlinear 3
|
||||
#define NotifyNonlinearVirtual 4
|
||||
#define NotifyPointer 5
|
||||
#define NotifyPointerRoot 6
|
||||
#define NotifyDetailNone 7
|
||||
|
||||
/* Visibility notify */
|
||||
|
||||
#define VisibilityUnobscured 0
|
||||
#define VisibilityPartiallyObscured 1
|
||||
#define VisibilityFullyObscured 2
|
||||
|
||||
/* Circulation request */
|
||||
|
||||
#define PlaceOnTop 0
|
||||
#define PlaceOnBottom 1
|
||||
|
||||
/* protocol families */
|
||||
|
||||
#define FamilyInternet 0
|
||||
#define FamilyDECnet 1
|
||||
#define FamilyChaos 2
|
||||
|
||||
/* Property notification */
|
||||
|
||||
#define PropertyNewValue 0
|
||||
#define PropertyDelete 1
|
||||
|
||||
/* Color Map notification */
|
||||
|
||||
#define ColormapUninstalled 0
|
||||
#define ColormapInstalled 1
|
||||
|
||||
/* GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes */
|
||||
|
||||
#define GrabModeSync 0
|
||||
#define GrabModeAsync 1
|
||||
|
||||
/* GrabPointer, GrabKeyboard reply status */
|
||||
|
||||
#define GrabSuccess 0
|
||||
#define AlreadyGrabbed 1
|
||||
#define GrabInvalidTime 2
|
||||
#define GrabNotViewable 3
|
||||
#define GrabFrozen 4
|
||||
|
||||
/* AllowEvents modes */
|
||||
|
||||
#define AsyncPointer 0
|
||||
#define SyncPointer 1
|
||||
#define ReplayPointer 2
|
||||
#define AsyncKeyboard 3
|
||||
#define SyncKeyboard 4
|
||||
#define ReplayKeyboard 5
|
||||
#define AsyncBoth 6
|
||||
#define SyncBoth 7
|
||||
|
||||
/* Used in SetInputFocus, GetInputFocus */
|
||||
|
||||
#define RevertToNone (int)None
|
||||
#define RevertToPointerRoot (int)PointerRoot
|
||||
#define RevertToParent 2
|
||||
|
||||
/*****************************************************************
|
||||
* ERROR CODES
|
||||
*****************************************************************/
|
||||
|
||||
#define Success 0 /* everything's okay */
|
||||
#define BadRequest 1 /* bad request code */
|
||||
#define BadValue 2 /* int parameter out of range */
|
||||
#define BadWindow 3 /* parameter not a Window */
|
||||
#define BadPixmap 4 /* parameter not a Pixmap */
|
||||
#define BadAtom 5 /* parameter not an Atom */
|
||||
#define BadCursor 6 /* parameter not a Cursor */
|
||||
#define BadFont 7 /* parameter not a Font */
|
||||
#define BadMatch 8 /* parameter mismatch */
|
||||
#define BadDrawable 9 /* parameter not a Pixmap or Window */
|
||||
#define BadAccess 10 /* depending on context:
|
||||
- key/button already grabbed
|
||||
- attempt to free an illegal
|
||||
cmap entry
|
||||
- attempt to store into a read-only
|
||||
color map entry.
|
||||
- attempt to modify the access control
|
||||
list from other than the local host.
|
||||
*/
|
||||
#define BadAlloc 11 /* insufficient resources */
|
||||
#define BadColor 12 /* no such colormap */
|
||||
#define BadGC 13 /* parameter not a GC */
|
||||
#define BadIDChoice 14 /* choice not in range or already used */
|
||||
#define BadName 15 /* font or color name doesn't exist */
|
||||
#define BadLength 16 /* Request length incorrect */
|
||||
#define BadImplementation 17 /* server is defective */
|
||||
|
||||
#define FirstExtensionError 128
|
||||
#define LastExtensionError 255
|
||||
|
||||
/*****************************************************************
|
||||
* WINDOW DEFINITIONS
|
||||
*****************************************************************/
|
||||
|
||||
/* Window classes used by CreateWindow */
|
||||
/* Note that CopyFromParent is already defined as 0 above */
|
||||
|
||||
#define InputOutput 1
|
||||
#define InputOnly 2
|
||||
|
||||
/* Window attributes for CreateWindow and ChangeWindowAttributes */
|
||||
|
||||
#define CWBackPixmap (1L<<0)
|
||||
#define CWBackPixel (1L<<1)
|
||||
#define CWBorderPixmap (1L<<2)
|
||||
#define CWBorderPixel (1L<<3)
|
||||
#define CWBitGravity (1L<<4)
|
||||
#define CWWinGravity (1L<<5)
|
||||
#define CWBackingStore (1L<<6)
|
||||
#define CWBackingPlanes (1L<<7)
|
||||
#define CWBackingPixel (1L<<8)
|
||||
#define CWOverrideRedirect (1L<<9)
|
||||
#define CWSaveUnder (1L<<10)
|
||||
#define CWEventMask (1L<<11)
|
||||
#define CWDontPropagate (1L<<12)
|
||||
#define CWColormap (1L<<13)
|
||||
#define CWCursor (1L<<14)
|
||||
|
||||
/* ConfigureWindow structure */
|
||||
|
||||
#define CWX (1<<0)
|
||||
#define CWY (1<<1)
|
||||
#define CWWidth (1<<2)
|
||||
#define CWHeight (1<<3)
|
||||
#define CWBorderWidth (1<<4)
|
||||
#define CWSibling (1<<5)
|
||||
#define CWStackMode (1<<6)
|
||||
|
||||
|
||||
/* Bit Gravity */
|
||||
|
||||
#define ForgetGravity 0
|
||||
#define NorthWestGravity 1
|
||||
#define NorthGravity 2
|
||||
#define NorthEastGravity 3
|
||||
#define WestGravity 4
|
||||
#define CenterGravity 5
|
||||
#define EastGravity 6
|
||||
#define SouthWestGravity 7
|
||||
#define SouthGravity 8
|
||||
#define SouthEastGravity 9
|
||||
#define StaticGravity 10
|
||||
|
||||
/* Window gravity + bit gravity above */
|
||||
|
||||
#define UnmapGravity 0
|
||||
|
||||
/* Used in CreateWindow for backing-store hint */
|
||||
|
||||
#define NotUseful 0
|
||||
#define WhenMapped 1
|
||||
#define Always 2
|
||||
|
||||
/* Used in GetWindowAttributes reply */
|
||||
|
||||
#define IsUnmapped 0
|
||||
#define IsUnviewable 1
|
||||
#define IsViewable 2
|
||||
|
||||
/* Used in ChangeSaveSet */
|
||||
|
||||
#define SetModeInsert 0
|
||||
#define SetModeDelete 1
|
||||
|
||||
/* Used in ChangeCloseDownMode */
|
||||
|
||||
#define DestroyAll 0
|
||||
#define RetainPermanent 1
|
||||
#define RetainTemporary 2
|
||||
|
||||
/* Window stacking method (in configureWindow) */
|
||||
|
||||
#define Above 0
|
||||
#define Below 1
|
||||
#define TopIf 2
|
||||
#define BottomIf 3
|
||||
#define Opposite 4
|
||||
|
||||
/* Circulation direction */
|
||||
|
||||
#define RaiseLowest 0
|
||||
#define LowerHighest 1
|
||||
|
||||
/* Property modes */
|
||||
|
||||
#define PropModeReplace 0
|
||||
#define PropModePrepend 1
|
||||
#define PropModeAppend 2
|
||||
|
||||
/*****************************************************************
|
||||
* GRAPHICS DEFINITIONS
|
||||
*****************************************************************/
|
||||
|
||||
/* graphics functions, as in GC.alu */
|
||||
|
||||
#define GXclear 0x0 /* 0 */
|
||||
#define GXand 0x1 /* src AND dst */
|
||||
#define GXandReverse 0x2 /* src AND NOT dst */
|
||||
#define GXcopy 0x3 /* src */
|
||||
#define GXandInverted 0x4 /* NOT src AND dst */
|
||||
#define GXnoop 0x5 /* dst */
|
||||
#define GXxor 0x6 /* src XOR dst */
|
||||
#define GXor 0x7 /* src OR dst */
|
||||
#define GXnor 0x8 /* NOT src AND NOT dst */
|
||||
#define GXequiv 0x9 /* NOT src XOR dst */
|
||||
#define GXinvert 0xa /* NOT dst */
|
||||
#define GXorReverse 0xb /* src OR NOT dst */
|
||||
#define GXcopyInverted 0xc /* NOT src */
|
||||
#define GXorInverted 0xd /* NOT src OR dst */
|
||||
#define GXnand 0xe /* NOT src OR NOT dst */
|
||||
#define GXset 0xf /* 1 */
|
||||
|
||||
/* LineStyle */
|
||||
|
||||
#define LineSolid 0
|
||||
#define LineOnOffDash 1
|
||||
#define LineDoubleDash 2
|
||||
|
||||
/* capStyle */
|
||||
|
||||
#define CapNotLast 0
|
||||
#define CapButt 1
|
||||
#define CapRound 2
|
||||
#define CapProjecting 3
|
||||
|
||||
/* joinStyle */
|
||||
|
||||
#define JoinMiter 0
|
||||
#define JoinRound 1
|
||||
#define JoinBevel 2
|
||||
|
||||
/* fillStyle */
|
||||
|
||||
#define FillSolid 0
|
||||
#define FillTiled 1
|
||||
#define FillStippled 2
|
||||
#define FillOpaqueStippled 3
|
||||
|
||||
/* fillRule */
|
||||
|
||||
#define EvenOddRule 0
|
||||
#define WindingRule 1
|
||||
|
||||
/* subwindow mode */
|
||||
|
||||
#define ClipByChildren 0
|
||||
#define IncludeInferiors 1
|
||||
|
||||
/* SetClipRectangles ordering */
|
||||
|
||||
#define Unsorted 0
|
||||
#define YSorted 1
|
||||
#define YXSorted 2
|
||||
#define YXBanded 3
|
||||
|
||||
/* CoordinateMode for drawing routines */
|
||||
|
||||
#define CoordModeOrigin 0 /* relative to the origin */
|
||||
#define CoordModePrevious 1 /* relative to previous point */
|
||||
|
||||
/* Polygon shapes */
|
||||
|
||||
#define Complex 0 /* paths may intersect */
|
||||
#define Nonconvex 1 /* no paths intersect, but not convex */
|
||||
#define Convex 2 /* wholly convex */
|
||||
|
||||
/* Arc modes for PolyFillArc */
|
||||
|
||||
#define ArcChord 0 /* join endpoints of arc */
|
||||
#define ArcPieSlice 1 /* join endpoints to center of arc */
|
||||
|
||||
/* GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into
|
||||
GC.stateChanges */
|
||||
|
||||
#define GCFunction (1L<<0)
|
||||
#define GCPlaneMask (1L<<1)
|
||||
#define GCForeground (1L<<2)
|
||||
#define GCBackground (1L<<3)
|
||||
#define GCLineWidth (1L<<4)
|
||||
#define GCLineStyle (1L<<5)
|
||||
#define GCCapStyle (1L<<6)
|
||||
#define GCJoinStyle (1L<<7)
|
||||
#define GCFillStyle (1L<<8)
|
||||
#define GCFillRule (1L<<9)
|
||||
#define GCTile (1L<<10)
|
||||
#define GCStipple (1L<<11)
|
||||
#define GCTileStipXOrigin (1L<<12)
|
||||
#define GCTileStipYOrigin (1L<<13)
|
||||
#define GCFont (1L<<14)
|
||||
#define GCSubwindowMode (1L<<15)
|
||||
#define GCGraphicsExposures (1L<<16)
|
||||
#define GCClipXOrigin (1L<<17)
|
||||
#define GCClipYOrigin (1L<<18)
|
||||
#define GCClipMask (1L<<19)
|
||||
#define GCDashOffset (1L<<20)
|
||||
#define GCDashList (1L<<21)
|
||||
#define GCArcMode (1L<<22)
|
||||
|
||||
#define GCLastBit 22
|
||||
/*****************************************************************
|
||||
* FONTS
|
||||
*****************************************************************/
|
||||
|
||||
/* used in QueryFont -- draw direction */
|
||||
|
||||
#define FontLeftToRight 0
|
||||
#define FontRightToLeft 1
|
||||
|
||||
#define FontChange 255
|
||||
|
||||
/*****************************************************************
|
||||
* IMAGING
|
||||
*****************************************************************/
|
||||
|
||||
/* ImageFormat -- PutImage, GetImage */
|
||||
|
||||
#define XYBitmap 0 /* depth 1, XYFormat */
|
||||
#define XYPixmap 1 /* depth == drawable depth */
|
||||
#define ZPixmap 2 /* depth == drawable depth */
|
||||
|
||||
/*****************************************************************
|
||||
* COLOR MAP STUFF
|
||||
*****************************************************************/
|
||||
|
||||
/* For CreateColormap */
|
||||
|
||||
#define AllocNone 0 /* create map with no entries */
|
||||
#define AllocAll 1 /* allocate entire map writeable */
|
||||
|
||||
|
||||
/* Flags used in StoreNamedColor, StoreColors */
|
||||
|
||||
#define DoRed (1<<0)
|
||||
#define DoGreen (1<<1)
|
||||
#define DoBlue (1<<2)
|
||||
|
||||
/*****************************************************************
|
||||
* CURSOR STUFF
|
||||
*****************************************************************/
|
||||
|
||||
/* QueryBestSize Class */
|
||||
|
||||
#define CursorShape 0 /* largest size that can be displayed */
|
||||
#define TileShape 1 /* size tiled fastest */
|
||||
#define StippleShape 2 /* size stippled fastest */
|
||||
|
||||
/*****************************************************************
|
||||
* KEYBOARD/POINTER STUFF
|
||||
*****************************************************************/
|
||||
|
||||
#define AutoRepeatModeOff 0
|
||||
#define AutoRepeatModeOn 1
|
||||
#define AutoRepeatModeDefault 2
|
||||
|
||||
#define LedModeOff 0
|
||||
#define LedModeOn 1
|
||||
|
||||
/* masks for ChangeKeyboardControl */
|
||||
|
||||
#define KBKeyClickPercent (1L<<0)
|
||||
#define KBBellPercent (1L<<1)
|
||||
#define KBBellPitch (1L<<2)
|
||||
#define KBBellDuration (1L<<3)
|
||||
#define KBLed (1L<<4)
|
||||
#define KBLedMode (1L<<5)
|
||||
#define KBKey (1L<<6)
|
||||
#define KBAutoRepeatMode (1L<<7)
|
||||
|
||||
#define MappingSuccess 0
|
||||
#define MappingBusy 1
|
||||
#define MappingFailed 2
|
||||
|
||||
#define MappingModifier 0
|
||||
#define MappingKeyboard 1
|
||||
#define MappingPointer 2
|
||||
|
||||
/*****************************************************************
|
||||
* SCREEN SAVER STUFF
|
||||
*****************************************************************/
|
||||
|
||||
#define DontPreferBlanking 0
|
||||
#define PreferBlanking 1
|
||||
#define DefaultBlanking 2
|
||||
|
||||
#define DisableScreenSaver 0
|
||||
#define DisableScreenInterval 0
|
||||
|
||||
#define DontAllowExposures 0
|
||||
#define AllowExposures 1
|
||||
#define DefaultExposures 2
|
||||
|
||||
/* for ForceScreenSaver */
|
||||
|
||||
#define ScreenSaverReset 0
|
||||
#define ScreenSaverActive 1
|
||||
|
||||
/*****************************************************************
|
||||
* HOSTS AND CONNECTIONS
|
||||
*****************************************************************/
|
||||
|
||||
/* for ChangeHosts */
|
||||
|
||||
#define HostInsert 0
|
||||
#define HostDelete 1
|
||||
|
||||
/* for ChangeAccessControl */
|
||||
|
||||
#define EnableAccess 1
|
||||
#define DisableAccess 0
|
||||
|
||||
/* Display classes used in opening the connection
|
||||
* Note that the statically allocated ones are even numbered and the
|
||||
* dynamically changeable ones are odd numbered */
|
||||
|
||||
#define StaticGray 0
|
||||
#define GrayScale 1
|
||||
#define StaticColor 2
|
||||
#define PseudoColor 3
|
||||
#define TrueColor 4
|
||||
#define DirectColor 5
|
||||
|
||||
|
||||
/* Byte order used in imageByteOrder and bitmapBitOrder */
|
||||
|
||||
#define LSBFirst 0
|
||||
#define MSBFirst 1
|
||||
|
||||
#if defined(MAC_OSX_TK)
|
||||
# undef Cursor
|
||||
# undef Region
|
||||
#endif
|
||||
|
||||
#endif /* X_H */
|
||||
79
amd64/include/X11/Xatom.h
Normal file
79
amd64/include/X11/Xatom.h
Normal file
@@ -0,0 +1,79 @@
|
||||
#ifndef XATOM_H
|
||||
#define XATOM_H 1
|
||||
|
||||
/* THIS IS A GENERATED FILE
|
||||
*
|
||||
* Do not change! Changing this file implies a protocol change!
|
||||
*/
|
||||
|
||||
#define XA_PRIMARY ((Atom) 1)
|
||||
#define XA_SECONDARY ((Atom) 2)
|
||||
#define XA_ARC ((Atom) 3)
|
||||
#define XA_ATOM ((Atom) 4)
|
||||
#define XA_BITMAP ((Atom) 5)
|
||||
#define XA_CARDINAL ((Atom) 6)
|
||||
#define XA_COLORMAP ((Atom) 7)
|
||||
#define XA_CURSOR ((Atom) 8)
|
||||
#define XA_CUT_BUFFER0 ((Atom) 9)
|
||||
#define XA_CUT_BUFFER1 ((Atom) 10)
|
||||
#define XA_CUT_BUFFER2 ((Atom) 11)
|
||||
#define XA_CUT_BUFFER3 ((Atom) 12)
|
||||
#define XA_CUT_BUFFER4 ((Atom) 13)
|
||||
#define XA_CUT_BUFFER5 ((Atom) 14)
|
||||
#define XA_CUT_BUFFER6 ((Atom) 15)
|
||||
#define XA_CUT_BUFFER7 ((Atom) 16)
|
||||
#define XA_DRAWABLE ((Atom) 17)
|
||||
#define XA_FONT ((Atom) 18)
|
||||
#define XA_INTEGER ((Atom) 19)
|
||||
#define XA_PIXMAP ((Atom) 20)
|
||||
#define XA_POINT ((Atom) 21)
|
||||
#define XA_RECTANGLE ((Atom) 22)
|
||||
#define XA_RESOURCE_MANAGER ((Atom) 23)
|
||||
#define XA_RGB_COLOR_MAP ((Atom) 24)
|
||||
#define XA_RGB_BEST_MAP ((Atom) 25)
|
||||
#define XA_RGB_BLUE_MAP ((Atom) 26)
|
||||
#define XA_RGB_DEFAULT_MAP ((Atom) 27)
|
||||
#define XA_RGB_GRAY_MAP ((Atom) 28)
|
||||
#define XA_RGB_GREEN_MAP ((Atom) 29)
|
||||
#define XA_RGB_RED_MAP ((Atom) 30)
|
||||
#define XA_STRING ((Atom) 31)
|
||||
#define XA_VISUALID ((Atom) 32)
|
||||
#define XA_WINDOW ((Atom) 33)
|
||||
#define XA_WM_COMMAND ((Atom) 34)
|
||||
#define XA_WM_HINTS ((Atom) 35)
|
||||
#define XA_WM_CLIENT_MACHINE ((Atom) 36)
|
||||
#define XA_WM_ICON_NAME ((Atom) 37)
|
||||
#define XA_WM_ICON_SIZE ((Atom) 38)
|
||||
#define XA_WM_NAME ((Atom) 39)
|
||||
#define XA_WM_NORMAL_HINTS ((Atom) 40)
|
||||
#define XA_WM_SIZE_HINTS ((Atom) 41)
|
||||
#define XA_WM_ZOOM_HINTS ((Atom) 42)
|
||||
#define XA_MIN_SPACE ((Atom) 43)
|
||||
#define XA_NORM_SPACE ((Atom) 44)
|
||||
#define XA_MAX_SPACE ((Atom) 45)
|
||||
#define XA_END_SPACE ((Atom) 46)
|
||||
#define XA_SUPERSCRIPT_X ((Atom) 47)
|
||||
#define XA_SUPERSCRIPT_Y ((Atom) 48)
|
||||
#define XA_SUBSCRIPT_X ((Atom) 49)
|
||||
#define XA_SUBSCRIPT_Y ((Atom) 50)
|
||||
#define XA_UNDERLINE_POSITION ((Atom) 51)
|
||||
#define XA_UNDERLINE_THICKNESS ((Atom) 52)
|
||||
#define XA_STRIKEOUT_ASCENT ((Atom) 53)
|
||||
#define XA_STRIKEOUT_DESCENT ((Atom) 54)
|
||||
#define XA_ITALIC_ANGLE ((Atom) 55)
|
||||
#define XA_X_HEIGHT ((Atom) 56)
|
||||
#define XA_QUAD_WIDTH ((Atom) 57)
|
||||
#define XA_WEIGHT ((Atom) 58)
|
||||
#define XA_POINT_SIZE ((Atom) 59)
|
||||
#define XA_RESOLUTION ((Atom) 60)
|
||||
#define XA_COPYRIGHT ((Atom) 61)
|
||||
#define XA_NOTICE ((Atom) 62)
|
||||
#define XA_FONT_NAME ((Atom) 63)
|
||||
#define XA_FAMILY_NAME ((Atom) 64)
|
||||
#define XA_FULL_NAME ((Atom) 65)
|
||||
#define XA_CAP_HEIGHT ((Atom) 66)
|
||||
#define XA_WM_CLASS ((Atom) 67)
|
||||
#define XA_WM_TRANSIENT_FOR ((Atom) 68)
|
||||
|
||||
#define XA_LAST_PREDEFINED ((Atom) 68)
|
||||
#endif /* XATOM_H */
|
||||
60
amd64/include/X11/Xfuncproto.h
Normal file
60
amd64/include/X11/Xfuncproto.h
Normal file
@@ -0,0 +1,60 @@
|
||||
/* $XConsortium: Xfuncproto.h,v 1.7 91/05/13 20:49:21 rws Exp $ */
|
||||
/*
|
||||
* Copyright 1989, 1991 by the Massachusetts Institute of Technology
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software and its
|
||||
* documentation for any purpose and without fee is hereby granted, provided
|
||||
* that the above copyright notice appear in all copies and that both that
|
||||
* copyright notice and this permission notice appear in supporting
|
||||
* documentation, and that the name of M.I.T. not be used in advertising
|
||||
* or publicity pertaining to distribution of the software without specific,
|
||||
* written prior permission. M.I.T. makes no representations about the
|
||||
* suitability of this software for any purpose. It is provided "as is"
|
||||
* without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
/* Definitions to make function prototypes manageable */
|
||||
|
||||
#ifndef _XFUNCPROTO_H_
|
||||
#define _XFUNCPROTO_H_
|
||||
|
||||
#ifndef NeedFunctionPrototypes
|
||||
#define NeedFunctionPrototypes 1
|
||||
#endif /* NeedFunctionPrototypes */
|
||||
|
||||
#ifndef NeedVarargsPrototypes
|
||||
#define NeedVarargsPrototypes 0
|
||||
#endif /* NeedVarargsPrototypes */
|
||||
|
||||
#if NeedFunctionPrototypes
|
||||
|
||||
#ifndef NeedNestedPrototypes
|
||||
#define NeedNestedPrototypes 1
|
||||
#endif /* NeedNestedPrototypes */
|
||||
|
||||
#ifndef _Xconst
|
||||
#define _Xconst const
|
||||
#endif /* _Xconst */
|
||||
|
||||
#ifndef NeedWidePrototypes
|
||||
#ifdef NARROWPROTO
|
||||
#define NeedWidePrototypes 0
|
||||
#else
|
||||
#define NeedWidePrototypes 1 /* default to make interropt. easier */
|
||||
#endif
|
||||
#endif /* NeedWidePrototypes */
|
||||
|
||||
#endif /* NeedFunctionPrototypes */
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define _XFUNCPROTOBEGIN extern "C" {
|
||||
#define _XFUNCPROTOEND }
|
||||
#endif
|
||||
|
||||
#ifndef _XFUNCPROTOBEGIN
|
||||
#define _XFUNCPROTOBEGIN
|
||||
#define _XFUNCPROTOEND
|
||||
#endif /* _XFUNCPROTOBEGIN */
|
||||
|
||||
#endif /* _XFUNCPROTO_H_ */
|
||||
1212
amd64/include/X11/Xlib.h
Normal file
1212
amd64/include/X11/Xlib.h
Normal file
File diff suppressed because it is too large
Load Diff
855
amd64/include/X11/Xutil.h
Normal file
855
amd64/include/X11/Xutil.h
Normal file
@@ -0,0 +1,855 @@
|
||||
/* $XConsortium: Xutil.h,v 11.73 91/07/30 16:21:37 rws Exp $ */
|
||||
|
||||
/***********************************************************
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
|
||||
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the names of Digital or MIT not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
|
||||
#ifndef _XUTIL_H_
|
||||
#define _XUTIL_H_
|
||||
|
||||
/* You must include <X11/Xlib.h> before including this file */
|
||||
|
||||
#if defined(MAC_OSX_TK)
|
||||
# define Region XRegion
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
|
||||
* value (x, y, width, height) was found in the parsed string.
|
||||
*/
|
||||
#define NoValue 0x0000
|
||||
#define XValue 0x0001
|
||||
#define YValue 0x0002
|
||||
#define WidthValue 0x0004
|
||||
#define HeightValue 0x0008
|
||||
#define AllValues 0x000F
|
||||
#define XNegative 0x0010
|
||||
#define YNegative 0x0020
|
||||
|
||||
/*
|
||||
* new version containing base_width, base_height, and win_gravity fields;
|
||||
* used with WM_NORMAL_HINTS.
|
||||
*/
|
||||
typedef struct {
|
||||
long flags; /* marks which fields in this structure are defined */
|
||||
int x, y; /* obsolete for new window mgrs, but clients */
|
||||
int width, height; /* should set so old wm's don't mess up */
|
||||
int min_width, min_height;
|
||||
int max_width, max_height;
|
||||
int width_inc, height_inc;
|
||||
struct {
|
||||
int x; /* numerator */
|
||||
int y; /* denominator */
|
||||
} min_aspect, max_aspect;
|
||||
int base_width, base_height; /* added by ICCCM version 1 */
|
||||
int win_gravity; /* added by ICCCM version 1 */
|
||||
} XSizeHints;
|
||||
|
||||
/*
|
||||
* The next block of definitions are for window manager properties that
|
||||
* clients and applications use for communication.
|
||||
*/
|
||||
|
||||
/* flags argument in size hints */
|
||||
#define USPosition (1L << 0) /* user specified x, y */
|
||||
#define USSize (1L << 1) /* user specified width, height */
|
||||
|
||||
#define PPosition (1L << 2) /* program specified position */
|
||||
#define PSize (1L << 3) /* program specified size */
|
||||
#define PMinSize (1L << 4) /* program specified minimum size */
|
||||
#define PMaxSize (1L << 5) /* program specified maximum size */
|
||||
#define PResizeInc (1L << 6) /* program specified resize increments */
|
||||
#define PAspect (1L << 7) /* program specified min and max aspect ratios */
|
||||
#define PBaseSize (1L << 8) /* program specified base for incrementing */
|
||||
#define PWinGravity (1L << 9) /* program specified window gravity */
|
||||
|
||||
/* obsolete */
|
||||
#define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
|
||||
|
||||
|
||||
|
||||
typedef struct {
|
||||
long flags; /* marks which fields in this structure are defined */
|
||||
Bool input; /* does this application rely on the window manager to
|
||||
get keyboard input? */
|
||||
int initial_state; /* see below */
|
||||
Pixmap icon_pixmap; /* pixmap to be used as icon */
|
||||
Window icon_window; /* window to be used as icon */
|
||||
int icon_x, icon_y; /* initial position of icon */
|
||||
Pixmap icon_mask; /* icon mask bitmap */
|
||||
XID window_group; /* id of related window group */
|
||||
/* this structure may be extended in the future */
|
||||
} XWMHints;
|
||||
|
||||
/* definition for flags of XWMHints */
|
||||
|
||||
#define InputHint (1L << 0)
|
||||
#define StateHint (1L << 1)
|
||||
#define IconPixmapHint (1L << 2)
|
||||
#define IconWindowHint (1L << 3)
|
||||
#define IconPositionHint (1L << 4)
|
||||
#define IconMaskHint (1L << 5)
|
||||
#define WindowGroupHint (1L << 6)
|
||||
#define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint| \
|
||||
IconPositionHint|IconMaskHint|WindowGroupHint)
|
||||
|
||||
/* definitions for initial window state */
|
||||
#define WithdrawnState 0 /* for windows that are not mapped */
|
||||
#define NormalState 1 /* most applications want to start this way */
|
||||
#define IconicState 3 /* application wants to start as an icon */
|
||||
|
||||
/*
|
||||
* Obsolete states no longer defined by ICCCM
|
||||
*/
|
||||
#define DontCareState 0 /* don't know or care */
|
||||
#define ZoomState 2 /* application wants to start zoomed */
|
||||
#define InactiveState 4 /* application believes it is seldom used; */
|
||||
/* some wm's may put it on inactive menu */
|
||||
|
||||
|
||||
/*
|
||||
* new structure for manipulating TEXT properties; used with WM_NAME,
|
||||
* WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
|
||||
*/
|
||||
typedef struct {
|
||||
unsigned char *value; /* same as Property routines */
|
||||
Atom encoding; /* prop type */
|
||||
int format; /* prop data format: 8, 16, or 32 */
|
||||
unsigned long nitems; /* number of data items in value */
|
||||
} XTextProperty;
|
||||
|
||||
#define XNoMemory -1
|
||||
#define XLocaleNotSupported -2
|
||||
#define XConverterNotFound -3
|
||||
|
||||
typedef enum {
|
||||
XStringStyle, /* STRING */
|
||||
XCompoundTextStyle, /* COMPOUND_TEXT */
|
||||
XTextStyle, /* text in owner's encoding (current locale)*/
|
||||
XStdICCTextStyle /* STRING, else COMPOUND_TEXT */
|
||||
} XICCEncodingStyle;
|
||||
|
||||
typedef struct {
|
||||
int min_width, min_height;
|
||||
int max_width, max_height;
|
||||
int width_inc, height_inc;
|
||||
} XIconSize;
|
||||
|
||||
typedef struct {
|
||||
char *res_name;
|
||||
char *res_class;
|
||||
} XClassHint;
|
||||
|
||||
/*
|
||||
* These macros are used to give some sugar to the image routines so that
|
||||
* naive people are more comfortable with them.
|
||||
*/
|
||||
#define XDestroyImage(ximage) \
|
||||
((*((ximage)->f.destroy_image))((ximage)))
|
||||
#define XGetPixel(ximage, x, y) \
|
||||
((*((ximage)->f.get_pixel))((ximage), (x), (y)))
|
||||
#define XPutPixel(ximage, x, y, pixel) \
|
||||
((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
|
||||
#define XSubImage(ximage, x, y, width, height) \
|
||||
((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
|
||||
#define XAddPixel(ximage, value) \
|
||||
((*((ximage)->f.add_pixel))((ximage), (value)))
|
||||
|
||||
/*
|
||||
* Compose sequence status structure, used in calling XLookupString.
|
||||
*/
|
||||
typedef struct _XComposeStatus {
|
||||
XPointer compose_ptr; /* state table pointer */
|
||||
int chars_matched; /* match state */
|
||||
} XComposeStatus;
|
||||
|
||||
/*
|
||||
* Keysym macros, used on Keysyms to test for classes of symbols
|
||||
*/
|
||||
#define IsKeypadKey(keysym) \
|
||||
(((unsigned)(keysym) >= XK_KP_Space) && ((unsigned)(keysym) <= XK_KP_Equal))
|
||||
|
||||
#define IsCursorKey(keysym) \
|
||||
(((unsigned)(keysym) >= XK_Home) && ((unsigned)(keysym) < XK_Select))
|
||||
|
||||
#define IsPFKey(keysym) \
|
||||
(((unsigned)(keysym) >= XK_KP_F1) && ((unsigned)(keysym) <= XK_KP_F4))
|
||||
|
||||
#define IsFunctionKey(keysym) \
|
||||
(((unsigned)(keysym) >= XK_F1) && ((unsigned)(keysym) <= XK_F35))
|
||||
|
||||
#define IsMiscFunctionKey(keysym) \
|
||||
(((unsigned)(keysym) >= XK_Select) && ((unsigned)(keysym) <= XK_Break))
|
||||
|
||||
#define IsModifierKey(keysym) \
|
||||
((((unsigned)(keysym) >= XK_Shift_L) && ((unsigned)(keysym) <= XK_Hyper_R)) \
|
||||
|| ((unsigned)(keysym) == XK_Mode_switch) \
|
||||
|| ((unsigned)(keysym) == XK_Num_Lock))
|
||||
/*
|
||||
* opaque reference to Region data type
|
||||
*/
|
||||
typedef struct _XRegion *Region;
|
||||
|
||||
/* Return values from XRectInRegion() */
|
||||
|
||||
#define RectangleOut 0
|
||||
#define RectangleIn 1
|
||||
#define RectanglePart 2
|
||||
|
||||
|
||||
/*
|
||||
* Information used by the visual utility routines to find desired visual
|
||||
* type from the many visuals a display may support.
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
Visual *visual;
|
||||
VisualID visualid;
|
||||
int screen;
|
||||
int depth;
|
||||
#if defined(__cplusplus) || defined(c_plusplus)
|
||||
int c_class; /* C++ */
|
||||
#else
|
||||
int class;
|
||||
#endif
|
||||
unsigned long red_mask;
|
||||
unsigned long green_mask;
|
||||
unsigned long blue_mask;
|
||||
int colormap_size;
|
||||
int bits_per_rgb;
|
||||
} XVisualInfo;
|
||||
|
||||
#define VisualNoMask 0x0
|
||||
#define VisualIDMask 0x1
|
||||
#define VisualScreenMask 0x2
|
||||
#define VisualDepthMask 0x4
|
||||
#define VisualClassMask 0x8
|
||||
#define VisualRedMaskMask 0x10
|
||||
#define VisualGreenMaskMask 0x20
|
||||
#define VisualBlueMaskMask 0x40
|
||||
#define VisualColormapSizeMask 0x80
|
||||
#define VisualBitsPerRGBMask 0x100
|
||||
#define VisualAllMask 0x1FF
|
||||
|
||||
/*
|
||||
* This defines a window manager property that clients may use to
|
||||
* share standard color maps of type RGB_COLOR_MAP:
|
||||
*/
|
||||
typedef struct {
|
||||
Colormap colormap;
|
||||
unsigned long red_max;
|
||||
unsigned long red_mult;
|
||||
unsigned long green_max;
|
||||
unsigned long green_mult;
|
||||
unsigned long blue_max;
|
||||
unsigned long blue_mult;
|
||||
unsigned long base_pixel;
|
||||
VisualID visualid; /* added by ICCCM version 1 */
|
||||
XID killid; /* added by ICCCM version 1 */
|
||||
} XStandardColormap;
|
||||
|
||||
#define ReleaseByFreeingColormap ((XID) 1L) /* for killid field above */
|
||||
|
||||
|
||||
/*
|
||||
* return codes for XReadBitmapFile and XWriteBitmapFile
|
||||
*/
|
||||
#define BitmapSuccess 0
|
||||
#define BitmapOpenFailed 1
|
||||
#define BitmapFileInvalid 2
|
||||
#define BitmapNoMemory 3
|
||||
|
||||
/****************************************************************
|
||||
*
|
||||
* Context Management
|
||||
*
|
||||
****************************************************************/
|
||||
|
||||
|
||||
/* Associative lookup table return codes */
|
||||
|
||||
#define XCSUCCESS 0 /* No error. */
|
||||
#define XCNOMEM 1 /* Out of memory */
|
||||
#define XCNOENT 2 /* No entry in table */
|
||||
|
||||
typedef int XContext;
|
||||
|
||||
#define XUniqueContext() ((XContext) XrmUniqueQuark())
|
||||
#define XStringToContext(string) ((XContext) XrmStringToQuark(string))
|
||||
|
||||
_XFUNCPROTOBEGIN
|
||||
|
||||
/* The following declarations are alphabetized. */
|
||||
|
||||
extern XClassHint *XAllocClassHint (
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern XIconSize *XAllocIconSize (
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern XSizeHints *XAllocSizeHints (
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern XStandardColormap *XAllocStandardColormap (
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern XWMHints *XAllocWMHints (
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XClipBox(
|
||||
#if NeedFunctionPrototypes
|
||||
Region /* r */,
|
||||
XRectangle* /* rect_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Region XCreateRegion(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern char *XDefaultString(
|
||||
#if NeedFunctionPrototypes
|
||||
void
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int XDeleteContext(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
XID /* rid */,
|
||||
XContext /* context */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XDestroyRegion(
|
||||
#if NeedFunctionPrototypes
|
||||
Region /* r */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool XEmptyRegion(
|
||||
#if NeedFunctionPrototypes
|
||||
Region /* r */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool XEqualRegion(
|
||||
#if NeedFunctionPrototypes
|
||||
Region /* r1 */,
|
||||
Region /* r2 */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int XFindContext(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
XID /* rid */,
|
||||
XContext /* context */,
|
||||
XPointer* /* data_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Status XGetClassHint(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XClassHint* /* class_hints_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Status XGetIconSizes(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XIconSize** /* size_list_return */,
|
||||
int* /* count_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Status XGetNormalHints(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* hints_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Status XGetRGBColormaps(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XStandardColormap** /* stdcmap_return */,
|
||||
int* /* count_return */,
|
||||
Atom /* property */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Status XGetSizeHints(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* hints_return */,
|
||||
Atom /* property */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Status XGetStandardColormap(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XStandardColormap* /* colormap_return */,
|
||||
Atom /* property */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Status XGetTextProperty(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* window */,
|
||||
XTextProperty* /* text_prop_return */,
|
||||
Atom /* property */
|
||||
#endif
|
||||
);
|
||||
|
||||
|
||||
extern Status XGetWMClientMachine(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XTextProperty* /* text_prop_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern XWMHints *XGetWMHints(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Status XGetWMIconName(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XTextProperty* /* text_prop_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Status XGetWMName(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XTextProperty* /* text_prop_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Status XGetWMNormalHints(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* hints_return */,
|
||||
long* /* supplied_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Status XGetWMSizeHints(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* hints_return */,
|
||||
long* /* supplied_return */,
|
||||
Atom /* property */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Status XGetZoomHints(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* zhints_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XIntersectRegion(
|
||||
#if NeedFunctionPrototypes
|
||||
Region /* sra */,
|
||||
Region /* srb */,
|
||||
Region /* dr_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int XLookupString(
|
||||
#if NeedFunctionPrototypes
|
||||
XKeyEvent* /* event_struct */,
|
||||
char* /* buffer_return */,
|
||||
int /* bytes_buffer */,
|
||||
KeySym* /* keysym_return */,
|
||||
XComposeStatus* /* status_in_out */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Status XMatchVisualInfo(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
int /* screen */,
|
||||
int /* depth */,
|
||||
int /* class */,
|
||||
XVisualInfo* /* vinfo_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int XOffsetRegion(
|
||||
#if NeedFunctionPrototypes
|
||||
Region /* r */,
|
||||
int /* dx */,
|
||||
int /* dy */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Bool XPointInRegion(
|
||||
#if NeedFunctionPrototypes
|
||||
Region /* r */,
|
||||
int /* x */,
|
||||
int /* y */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Region XPolygonRegion(
|
||||
#if NeedFunctionPrototypes
|
||||
XPoint* /* points */,
|
||||
int /* n */,
|
||||
int /* fill_rule */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int XRectInRegion(
|
||||
#if NeedFunctionPrototypes
|
||||
Region /* r */,
|
||||
int /* x */,
|
||||
int /* y */,
|
||||
unsigned int /* width */,
|
||||
unsigned int /* height */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int XSaveContext(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
XID /* rid */,
|
||||
XContext /* context */,
|
||||
_Xconst char* /* data */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XSetClassHint(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XClassHint* /* class_hints */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XSetIconSizes(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XIconSize* /* size_list */,
|
||||
int /* count */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XSetNormalHints(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* hints */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XSetRGBColormaps(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XStandardColormap* /* stdcmaps */,
|
||||
int /* count */,
|
||||
Atom /* property */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XSetSizeHints(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* hints */,
|
||||
Atom /* property */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XSetStandardProperties(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
_Xconst char* /* window_name */,
|
||||
_Xconst char* /* icon_name */,
|
||||
Pixmap /* icon_pixmap */,
|
||||
char** /* argv */,
|
||||
int /* argc */,
|
||||
XSizeHints* /* hints */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XSetTextProperty(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XTextProperty* /* text_prop */,
|
||||
Atom /* property */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XSetWMHints(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XWMHints* /* wm_hints */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XSetWMIconName(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XTextProperty* /* text_prop */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XSetWMName(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XTextProperty* /* text_prop */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XSetWMNormalHints(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* hints */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XSetWMProperties(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XTextProperty* /* window_name */,
|
||||
XTextProperty* /* icon_name */,
|
||||
char** /* argv */,
|
||||
int /* argc */,
|
||||
XSizeHints* /* normal_hints */,
|
||||
XWMHints* /* wm_hints */,
|
||||
XClassHint* /* class_hints */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XmbSetWMProperties(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
_Xconst char* /* window_name */,
|
||||
_Xconst char* /* icon_name */,
|
||||
char** /* argv */,
|
||||
int /* argc */,
|
||||
XSizeHints* /* normal_hints */,
|
||||
XWMHints* /* wm_hints */,
|
||||
XClassHint* /* class_hints */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XSetWMSizeHints(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* hints */,
|
||||
Atom /* property */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XSetRegion(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
GC /* gc */,
|
||||
Region /* r */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XSetStandardColormap(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XStandardColormap* /* colormap */,
|
||||
Atom /* property */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XSetZoomHints(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* zhints */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XShrinkRegion(
|
||||
#if NeedFunctionPrototypes
|
||||
Region /* r */,
|
||||
int /* dx */,
|
||||
int /* dy */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XSubtractRegion(
|
||||
#if NeedFunctionPrototypes
|
||||
Region /* sra */,
|
||||
Region /* srb */,
|
||||
Region /* dr_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int XmbTextListToTextProperty(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
char** /* list */,
|
||||
int /* count */,
|
||||
XICCEncodingStyle /* style */,
|
||||
XTextProperty* /* text_prop_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int XwcTextListToTextProperty(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
wchar_t** /* list */,
|
||||
int /* count */,
|
||||
XICCEncodingStyle /* style */,
|
||||
XTextProperty* /* text_prop_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XwcFreeStringList(
|
||||
#if NeedFunctionPrototypes
|
||||
wchar_t** /* list */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern Status XTextPropertyToStringList(
|
||||
#if NeedFunctionPrototypes
|
||||
XTextProperty* /* text_prop */,
|
||||
char*** /* list_return */,
|
||||
int* /* count_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int XmbTextPropertyToTextList(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
XTextProperty* /* text_prop */,
|
||||
char*** /* list_return */,
|
||||
int* /* count_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int XwcTextPropertyToTextList(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
XTextProperty* /* text_prop */,
|
||||
wchar_t*** /* list_return */,
|
||||
int* /* count_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XUnionRectWithRegion(
|
||||
#if NeedFunctionPrototypes
|
||||
XRectangle* /* rectangle */,
|
||||
Region /* src_region */,
|
||||
Region /* dest_region_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int XUnionRegion(
|
||||
#if NeedFunctionPrototypes
|
||||
Region /* sra */,
|
||||
Region /* srb */,
|
||||
Region /* dr_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern int XWMGeometry(
|
||||
#if NeedFunctionPrototypes
|
||||
Display* /* display */,
|
||||
int /* screen_number */,
|
||||
_Xconst char* /* user_geometry */,
|
||||
_Xconst char* /* default_geometry */,
|
||||
unsigned int /* border_width */,
|
||||
XSizeHints* /* hints */,
|
||||
int* /* x_return */,
|
||||
int* /* y_return */,
|
||||
int* /* width_return */,
|
||||
int* /* height_return */,
|
||||
int* /* gravity_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
extern void XXorRegion(
|
||||
#if NeedFunctionPrototypes
|
||||
Region /* sra */,
|
||||
Region /* srb */,
|
||||
Region /* dr_return */
|
||||
#endif
|
||||
);
|
||||
|
||||
_XFUNCPROTOEND
|
||||
|
||||
#if defined(MAC_OSX_TK)
|
||||
# undef Region
|
||||
#endif
|
||||
|
||||
#endif /* _XUTIL_H_ */
|
||||
79
amd64/include/X11/cursorfont.h
Normal file
79
amd64/include/X11/cursorfont.h
Normal file
@@ -0,0 +1,79 @@
|
||||
/* $XConsortium: cursorfont.h,v 1.2 88/09/06 16:44:27 jim Exp $ */
|
||||
#define XC_num_glyphs 154
|
||||
#define XC_X_cursor 0
|
||||
#define XC_arrow 2
|
||||
#define XC_based_arrow_down 4
|
||||
#define XC_based_arrow_up 6
|
||||
#define XC_boat 8
|
||||
#define XC_bogosity 10
|
||||
#define XC_bottom_left_corner 12
|
||||
#define XC_bottom_right_corner 14
|
||||
#define XC_bottom_side 16
|
||||
#define XC_bottom_tee 18
|
||||
#define XC_box_spiral 20
|
||||
#define XC_center_ptr 22
|
||||
#define XC_circle 24
|
||||
#define XC_clock 26
|
||||
#define XC_coffee_mug 28
|
||||
#define XC_cross 30
|
||||
#define XC_cross_reverse 32
|
||||
#define XC_crosshair 34
|
||||
#define XC_diamond_cross 36
|
||||
#define XC_dot 38
|
||||
#define XC_dotbox 40
|
||||
#define XC_double_arrow 42
|
||||
#define XC_draft_large 44
|
||||
#define XC_draft_small 46
|
||||
#define XC_draped_box 48
|
||||
#define XC_exchange 50
|
||||
#define XC_fleur 52
|
||||
#define XC_gobbler 54
|
||||
#define XC_gumby 56
|
||||
#define XC_hand1 58
|
||||
#define XC_hand2 60
|
||||
#define XC_heart 62
|
||||
#define XC_icon 64
|
||||
#define XC_iron_cross 66
|
||||
#define XC_left_ptr 68
|
||||
#define XC_left_side 70
|
||||
#define XC_left_tee 72
|
||||
#define XC_leftbutton 74
|
||||
#define XC_ll_angle 76
|
||||
#define XC_lr_angle 78
|
||||
#define XC_man 80
|
||||
#define XC_middlebutton 82
|
||||
#define XC_mouse 84
|
||||
#define XC_pencil 86
|
||||
#define XC_pirate 88
|
||||
#define XC_plus 90
|
||||
#define XC_question_arrow 92
|
||||
#define XC_right_ptr 94
|
||||
#define XC_right_side 96
|
||||
#define XC_right_tee 98
|
||||
#define XC_rightbutton 100
|
||||
#define XC_rtl_logo 102
|
||||
#define XC_sailboat 104
|
||||
#define XC_sb_down_arrow 106
|
||||
#define XC_sb_h_double_arrow 108
|
||||
#define XC_sb_left_arrow 110
|
||||
#define XC_sb_right_arrow 112
|
||||
#define XC_sb_up_arrow 114
|
||||
#define XC_sb_v_double_arrow 116
|
||||
#define XC_shuttle 118
|
||||
#define XC_sizing 120
|
||||
#define XC_spider 122
|
||||
#define XC_spraycan 124
|
||||
#define XC_star 126
|
||||
#define XC_target 128
|
||||
#define XC_tcross 130
|
||||
#define XC_top_left_arrow 132
|
||||
#define XC_top_left_corner 134
|
||||
#define XC_top_right_corner 136
|
||||
#define XC_top_side 138
|
||||
#define XC_top_tee 140
|
||||
#define XC_trek 142
|
||||
#define XC_ul_angle 144
|
||||
#define XC_umbrella 146
|
||||
#define XC_ur_angle 148
|
||||
#define XC_watch 150
|
||||
#define XC_xterm 152
|
||||
35
amd64/include/X11/keysym.h
Normal file
35
amd64/include/X11/keysym.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/* $XConsortium: keysym.h,v 1.13 91/03/13 20:09:49 rws Exp $ */
|
||||
|
||||
/***********************************************************
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
|
||||
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
provided that the above copyright notice appear in all copies and that
|
||||
both that copyright notice and this permission notice appear in
|
||||
supporting documentation, and that the names of Digital or MIT not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||
SOFTWARE.
|
||||
|
||||
******************************************************************/
|
||||
|
||||
/* default keysyms */
|
||||
#define XK_MISCELLANY
|
||||
#define XK_LATIN1
|
||||
#define XK_LATIN2
|
||||
#define XK_LATIN3
|
||||
#define XK_LATIN4
|
||||
#define XK_GREEK
|
||||
|
||||
#include <X11/keysymdef.h>
|
||||
1181
amd64/include/X11/keysymdef.h
Normal file
1181
amd64/include/X11/keysymdef.h
Normal file
File diff suppressed because it is too large
Load Diff
2666
amd64/include/tcl.h
Normal file
2666
amd64/include/tcl.h
Normal file
File diff suppressed because it is too large
Load Diff
3917
amd64/include/tclDecls.h
Normal file
3917
amd64/include/tclDecls.h
Normal file
File diff suppressed because it is too large
Load Diff
147
amd64/include/tclOO.h
Normal file
147
amd64/include/tclOO.h
Normal file
@@ -0,0 +1,147 @@
|
||||
/*
|
||||
* tclOO.h --
|
||||
*
|
||||
* This file contains the public API definitions and some of the function
|
||||
* declarations for the object-system (NB: not Tcl_Obj, but ::oo).
|
||||
*
|
||||
* Copyright (c) 2006-2010 by Donal K. Fellows
|
||||
*
|
||||
* See the file "license.terms" for information on usage and redistribution of
|
||||
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
*/
|
||||
|
||||
#ifndef TCLOO_H_INCLUDED
|
||||
#define TCLOO_H_INCLUDED
|
||||
|
||||
/*
|
||||
* Be careful when it comes to versioning; need to make sure that the
|
||||
* standalone TclOO version matches. Also make sure that this matches the
|
||||
* version in the files:
|
||||
*
|
||||
* tests/oo.test
|
||||
* tests/ooNext2.test
|
||||
* unix/tclooConfig.sh
|
||||
* win/tclooConfig.sh
|
||||
*/
|
||||
|
||||
#define TCLOO_VERSION "1.1.0"
|
||||
#define TCLOO_PATCHLEVEL TCLOO_VERSION
|
||||
|
||||
#include "tcl.h"
|
||||
|
||||
/*
|
||||
* For C++ compilers, use extern "C"
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern const char *TclOOInitializeStubs(
|
||||
Tcl_Interp *, const char *version);
|
||||
#define Tcl_OOInitStubs(interp) \
|
||||
TclOOInitializeStubs((interp), TCLOO_VERSION)
|
||||
#ifndef USE_TCL_STUBS
|
||||
# define TclOOInitializeStubs(interp, version) (TCLOO_PATCHLEVEL)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* These are opaque types.
|
||||
*/
|
||||
|
||||
typedef struct Tcl_Class_ *Tcl_Class;
|
||||
typedef struct Tcl_Method_ *Tcl_Method;
|
||||
typedef struct Tcl_Object_ *Tcl_Object;
|
||||
typedef struct Tcl_ObjectContext_ *Tcl_ObjectContext;
|
||||
|
||||
/*
|
||||
* Public datatypes for callbacks and structures used in the TIP#257 (OO)
|
||||
* implementation. These are used to implement custom types of method calls
|
||||
* and to allow the attachment of arbitrary data to objects and classes.
|
||||
*/
|
||||
|
||||
typedef int (Tcl_MethodCallProc)(ClientData clientData, Tcl_Interp *interp,
|
||||
Tcl_ObjectContext objectContext, int objc, Tcl_Obj *const *objv);
|
||||
typedef void (Tcl_MethodDeleteProc)(ClientData clientData);
|
||||
typedef int (Tcl_CloneProc)(Tcl_Interp *interp, ClientData oldClientData,
|
||||
ClientData *newClientData);
|
||||
typedef void (Tcl_ObjectMetadataDeleteProc)(ClientData clientData);
|
||||
typedef int (Tcl_ObjectMapMethodNameProc)(Tcl_Interp *interp,
|
||||
Tcl_Object object, Tcl_Class *startClsPtr, Tcl_Obj *methodNameObj);
|
||||
|
||||
/*
|
||||
* The type of a method implementation. This describes how to call the method
|
||||
* implementation, how to delete it (when the object or class is deleted) and
|
||||
* how to create a clone of it (when the object or class is copied).
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
int version; /* Structure version field. Always to be equal
|
||||
* to TCL_OO_METHOD_VERSION_CURRENT in
|
||||
* declarations. */
|
||||
const char *name; /* Name of this type of method, mostly for
|
||||
* debugging purposes. */
|
||||
Tcl_MethodCallProc *callProc;
|
||||
/* How to invoke this method. */
|
||||
Tcl_MethodDeleteProc *deleteProc;
|
||||
/* How to delete this method's type-specific
|
||||
* data, or NULL if the type-specific data
|
||||
* does not need deleting. */
|
||||
Tcl_CloneProc *cloneProc; /* How to copy this method's type-specific
|
||||
* data, or NULL if the type-specific data can
|
||||
* be copied directly. */
|
||||
} Tcl_MethodType;
|
||||
|
||||
/*
|
||||
* The correct value for the version field of the Tcl_MethodType structure.
|
||||
* This allows new versions of the structure to be introduced without breaking
|
||||
* binary compatability.
|
||||
*/
|
||||
|
||||
#define TCL_OO_METHOD_VERSION_CURRENT 1
|
||||
|
||||
/*
|
||||
* The type of some object (or class) metadata. This describes how to delete
|
||||
* the metadata (when the object or class is deleted) and how to create a
|
||||
* clone of it (when the object or class is copied).
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
int version; /* Structure version field. Always to be equal
|
||||
* to TCL_OO_METADATA_VERSION_CURRENT in
|
||||
* declarations. */
|
||||
const char *name;
|
||||
Tcl_ObjectMetadataDeleteProc *deleteProc;
|
||||
/* How to delete the metadata. This must not
|
||||
* be NULL. */
|
||||
Tcl_CloneProc *cloneProc; /* How to copy the metadata, or NULL if the
|
||||
* type-specific data can be copied
|
||||
* directly. */
|
||||
} Tcl_ObjectMetadataType;
|
||||
|
||||
/*
|
||||
* The correct value for the version field of the Tcl_ObjectMetadataType
|
||||
* structure. This allows new versions of the structure to be introduced
|
||||
* without breaking binary compatability.
|
||||
*/
|
||||
|
||||
#define TCL_OO_METADATA_VERSION_CURRENT 1
|
||||
|
||||
/*
|
||||
* Include all the public API, generated from tclOO.decls.
|
||||
*/
|
||||
|
||||
#include "tclOODecls.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Local Variables:
|
||||
* mode: c
|
||||
* c-basic-offset: 4
|
||||
* fill-column: 78
|
||||
* End:
|
||||
*/
|
||||
234
amd64/include/tclOODecls.h
Normal file
234
amd64/include/tclOODecls.h
Normal file
@@ -0,0 +1,234 @@
|
||||
/*
|
||||
* This file is (mostly) automatically generated from tclOO.decls.
|
||||
*/
|
||||
|
||||
#ifndef _TCLOODECLS
|
||||
#define _TCLOODECLS
|
||||
|
||||
#ifndef TCLAPI
|
||||
# ifdef BUILD_tcl
|
||||
# define TCLAPI extern DLLEXPORT
|
||||
# else
|
||||
# define TCLAPI extern DLLIMPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef USE_TCL_STUBS
|
||||
# undef USE_TCLOO_STUBS
|
||||
# define USE_TCLOO_STUBS
|
||||
#endif
|
||||
|
||||
/* !BEGIN!: Do not edit below this line. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Exported function declarations:
|
||||
*/
|
||||
|
||||
/* 0 */
|
||||
TCLAPI Tcl_Object Tcl_CopyObjectInstance(Tcl_Interp *interp,
|
||||
Tcl_Object sourceObject,
|
||||
const char *targetName,
|
||||
const char *targetNamespaceName);
|
||||
/* 1 */
|
||||
TCLAPI Tcl_Object Tcl_GetClassAsObject(Tcl_Class clazz);
|
||||
/* 2 */
|
||||
TCLAPI Tcl_Class Tcl_GetObjectAsClass(Tcl_Object object);
|
||||
/* 3 */
|
||||
TCLAPI Tcl_Command Tcl_GetObjectCommand(Tcl_Object object);
|
||||
/* 4 */
|
||||
TCLAPI Tcl_Object Tcl_GetObjectFromObj(Tcl_Interp *interp,
|
||||
Tcl_Obj *objPtr);
|
||||
/* 5 */
|
||||
TCLAPI Tcl_Namespace * Tcl_GetObjectNamespace(Tcl_Object object);
|
||||
/* 6 */
|
||||
TCLAPI Tcl_Class Tcl_MethodDeclarerClass(Tcl_Method method);
|
||||
/* 7 */
|
||||
TCLAPI Tcl_Object Tcl_MethodDeclarerObject(Tcl_Method method);
|
||||
/* 8 */
|
||||
TCLAPI int Tcl_MethodIsPublic(Tcl_Method method);
|
||||
/* 9 */
|
||||
TCLAPI int Tcl_MethodIsType(Tcl_Method method,
|
||||
const Tcl_MethodType *typePtr,
|
||||
ClientData *clientDataPtr);
|
||||
/* 10 */
|
||||
TCLAPI Tcl_Obj * Tcl_MethodName(Tcl_Method method);
|
||||
/* 11 */
|
||||
TCLAPI Tcl_Method Tcl_NewInstanceMethod(Tcl_Interp *interp,
|
||||
Tcl_Object object, Tcl_Obj *nameObj,
|
||||
int isPublic, const Tcl_MethodType *typePtr,
|
||||
ClientData clientData);
|
||||
/* 12 */
|
||||
TCLAPI Tcl_Method Tcl_NewMethod(Tcl_Interp *interp, Tcl_Class cls,
|
||||
Tcl_Obj *nameObj, int isPublic,
|
||||
const Tcl_MethodType *typePtr,
|
||||
ClientData clientData);
|
||||
/* 13 */
|
||||
TCLAPI Tcl_Object Tcl_NewObjectInstance(Tcl_Interp *interp,
|
||||
Tcl_Class cls, const char *nameStr,
|
||||
const char *nsNameStr, int objc,
|
||||
Tcl_Obj *const *objv, int skip);
|
||||
/* 14 */
|
||||
TCLAPI int Tcl_ObjectDeleted(Tcl_Object object);
|
||||
/* 15 */
|
||||
TCLAPI int Tcl_ObjectContextIsFiltering(
|
||||
Tcl_ObjectContext context);
|
||||
/* 16 */
|
||||
TCLAPI Tcl_Method Tcl_ObjectContextMethod(Tcl_ObjectContext context);
|
||||
/* 17 */
|
||||
TCLAPI Tcl_Object Tcl_ObjectContextObject(Tcl_ObjectContext context);
|
||||
/* 18 */
|
||||
TCLAPI int Tcl_ObjectContextSkippedArgs(
|
||||
Tcl_ObjectContext context);
|
||||
/* 19 */
|
||||
TCLAPI ClientData Tcl_ClassGetMetadata(Tcl_Class clazz,
|
||||
const Tcl_ObjectMetadataType *typePtr);
|
||||
/* 20 */
|
||||
TCLAPI void Tcl_ClassSetMetadata(Tcl_Class clazz,
|
||||
const Tcl_ObjectMetadataType *typePtr,
|
||||
ClientData metadata);
|
||||
/* 21 */
|
||||
TCLAPI ClientData Tcl_ObjectGetMetadata(Tcl_Object object,
|
||||
const Tcl_ObjectMetadataType *typePtr);
|
||||
/* 22 */
|
||||
TCLAPI void Tcl_ObjectSetMetadata(Tcl_Object object,
|
||||
const Tcl_ObjectMetadataType *typePtr,
|
||||
ClientData metadata);
|
||||
/* 23 */
|
||||
TCLAPI int Tcl_ObjectContextInvokeNext(Tcl_Interp *interp,
|
||||
Tcl_ObjectContext context, int objc,
|
||||
Tcl_Obj *const *objv, int skip);
|
||||
/* 24 */
|
||||
TCLAPI Tcl_ObjectMapMethodNameProc * Tcl_ObjectGetMethodNameMapper(
|
||||
Tcl_Object object);
|
||||
/* 25 */
|
||||
TCLAPI void Tcl_ObjectSetMethodNameMapper(Tcl_Object object,
|
||||
Tcl_ObjectMapMethodNameProc *mapMethodNameProc);
|
||||
/* 26 */
|
||||
TCLAPI void Tcl_ClassSetConstructor(Tcl_Interp *interp,
|
||||
Tcl_Class clazz, Tcl_Method method);
|
||||
/* 27 */
|
||||
TCLAPI void Tcl_ClassSetDestructor(Tcl_Interp *interp,
|
||||
Tcl_Class clazz, Tcl_Method method);
|
||||
/* 28 */
|
||||
TCLAPI Tcl_Obj * Tcl_GetObjectName(Tcl_Interp *interp,
|
||||
Tcl_Object object);
|
||||
|
||||
typedef struct {
|
||||
const struct TclOOIntStubs *tclOOIntStubs;
|
||||
} TclOOStubHooks;
|
||||
|
||||
typedef struct TclOOStubs {
|
||||
int magic;
|
||||
const TclOOStubHooks *hooks;
|
||||
|
||||
Tcl_Object (*tcl_CopyObjectInstance) (Tcl_Interp *interp, Tcl_Object sourceObject, const char *targetName, const char *targetNamespaceName); /* 0 */
|
||||
Tcl_Object (*tcl_GetClassAsObject) (Tcl_Class clazz); /* 1 */
|
||||
Tcl_Class (*tcl_GetObjectAsClass) (Tcl_Object object); /* 2 */
|
||||
Tcl_Command (*tcl_GetObjectCommand) (Tcl_Object object); /* 3 */
|
||||
Tcl_Object (*tcl_GetObjectFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr); /* 4 */
|
||||
Tcl_Namespace * (*tcl_GetObjectNamespace) (Tcl_Object object); /* 5 */
|
||||
Tcl_Class (*tcl_MethodDeclarerClass) (Tcl_Method method); /* 6 */
|
||||
Tcl_Object (*tcl_MethodDeclarerObject) (Tcl_Method method); /* 7 */
|
||||
int (*tcl_MethodIsPublic) (Tcl_Method method); /* 8 */
|
||||
int (*tcl_MethodIsType) (Tcl_Method method, const Tcl_MethodType *typePtr, ClientData *clientDataPtr); /* 9 */
|
||||
Tcl_Obj * (*tcl_MethodName) (Tcl_Method method); /* 10 */
|
||||
Tcl_Method (*tcl_NewInstanceMethod) (Tcl_Interp *interp, Tcl_Object object, Tcl_Obj *nameObj, int isPublic, const Tcl_MethodType *typePtr, ClientData clientData); /* 11 */
|
||||
Tcl_Method (*tcl_NewMethod) (Tcl_Interp *interp, Tcl_Class cls, Tcl_Obj *nameObj, int isPublic, const Tcl_MethodType *typePtr, ClientData clientData); /* 12 */
|
||||
Tcl_Object (*tcl_NewObjectInstance) (Tcl_Interp *interp, Tcl_Class cls, const char *nameStr, const char *nsNameStr, int objc, Tcl_Obj *const *objv, int skip); /* 13 */
|
||||
int (*tcl_ObjectDeleted) (Tcl_Object object); /* 14 */
|
||||
int (*tcl_ObjectContextIsFiltering) (Tcl_ObjectContext context); /* 15 */
|
||||
Tcl_Method (*tcl_ObjectContextMethod) (Tcl_ObjectContext context); /* 16 */
|
||||
Tcl_Object (*tcl_ObjectContextObject) (Tcl_ObjectContext context); /* 17 */
|
||||
int (*tcl_ObjectContextSkippedArgs) (Tcl_ObjectContext context); /* 18 */
|
||||
ClientData (*tcl_ClassGetMetadata) (Tcl_Class clazz, const Tcl_ObjectMetadataType *typePtr); /* 19 */
|
||||
void (*tcl_ClassSetMetadata) (Tcl_Class clazz, const Tcl_ObjectMetadataType *typePtr, ClientData metadata); /* 20 */
|
||||
ClientData (*tcl_ObjectGetMetadata) (Tcl_Object object, const Tcl_ObjectMetadataType *typePtr); /* 21 */
|
||||
void (*tcl_ObjectSetMetadata) (Tcl_Object object, const Tcl_ObjectMetadataType *typePtr, ClientData metadata); /* 22 */
|
||||
int (*tcl_ObjectContextInvokeNext) (Tcl_Interp *interp, Tcl_ObjectContext context, int objc, Tcl_Obj *const *objv, int skip); /* 23 */
|
||||
Tcl_ObjectMapMethodNameProc * (*tcl_ObjectGetMethodNameMapper) (Tcl_Object object); /* 24 */
|
||||
void (*tcl_ObjectSetMethodNameMapper) (Tcl_Object object, Tcl_ObjectMapMethodNameProc *mapMethodNameProc); /* 25 */
|
||||
void (*tcl_ClassSetConstructor) (Tcl_Interp *interp, Tcl_Class clazz, Tcl_Method method); /* 26 */
|
||||
void (*tcl_ClassSetDestructor) (Tcl_Interp *interp, Tcl_Class clazz, Tcl_Method method); /* 27 */
|
||||
Tcl_Obj * (*tcl_GetObjectName) (Tcl_Interp *interp, Tcl_Object object); /* 28 */
|
||||
} TclOOStubs;
|
||||
|
||||
extern const TclOOStubs *tclOOStubsPtr;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(USE_TCLOO_STUBS)
|
||||
|
||||
/*
|
||||
* Inline function declarations:
|
||||
*/
|
||||
|
||||
#define Tcl_CopyObjectInstance \
|
||||
(tclOOStubsPtr->tcl_CopyObjectInstance) /* 0 */
|
||||
#define Tcl_GetClassAsObject \
|
||||
(tclOOStubsPtr->tcl_GetClassAsObject) /* 1 */
|
||||
#define Tcl_GetObjectAsClass \
|
||||
(tclOOStubsPtr->tcl_GetObjectAsClass) /* 2 */
|
||||
#define Tcl_GetObjectCommand \
|
||||
(tclOOStubsPtr->tcl_GetObjectCommand) /* 3 */
|
||||
#define Tcl_GetObjectFromObj \
|
||||
(tclOOStubsPtr->tcl_GetObjectFromObj) /* 4 */
|
||||
#define Tcl_GetObjectNamespace \
|
||||
(tclOOStubsPtr->tcl_GetObjectNamespace) /* 5 */
|
||||
#define Tcl_MethodDeclarerClass \
|
||||
(tclOOStubsPtr->tcl_MethodDeclarerClass) /* 6 */
|
||||
#define Tcl_MethodDeclarerObject \
|
||||
(tclOOStubsPtr->tcl_MethodDeclarerObject) /* 7 */
|
||||
#define Tcl_MethodIsPublic \
|
||||
(tclOOStubsPtr->tcl_MethodIsPublic) /* 8 */
|
||||
#define Tcl_MethodIsType \
|
||||
(tclOOStubsPtr->tcl_MethodIsType) /* 9 */
|
||||
#define Tcl_MethodName \
|
||||
(tclOOStubsPtr->tcl_MethodName) /* 10 */
|
||||
#define Tcl_NewInstanceMethod \
|
||||
(tclOOStubsPtr->tcl_NewInstanceMethod) /* 11 */
|
||||
#define Tcl_NewMethod \
|
||||
(tclOOStubsPtr->tcl_NewMethod) /* 12 */
|
||||
#define Tcl_NewObjectInstance \
|
||||
(tclOOStubsPtr->tcl_NewObjectInstance) /* 13 */
|
||||
#define Tcl_ObjectDeleted \
|
||||
(tclOOStubsPtr->tcl_ObjectDeleted) /* 14 */
|
||||
#define Tcl_ObjectContextIsFiltering \
|
||||
(tclOOStubsPtr->tcl_ObjectContextIsFiltering) /* 15 */
|
||||
#define Tcl_ObjectContextMethod \
|
||||
(tclOOStubsPtr->tcl_ObjectContextMethod) /* 16 */
|
||||
#define Tcl_ObjectContextObject \
|
||||
(tclOOStubsPtr->tcl_ObjectContextObject) /* 17 */
|
||||
#define Tcl_ObjectContextSkippedArgs \
|
||||
(tclOOStubsPtr->tcl_ObjectContextSkippedArgs) /* 18 */
|
||||
#define Tcl_ClassGetMetadata \
|
||||
(tclOOStubsPtr->tcl_ClassGetMetadata) /* 19 */
|
||||
#define Tcl_ClassSetMetadata \
|
||||
(tclOOStubsPtr->tcl_ClassSetMetadata) /* 20 */
|
||||
#define Tcl_ObjectGetMetadata \
|
||||
(tclOOStubsPtr->tcl_ObjectGetMetadata) /* 21 */
|
||||
#define Tcl_ObjectSetMetadata \
|
||||
(tclOOStubsPtr->tcl_ObjectSetMetadata) /* 22 */
|
||||
#define Tcl_ObjectContextInvokeNext \
|
||||
(tclOOStubsPtr->tcl_ObjectContextInvokeNext) /* 23 */
|
||||
#define Tcl_ObjectGetMethodNameMapper \
|
||||
(tclOOStubsPtr->tcl_ObjectGetMethodNameMapper) /* 24 */
|
||||
#define Tcl_ObjectSetMethodNameMapper \
|
||||
(tclOOStubsPtr->tcl_ObjectSetMethodNameMapper) /* 25 */
|
||||
#define Tcl_ClassSetConstructor \
|
||||
(tclOOStubsPtr->tcl_ClassSetConstructor) /* 26 */
|
||||
#define Tcl_ClassSetDestructor \
|
||||
(tclOOStubsPtr->tcl_ClassSetDestructor) /* 27 */
|
||||
#define Tcl_GetObjectName \
|
||||
(tclOOStubsPtr->tcl_GetObjectName) /* 28 */
|
||||
|
||||
#endif /* defined(USE_TCLOO_STUBS) */
|
||||
|
||||
/* !END!: Do not edit above this line. */
|
||||
|
||||
#endif /* _TCLOODECLS */
|
||||
122
amd64/include/tclPlatDecls.h
Normal file
122
amd64/include/tclPlatDecls.h
Normal file
@@ -0,0 +1,122 @@
|
||||
/*
|
||||
* tclPlatDecls.h --
|
||||
*
|
||||
* Declarations of platform specific Tcl APIs.
|
||||
*
|
||||
* Copyright (c) 1998-1999 by Scriptics Corporation.
|
||||
* All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef _TCLPLATDECLS
|
||||
#define _TCLPLATDECLS
|
||||
|
||||
#undef TCL_STORAGE_CLASS
|
||||
#ifdef BUILD_tcl
|
||||
# define TCL_STORAGE_CLASS DLLEXPORT
|
||||
#else
|
||||
# ifdef USE_TCL_STUBS
|
||||
# define TCL_STORAGE_CLASS
|
||||
# else
|
||||
# define TCL_STORAGE_CLASS DLLIMPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* WARNING: This file is automatically generated by the tools/genStubs.tcl
|
||||
* script. Any modifications to the function declarations below should be made
|
||||
* in the generic/tcl.decls script.
|
||||
*/
|
||||
|
||||
/*
|
||||
* TCHAR is needed here for win32, so if it is not defined yet do it here.
|
||||
* This way, we don't need to include <tchar.h> just for one define.
|
||||
*/
|
||||
#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(_TCHAR_DEFINED)
|
||||
# if defined(_UNICODE)
|
||||
typedef wchar_t TCHAR;
|
||||
# else
|
||||
typedef char TCHAR;
|
||||
# endif
|
||||
# define _TCHAR_DEFINED
|
||||
#endif
|
||||
|
||||
/* !BEGIN!: Do not edit below this line. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Exported function declarations:
|
||||
*/
|
||||
|
||||
#if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
|
||||
/* 0 */
|
||||
EXTERN TCHAR * Tcl_WinUtfToTChar(const char *str, int len,
|
||||
Tcl_DString *dsPtr);
|
||||
/* 1 */
|
||||
EXTERN char * Tcl_WinTCharToUtf(const TCHAR *str, int len,
|
||||
Tcl_DString *dsPtr);
|
||||
#endif /* WIN */
|
||||
#ifdef MAC_OSX_TCL /* MACOSX */
|
||||
/* 0 */
|
||||
EXTERN int Tcl_MacOSXOpenBundleResources(Tcl_Interp *interp,
|
||||
const char *bundleName, int hasResourceFile,
|
||||
int maxPathLen, char *libraryPath);
|
||||
/* 1 */
|
||||
EXTERN int Tcl_MacOSXOpenVersionedBundleResources(
|
||||
Tcl_Interp *interp, const char *bundleName,
|
||||
const char *bundleVersion,
|
||||
int hasResourceFile, int maxPathLen,
|
||||
char *libraryPath);
|
||||
#endif /* MACOSX */
|
||||
|
||||
typedef struct TclPlatStubs {
|
||||
int magic;
|
||||
void *hooks;
|
||||
|
||||
#if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
|
||||
TCHAR * (*tcl_WinUtfToTChar) (const char *str, int len, Tcl_DString *dsPtr); /* 0 */
|
||||
char * (*tcl_WinTCharToUtf) (const TCHAR *str, int len, Tcl_DString *dsPtr); /* 1 */
|
||||
#endif /* WIN */
|
||||
#ifdef MAC_OSX_TCL /* MACOSX */
|
||||
int (*tcl_MacOSXOpenBundleResources) (Tcl_Interp *interp, const char *bundleName, int hasResourceFile, int maxPathLen, char *libraryPath); /* 0 */
|
||||
int (*tcl_MacOSXOpenVersionedBundleResources) (Tcl_Interp *interp, const char *bundleName, const char *bundleVersion, int hasResourceFile, int maxPathLen, char *libraryPath); /* 1 */
|
||||
#endif /* MACOSX */
|
||||
} TclPlatStubs;
|
||||
|
||||
extern const TclPlatStubs *tclPlatStubsPtr;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(USE_TCL_STUBS)
|
||||
|
||||
/*
|
||||
* Inline function declarations:
|
||||
*/
|
||||
|
||||
#if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
|
||||
#define Tcl_WinUtfToTChar \
|
||||
(tclPlatStubsPtr->tcl_WinUtfToTChar) /* 0 */
|
||||
#define Tcl_WinTCharToUtf \
|
||||
(tclPlatStubsPtr->tcl_WinTCharToUtf) /* 1 */
|
||||
#endif /* WIN */
|
||||
#ifdef MAC_OSX_TCL /* MACOSX */
|
||||
#define Tcl_MacOSXOpenBundleResources \
|
||||
(tclPlatStubsPtr->tcl_MacOSXOpenBundleResources) /* 0 */
|
||||
#define Tcl_MacOSXOpenVersionedBundleResources \
|
||||
(tclPlatStubsPtr->tcl_MacOSXOpenVersionedBundleResources) /* 1 */
|
||||
#endif /* MACOSX */
|
||||
|
||||
#endif /* defined(USE_TCL_STUBS) */
|
||||
|
||||
/* !END!: Do not edit above this line. */
|
||||
|
||||
#undef TCL_STORAGE_CLASS
|
||||
#define TCL_STORAGE_CLASS DLLIMPORT
|
||||
|
||||
#endif /* _TCLPLATDECLS */
|
||||
|
||||
|
||||
832
amd64/include/tclTomMath.h
Normal file
832
amd64/include/tclTomMath.h
Normal file
@@ -0,0 +1,832 @@
|
||||
/* LibTomMath, multiple-precision integer library -- Tom St Denis
|
||||
*
|
||||
* LibTomMath is a library that provides multiple-precision
|
||||
* integer arithmetic as well as number theoretic functionality.
|
||||
*
|
||||
* The library was designed directly after the MPI library by
|
||||
* Michael Fromberger but has been written from scratch with
|
||||
* additional optimizations in place.
|
||||
*
|
||||
* The library is free for all purposes without any express
|
||||
* guarantee it works.
|
||||
*
|
||||
* Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com
|
||||
*/
|
||||
#ifndef BN_H_
|
||||
#define BN_H_
|
||||
|
||||
#include "tclTomMathDecls.h"
|
||||
#ifndef MODULE_SCOPE
|
||||
#define MODULE_SCOPE extern
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifndef MIN
|
||||
# define MIN(x,y) ((x)<(y)?(x):(y))
|
||||
#endif
|
||||
|
||||
#ifndef MAX
|
||||
# define MAX(x,y) ((x)>(y)?(x):(y))
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
||||
/* C++ compilers don't like assigning void * to mp_digit * */
|
||||
#define OPT_CAST(x) (x *)
|
||||
|
||||
#else
|
||||
|
||||
/* C on the other hand doesn't care */
|
||||
#define OPT_CAST(x)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/* detect 64-bit mode if possible */
|
||||
#if defined(NEVER) /* 128-bit ints fail in too many places */
|
||||
# if !(defined(MP_64BIT) && defined(MP_16BIT) && defined(MP_8BIT))
|
||||
# define MP_64BIT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* some default configurations.
|
||||
*
|
||||
* A "mp_digit" must be able to hold DIGIT_BIT + 1 bits
|
||||
* A "mp_word" must be able to hold 2*DIGIT_BIT + 1 bits
|
||||
*
|
||||
* At the very least a mp_digit must be able to hold 7 bits
|
||||
* [any size beyond that is ok provided it doesn't overflow the data type]
|
||||
*/
|
||||
#ifdef MP_8BIT
|
||||
#ifndef MP_DIGIT_DECLARED
|
||||
typedef unsigned char mp_digit;
|
||||
#define MP_DIGIT_DECLARED
|
||||
#endif
|
||||
typedef unsigned short mp_word;
|
||||
#elif defined(MP_16BIT)
|
||||
#ifndef MP_DIGIT_DECLARED
|
||||
typedef unsigned short mp_digit;
|
||||
#define MP_DIGIT_DECLARED
|
||||
#endif
|
||||
typedef unsigned long mp_word;
|
||||
#elif defined(MP_64BIT)
|
||||
/* for GCC only on supported platforms */
|
||||
#ifndef CRYPT
|
||||
typedef unsigned long long ulong64;
|
||||
typedef signed long long long64;
|
||||
#endif
|
||||
|
||||
#ifndef MP_DIGIT_DECLARED
|
||||
typedef unsigned long mp_digit;
|
||||
#define MP_DIGIT_DECLARED
|
||||
#endif
|
||||
typedef unsigned long mp_word __attribute__ ((mode(TI)));
|
||||
|
||||
# define DIGIT_BIT 60
|
||||
#else
|
||||
/* this is the default case, 28-bit digits */
|
||||
|
||||
/* this is to make porting into LibTomCrypt easier :-) */
|
||||
#ifndef CRYPT
|
||||
# if defined(_MSC_VER) || defined(__BORLANDC__)
|
||||
typedef unsigned __int64 ulong64;
|
||||
typedef signed __int64 long64;
|
||||
# else
|
||||
typedef unsigned long long ulong64;
|
||||
typedef signed long long long64;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef MP_DIGIT_DECLARED
|
||||
typedef unsigned int mp_digit;
|
||||
#define MP_DIGIT_DECLARED
|
||||
#endif
|
||||
typedef ulong64 mp_word;
|
||||
|
||||
#ifdef MP_31BIT
|
||||
/* this is an extension that uses 31-bit digits */
|
||||
# define DIGIT_BIT 31
|
||||
#else
|
||||
/* default case is 28-bit digits, defines MP_28BIT as a handy macro to test */
|
||||
# define DIGIT_BIT 28
|
||||
# define MP_28BIT
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* define heap macros */
|
||||
#if 0 /* these are macros in tclTomMathDecls.h */
|
||||
#ifndef CRYPT
|
||||
/* default to libc stuff */
|
||||
# ifndef XMALLOC
|
||||
# define XMALLOC malloc
|
||||
# define XFREE free
|
||||
# define XREALLOC realloc
|
||||
# define XCALLOC calloc
|
||||
# else
|
||||
/* prototypes for our heap functions */
|
||||
extern void *XMALLOC(size_t n);
|
||||
extern void *XREALLOC(void *p, size_t n);
|
||||
extern void *XCALLOC(size_t n, size_t s);
|
||||
extern void XFREE(void *p);
|
||||
# endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* otherwise the bits per digit is calculated automatically from the size of a mp_digit */
|
||||
#ifndef DIGIT_BIT
|
||||
# define DIGIT_BIT ((int)((CHAR_BIT * sizeof(mp_digit) - 1))) /* bits per digit */
|
||||
#endif
|
||||
|
||||
#define MP_DIGIT_BIT DIGIT_BIT
|
||||
#define MP_MASK ((((mp_digit)1)<<((mp_digit)DIGIT_BIT))-((mp_digit)1))
|
||||
#define MP_DIGIT_MAX MP_MASK
|
||||
|
||||
/* equalities */
|
||||
#define MP_LT -1 /* less than */
|
||||
#define MP_EQ 0 /* equal to */
|
||||
#define MP_GT 1 /* greater than */
|
||||
|
||||
#define MP_ZPOS 0 /* positive integer */
|
||||
#define MP_NEG 1 /* negative */
|
||||
|
||||
#define MP_OKAY 0 /* ok result */
|
||||
#define MP_MEM -2 /* out of mem */
|
||||
#define MP_VAL -3 /* invalid input */
|
||||
#define MP_RANGE MP_VAL
|
||||
|
||||
#define MP_YES 1 /* yes response */
|
||||
#define MP_NO 0 /* no response */
|
||||
|
||||
/* Primality generation flags */
|
||||
#define LTM_PRIME_BBS 0x0001 /* BBS style prime */
|
||||
#define LTM_PRIME_SAFE 0x0002 /* Safe prime (p-1)/2 == prime */
|
||||
#define LTM_PRIME_2MSB_ON 0x0008 /* force 2nd MSB to 1 */
|
||||
|
||||
typedef int mp_err;
|
||||
|
||||
/* you'll have to tune these... */
|
||||
#if defined(BUILD_tcl) || !defined(_WIN32)
|
||||
MODULE_SCOPE int KARATSUBA_MUL_CUTOFF,
|
||||
KARATSUBA_SQR_CUTOFF,
|
||||
TOOM_MUL_CUTOFF,
|
||||
TOOM_SQR_CUTOFF;
|
||||
#endif
|
||||
|
||||
/* define this to use lower memory usage routines (exptmods mostly) */
|
||||
/* #define MP_LOW_MEM */
|
||||
|
||||
/* default precision */
|
||||
#ifndef MP_PREC
|
||||
# ifndef MP_LOW_MEM
|
||||
# define MP_PREC 32 /* default digits of precision */
|
||||
# else
|
||||
# define MP_PREC 8 /* default digits of precision */
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* size of comba arrays, should be at least 2 * 2**(BITS_PER_WORD - BITS_PER_DIGIT*2) */
|
||||
#define MP_WARRAY (1 << (sizeof(mp_word) * CHAR_BIT - 2 * DIGIT_BIT + 1))
|
||||
|
||||
/* the infamous mp_int structure */
|
||||
#ifndef MP_INT_DECLARED
|
||||
#define MP_INT_DECLARED
|
||||
typedef struct mp_int mp_int;
|
||||
#endif
|
||||
struct mp_int {
|
||||
int used, alloc, sign;
|
||||
mp_digit *dp;
|
||||
};
|
||||
|
||||
/* callback for mp_prime_random, should fill dst with random bytes and return how many read [upto len] */
|
||||
typedef int ltm_prime_callback(unsigned char *dst, int len, void *dat);
|
||||
|
||||
|
||||
#define USED(m) ((m)->used)
|
||||
#define DIGIT(m,k) ((m)->dp[(k)])
|
||||
#define SIGN(m) ((m)->sign)
|
||||
|
||||
/* error code to char* string */
|
||||
/*
|
||||
char *mp_error_to_string(int code);
|
||||
*/
|
||||
|
||||
/* ---> init and deinit bignum functions <--- */
|
||||
/* init a bignum */
|
||||
/*
|
||||
int mp_init(mp_int *a);
|
||||
*/
|
||||
|
||||
/* free a bignum */
|
||||
/*
|
||||
void mp_clear(mp_int *a);
|
||||
*/
|
||||
|
||||
/* init a null terminated series of arguments */
|
||||
/*
|
||||
int mp_init_multi(mp_int *mp, ...);
|
||||
*/
|
||||
|
||||
/* clear a null terminated series of arguments */
|
||||
/*
|
||||
void mp_clear_multi(mp_int *mp, ...);
|
||||
*/
|
||||
|
||||
/* exchange two ints */
|
||||
/*
|
||||
void mp_exch(mp_int *a, mp_int *b);
|
||||
*/
|
||||
|
||||
/* shrink ram required for a bignum */
|
||||
/*
|
||||
int mp_shrink(mp_int *a);
|
||||
*/
|
||||
|
||||
/* grow an int to a given size */
|
||||
/*
|
||||
int mp_grow(mp_int *a, int size);
|
||||
*/
|
||||
|
||||
/* init to a given number of digits */
|
||||
/*
|
||||
int mp_init_size(mp_int *a, int size);
|
||||
*/
|
||||
|
||||
/* ---> Basic Manipulations <--- */
|
||||
#define mp_iszero(a) (((a)->used == 0) ? MP_YES : MP_NO)
|
||||
#define mp_iseven(a) (((a)->used == 0 || (((a)->dp[0] & 1) == 0)) ? MP_YES : MP_NO)
|
||||
#define mp_isodd(a) (((a)->used > 0 && (((a)->dp[0] & 1) == 1)) ? MP_YES : MP_NO)
|
||||
|
||||
/* set to zero */
|
||||
/*
|
||||
void mp_zero(mp_int *a);
|
||||
*/
|
||||
|
||||
/* set to a digit */
|
||||
/*
|
||||
void mp_set(mp_int *a, mp_digit b);
|
||||
*/
|
||||
|
||||
/* set a 32-bit const */
|
||||
/*
|
||||
int mp_set_int(mp_int *a, unsigned long b);
|
||||
*/
|
||||
|
||||
/* get a 32-bit value */
|
||||
unsigned long mp_get_int(mp_int * a);
|
||||
|
||||
/* initialize and set a digit */
|
||||
/*
|
||||
int mp_init_set (mp_int * a, mp_digit b);
|
||||
*/
|
||||
|
||||
/* initialize and set 32-bit value */
|
||||
/*
|
||||
int mp_init_set_int (mp_int * a, unsigned long b);
|
||||
*/
|
||||
|
||||
/* copy, b = a */
|
||||
/*
|
||||
int mp_copy(const mp_int *a, mp_int *b);
|
||||
*/
|
||||
|
||||
/* inits and copies, a = b */
|
||||
/*
|
||||
int mp_init_copy(mp_int *a, mp_int *b);
|
||||
*/
|
||||
|
||||
/* trim unused digits */
|
||||
/*
|
||||
void mp_clamp(mp_int *a);
|
||||
*/
|
||||
|
||||
/* ---> digit manipulation <--- */
|
||||
|
||||
/* right shift by "b" digits */
|
||||
/*
|
||||
void mp_rshd(mp_int *a, int b);
|
||||
*/
|
||||
|
||||
/* left shift by "b" digits */
|
||||
/*
|
||||
int mp_lshd(mp_int *a, int b);
|
||||
*/
|
||||
|
||||
/* c = a / 2**b */
|
||||
/*
|
||||
int mp_div_2d(const mp_int *a, int b, mp_int *c, mp_int *d);
|
||||
*/
|
||||
|
||||
/* b = a/2 */
|
||||
/*
|
||||
int mp_div_2(mp_int *a, mp_int *b);
|
||||
*/
|
||||
|
||||
/* c = a * 2**b */
|
||||
/*
|
||||
int mp_mul_2d(const mp_int *a, int b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* b = a*2 */
|
||||
/*
|
||||
int mp_mul_2(mp_int *a, mp_int *b);
|
||||
*/
|
||||
|
||||
/* c = a mod 2**d */
|
||||
/*
|
||||
int mp_mod_2d(const mp_int *a, int b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* computes a = 2**b */
|
||||
/*
|
||||
int mp_2expt(mp_int *a, int b);
|
||||
*/
|
||||
|
||||
/* Counts the number of lsbs which are zero before the first zero bit */
|
||||
/*
|
||||
int mp_cnt_lsb(const mp_int *a);
|
||||
*/
|
||||
|
||||
/* I Love Earth! */
|
||||
|
||||
/* makes a pseudo-random int of a given size */
|
||||
/*
|
||||
int mp_rand(mp_int *a, int digits);
|
||||
*/
|
||||
|
||||
/* ---> binary operations <--- */
|
||||
/* c = a XOR b */
|
||||
/*
|
||||
int mp_xor(mp_int *a, mp_int *b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* c = a OR b */
|
||||
/*
|
||||
int mp_or(mp_int *a, mp_int *b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* c = a AND b */
|
||||
/*
|
||||
int mp_and(mp_int *a, mp_int *b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* ---> Basic arithmetic <--- */
|
||||
|
||||
/* b = -a */
|
||||
/*
|
||||
int mp_neg(const mp_int *a, mp_int *b);
|
||||
*/
|
||||
|
||||
/* b = |a| */
|
||||
/*
|
||||
int mp_abs(mp_int *a, mp_int *b);
|
||||
*/
|
||||
|
||||
/* compare a to b */
|
||||
/*
|
||||
int mp_cmp(const mp_int *a, const mp_int *b);
|
||||
*/
|
||||
|
||||
/* compare |a| to |b| */
|
||||
/*
|
||||
int mp_cmp_mag(const mp_int *a, const mp_int *b);
|
||||
*/
|
||||
|
||||
/* c = a + b */
|
||||
/*
|
||||
int mp_add(mp_int *a, mp_int *b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* c = a - b */
|
||||
/*
|
||||
int mp_sub(mp_int *a, mp_int *b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* c = a * b */
|
||||
/*
|
||||
int mp_mul(mp_int *a, mp_int *b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* b = a*a */
|
||||
/*
|
||||
int mp_sqr(mp_int *a, mp_int *b);
|
||||
*/
|
||||
|
||||
/* a/b => cb + d == a */
|
||||
/*
|
||||
int mp_div(mp_int *a, mp_int *b, mp_int *c, mp_int *d);
|
||||
*/
|
||||
|
||||
/* c = a mod b, 0 <= c < b */
|
||||
/*
|
||||
int mp_mod(mp_int *a, mp_int *b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* ---> single digit functions <--- */
|
||||
|
||||
/* compare against a single digit */
|
||||
/*
|
||||
int mp_cmp_d(const mp_int *a, mp_digit b);
|
||||
*/
|
||||
|
||||
/* c = a + b */
|
||||
/*
|
||||
int mp_add_d(mp_int *a, mp_digit b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* c = a - b */
|
||||
/*
|
||||
int mp_sub_d(mp_int *a, mp_digit b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* c = a * b */
|
||||
/*
|
||||
int mp_mul_d(mp_int *a, mp_digit b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* a/b => cb + d == a */
|
||||
/*
|
||||
int mp_div_d(mp_int *a, mp_digit b, mp_int *c, mp_digit *d);
|
||||
*/
|
||||
|
||||
/* a/3 => 3c + d == a */
|
||||
/*
|
||||
int mp_div_3(mp_int *a, mp_int *c, mp_digit *d);
|
||||
*/
|
||||
|
||||
/* c = a**b */
|
||||
/*
|
||||
int mp_expt_d(mp_int *a, mp_digit b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* c = a mod b, 0 <= c < b */
|
||||
/*
|
||||
int mp_mod_d(mp_int *a, mp_digit b, mp_digit *c);
|
||||
*/
|
||||
|
||||
/* ---> number theory <--- */
|
||||
|
||||
/* d = a + b (mod c) */
|
||||
/*
|
||||
int mp_addmod(mp_int *a, mp_int *b, mp_int *c, mp_int *d);
|
||||
*/
|
||||
|
||||
/* d = a - b (mod c) */
|
||||
/*
|
||||
int mp_submod(mp_int *a, mp_int *b, mp_int *c, mp_int *d);
|
||||
*/
|
||||
|
||||
/* d = a * b (mod c) */
|
||||
/*
|
||||
int mp_mulmod(mp_int *a, mp_int *b, mp_int *c, mp_int *d);
|
||||
*/
|
||||
|
||||
/* c = a * a (mod b) */
|
||||
/*
|
||||
int mp_sqrmod(mp_int *a, mp_int *b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* c = 1/a (mod b) */
|
||||
/*
|
||||
int mp_invmod(mp_int *a, mp_int *b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* c = (a, b) */
|
||||
/*
|
||||
int mp_gcd(mp_int *a, mp_int *b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* produces value such that U1*a + U2*b = U3 */
|
||||
/*
|
||||
int mp_exteuclid(mp_int *a, mp_int *b, mp_int *U1, mp_int *U2, mp_int *U3);
|
||||
*/
|
||||
|
||||
/* c = [a, b] or (a*b)/(a, b) */
|
||||
/*
|
||||
int mp_lcm(mp_int *a, mp_int *b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* finds one of the b'th root of a, such that |c|**b <= |a|
|
||||
*
|
||||
* returns error if a < 0 and b is even
|
||||
*/
|
||||
/*
|
||||
int mp_n_root(mp_int *a, mp_digit b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* special sqrt algo */
|
||||
/*
|
||||
int mp_sqrt(mp_int *arg, mp_int *ret);
|
||||
*/
|
||||
|
||||
/* is number a square? */
|
||||
/*
|
||||
int mp_is_square(mp_int *arg, int *ret);
|
||||
*/
|
||||
|
||||
/* computes the jacobi c = (a | n) (or Legendre if b is prime) */
|
||||
/*
|
||||
int mp_jacobi(mp_int *a, mp_int *n, int *c);
|
||||
*/
|
||||
|
||||
/* used to setup the Barrett reduction for a given modulus b */
|
||||
/*
|
||||
int mp_reduce_setup(mp_int *a, mp_int *b);
|
||||
*/
|
||||
|
||||
/* Barrett Reduction, computes a (mod b) with a precomputed value c
|
||||
*
|
||||
* Assumes that 0 < a <= b*b, note if 0 > a > -(b*b) then you can merely
|
||||
* compute the reduction as -1 * mp_reduce(mp_abs(a)) [pseudo code].
|
||||
*/
|
||||
/*
|
||||
int mp_reduce(mp_int *a, mp_int *b, mp_int *c);
|
||||
*/
|
||||
|
||||
/* setups the montgomery reduction */
|
||||
/*
|
||||
int mp_montgomery_setup(mp_int *a, mp_digit *mp);
|
||||
*/
|
||||
|
||||
/* computes a = B**n mod b without division or multiplication useful for
|
||||
* normalizing numbers in a Montgomery system.
|
||||
*/
|
||||
/*
|
||||
int mp_montgomery_calc_normalization(mp_int *a, mp_int *b);
|
||||
*/
|
||||
|
||||
/* computes x/R == x (mod N) via Montgomery Reduction */
|
||||
/*
|
||||
int mp_montgomery_reduce(mp_int *a, mp_int *m, mp_digit mp);
|
||||
*/
|
||||
|
||||
/* returns 1 if a is a valid DR modulus */
|
||||
/*
|
||||
int mp_dr_is_modulus(mp_int *a);
|
||||
*/
|
||||
|
||||
/* sets the value of "d" required for mp_dr_reduce */
|
||||
/*
|
||||
void mp_dr_setup(mp_int *a, mp_digit *d);
|
||||
*/
|
||||
|
||||
/* reduces a modulo b using the Diminished Radix method */
|
||||
/*
|
||||
int mp_dr_reduce(mp_int *a, mp_int *b, mp_digit mp);
|
||||
*/
|
||||
|
||||
/* returns true if a can be reduced with mp_reduce_2k */
|
||||
/*
|
||||
int mp_reduce_is_2k(mp_int *a);
|
||||
*/
|
||||
|
||||
/* determines k value for 2k reduction */
|
||||
/*
|
||||
int mp_reduce_2k_setup(mp_int *a, mp_digit *d);
|
||||
*/
|
||||
|
||||
/* reduces a modulo b where b is of the form 2**p - k [0 <= a] */
|
||||
/*
|
||||
int mp_reduce_2k(mp_int *a, mp_int *n, mp_digit d);
|
||||
*/
|
||||
|
||||
/* returns true if a can be reduced with mp_reduce_2k_l */
|
||||
/*
|
||||
int mp_reduce_is_2k_l(mp_int *a);
|
||||
*/
|
||||
|
||||
/* determines k value for 2k reduction */
|
||||
/*
|
||||
int mp_reduce_2k_setup_l(mp_int *a, mp_int *d);
|
||||
*/
|
||||
|
||||
/* reduces a modulo b where b is of the form 2**p - k [0 <= a] */
|
||||
/*
|
||||
int mp_reduce_2k_l(mp_int *a, mp_int *n, mp_int *d);
|
||||
*/
|
||||
|
||||
/* d = a**b (mod c) */
|
||||
/*
|
||||
int mp_exptmod(mp_int *a, mp_int *b, mp_int *c, mp_int *d);
|
||||
*/
|
||||
|
||||
/* ---> Primes <--- */
|
||||
|
||||
/* number of primes */
|
||||
#ifdef MP_8BIT
|
||||
# define PRIME_SIZE 31
|
||||
#else
|
||||
# define PRIME_SIZE 256
|
||||
#endif
|
||||
|
||||
/* table of first PRIME_SIZE primes */
|
||||
#if defined(BUILD_tcl) || !defined(_WIN32)
|
||||
MODULE_SCOPE const mp_digit ltm_prime_tab[];
|
||||
#endif
|
||||
|
||||
/* result=1 if a is divisible by one of the first PRIME_SIZE primes */
|
||||
/*
|
||||
int mp_prime_is_divisible(mp_int *a, int *result);
|
||||
*/
|
||||
|
||||
/* performs one Fermat test of "a" using base "b".
|
||||
* Sets result to 0 if composite or 1 if probable prime
|
||||
*/
|
||||
/*
|
||||
int mp_prime_fermat(mp_int *a, mp_int *b, int *result);
|
||||
*/
|
||||
|
||||
/* performs one Miller-Rabin test of "a" using base "b".
|
||||
* Sets result to 0 if composite or 1 if probable prime
|
||||
*/
|
||||
/*
|
||||
int mp_prime_miller_rabin(mp_int *a, mp_int *b, int *result);
|
||||
*/
|
||||
|
||||
/* This gives [for a given bit size] the number of trials required
|
||||
* such that Miller-Rabin gives a prob of failure lower than 2^-96
|
||||
*/
|
||||
/*
|
||||
int mp_prime_rabin_miller_trials(int size);
|
||||
*/
|
||||
|
||||
/* performs t rounds of Miller-Rabin on "a" using the first
|
||||
* t prime bases. Also performs an initial sieve of trial
|
||||
* division. Determines if "a" is prime with probability
|
||||
* of error no more than (1/4)**t.
|
||||
*
|
||||
* Sets result to 1 if probably prime, 0 otherwise
|
||||
*/
|
||||
/*
|
||||
int mp_prime_is_prime(mp_int *a, int t, int *result);
|
||||
*/
|
||||
|
||||
/* finds the next prime after the number "a" using "t" trials
|
||||
* of Miller-Rabin.
|
||||
*
|
||||
* bbs_style = 1 means the prime must be congruent to 3 mod 4
|
||||
*/
|
||||
/*
|
||||
int mp_prime_next_prime(mp_int *a, int t, int bbs_style);
|
||||
*/
|
||||
|
||||
/* makes a truly random prime of a given size (bytes),
|
||||
* call with bbs = 1 if you want it to be congruent to 3 mod 4
|
||||
*
|
||||
* You have to supply a callback which fills in a buffer with random bytes. "dat" is a parameter you can
|
||||
* have passed to the callback (e.g. a state or something). This function doesn't use "dat" itself
|
||||
* so it can be NULL
|
||||
*
|
||||
* The prime generated will be larger than 2^(8*size).
|
||||
*/
|
||||
#define mp_prime_random(a, t, size, bbs, cb, dat) mp_prime_random_ex(a, t, ((size) * 8) + 1, (bbs==1)?LTM_PRIME_BBS:0, cb, dat)
|
||||
|
||||
/* makes a truly random prime of a given size (bits),
|
||||
*
|
||||
* Flags are as follows:
|
||||
*
|
||||
* LTM_PRIME_BBS - make prime congruent to 3 mod 4
|
||||
* LTM_PRIME_SAFE - make sure (p-1)/2 is prime as well (implies LTM_PRIME_BBS)
|
||||
* LTM_PRIME_2MSB_OFF - make the 2nd highest bit zero
|
||||
* LTM_PRIME_2MSB_ON - make the 2nd highest bit one
|
||||
*
|
||||
* You have to supply a callback which fills in a buffer with random bytes. "dat" is a parameter you can
|
||||
* have passed to the callback (e.g. a state or something). This function doesn't use "dat" itself
|
||||
* so it can be NULL
|
||||
*
|
||||
*/
|
||||
/*
|
||||
int mp_prime_random_ex(mp_int *a, int t, int size, int flags, ltm_prime_callback cb, void *dat);
|
||||
*/
|
||||
|
||||
/* ---> radix conversion <--- */
|
||||
/*
|
||||
int mp_count_bits(const mp_int *a);
|
||||
*/
|
||||
|
||||
/*
|
||||
int mp_unsigned_bin_size(mp_int *a);
|
||||
*/
|
||||
/*
|
||||
int mp_read_unsigned_bin(mp_int *a, const unsigned char *b, int c);
|
||||
*/
|
||||
/*
|
||||
int mp_to_unsigned_bin(mp_int *a, unsigned char *b);
|
||||
*/
|
||||
/*
|
||||
int mp_to_unsigned_bin_n (mp_int * a, unsigned char *b, unsigned long *outlen);
|
||||
*/
|
||||
|
||||
/*
|
||||
int mp_signed_bin_size(mp_int *a);
|
||||
*/
|
||||
/*
|
||||
int mp_read_signed_bin(mp_int *a, const unsigned char *b, int c);
|
||||
*/
|
||||
/*
|
||||
int mp_to_signed_bin(mp_int *a, unsigned char *b);
|
||||
*/
|
||||
/*
|
||||
int mp_to_signed_bin_n (mp_int * a, unsigned char *b, unsigned long *outlen);
|
||||
*/
|
||||
|
||||
/*
|
||||
int mp_read_radix(mp_int *a, const char *str, int radix);
|
||||
*/
|
||||
/*
|
||||
int mp_toradix(mp_int *a, char *str, int radix);
|
||||
*/
|
||||
/*
|
||||
int mp_toradix_n(mp_int * a, char *str, int radix, int maxlen);
|
||||
*/
|
||||
/*
|
||||
int mp_radix_size(mp_int *a, int radix, int *size);
|
||||
*/
|
||||
|
||||
/*
|
||||
int mp_fread(mp_int *a, int radix, FILE *stream);
|
||||
*/
|
||||
/*
|
||||
int mp_fwrite(mp_int *a, int radix, FILE *stream);
|
||||
*/
|
||||
|
||||
#define mp_read_raw(mp, str, len) mp_read_signed_bin((mp), (str), (len))
|
||||
#define mp_raw_size(mp) mp_signed_bin_size(mp)
|
||||
#define mp_toraw(mp, str) mp_to_signed_bin((mp), (str))
|
||||
#define mp_read_mag(mp, str, len) mp_read_unsigned_bin((mp), (str), (len))
|
||||
#define mp_mag_size(mp) mp_unsigned_bin_size(mp)
|
||||
#define mp_tomag(mp, str) mp_to_unsigned_bin((mp), (str))
|
||||
|
||||
#define mp_tobinary(M, S) mp_toradix((M), (S), 2)
|
||||
#define mp_tooctal(M, S) mp_toradix((M), (S), 8)
|
||||
#define mp_todecimal(M, S) mp_toradix((M), (S), 10)
|
||||
#define mp_tohex(M, S) mp_toradix((M), (S), 16)
|
||||
|
||||
/* lowlevel functions, do not call! */
|
||||
/*
|
||||
int s_mp_add(mp_int *a, mp_int *b, mp_int *c);
|
||||
*/
|
||||
/*
|
||||
int s_mp_sub(mp_int *a, mp_int *b, mp_int *c);
|
||||
*/
|
||||
#define s_mp_mul(a, b, c) s_mp_mul_digs(a, b, c, (a)->used + (b)->used + 1)
|
||||
/*
|
||||
int fast_s_mp_mul_digs(mp_int *a, mp_int *b, mp_int *c, int digs);
|
||||
*/
|
||||
/*
|
||||
int s_mp_mul_digs(mp_int *a, mp_int *b, mp_int *c, int digs);
|
||||
*/
|
||||
/*
|
||||
int fast_s_mp_mul_high_digs(mp_int *a, mp_int *b, mp_int *c, int digs);
|
||||
*/
|
||||
/*
|
||||
int s_mp_mul_high_digs(mp_int *a, mp_int *b, mp_int *c, int digs);
|
||||
*/
|
||||
/*
|
||||
int fast_s_mp_sqr(mp_int *a, mp_int *b);
|
||||
*/
|
||||
/*
|
||||
int s_mp_sqr(mp_int *a, mp_int *b);
|
||||
*/
|
||||
/*
|
||||
int mp_karatsuba_mul(mp_int *a, mp_int *b, mp_int *c);
|
||||
*/
|
||||
/*
|
||||
int mp_toom_mul(mp_int *a, mp_int *b, mp_int *c);
|
||||
*/
|
||||
/*
|
||||
int mp_karatsuba_sqr(mp_int *a, mp_int *b);
|
||||
*/
|
||||
/*
|
||||
int mp_toom_sqr(mp_int *a, mp_int *b);
|
||||
*/
|
||||
/*
|
||||
int fast_mp_invmod(mp_int *a, mp_int *b, mp_int *c);
|
||||
*/
|
||||
/*
|
||||
int mp_invmod_slow (mp_int * a, mp_int * b, mp_int * c);
|
||||
*/
|
||||
/*
|
||||
int fast_mp_montgomery_reduce(mp_int *a, mp_int *m, mp_digit mp);
|
||||
*/
|
||||
/*
|
||||
int mp_exptmod_fast(mp_int *G, mp_int *X, mp_int *P, mp_int *Y, int mode);
|
||||
*/
|
||||
/*
|
||||
int s_mp_exptmod (mp_int * G, mp_int * X, mp_int * P, mp_int * Y, int mode);
|
||||
*/
|
||||
/*
|
||||
void bn_reverse(unsigned char *s, int len);
|
||||
*/
|
||||
|
||||
#if defined(BUILD_tcl) || !defined(_WIN32)
|
||||
MODULE_SCOPE const char *mp_s_rmap;
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
518
amd64/include/tclTomMathDecls.h
Normal file
518
amd64/include/tclTomMathDecls.h
Normal file
@@ -0,0 +1,518 @@
|
||||
/*
|
||||
*----------------------------------------------------------------------
|
||||
*
|
||||
* tclTomMathDecls.h --
|
||||
*
|
||||
* This file contains the declarations for the 'libtommath'
|
||||
* functions that are exported by the Tcl library.
|
||||
*
|
||||
* Copyright (c) 2005 by Kevin B. Kenny. All rights reserved.
|
||||
*
|
||||
* See the file "license.terms" for information on usage and redistribution
|
||||
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
*/
|
||||
|
||||
#ifndef _TCLTOMMATHDECLS
|
||||
#define _TCLTOMMATHDECLS
|
||||
|
||||
#include "tcl.h"
|
||||
|
||||
/*
|
||||
* Define the version of the Stubs table that's exported for tommath
|
||||
*/
|
||||
|
||||
#define TCLTOMMATH_EPOCH 0
|
||||
#define TCLTOMMATH_REVISION 0
|
||||
|
||||
#define Tcl_TomMath_InitStubs(interp,version) \
|
||||
(TclTomMathInitializeStubs((interp),(version),\
|
||||
TCLTOMMATH_EPOCH,TCLTOMMATH_REVISION))
|
||||
|
||||
/* Define custom memory allocation for libtommath */
|
||||
|
||||
/* MODULE_SCOPE void* TclBNAlloc( size_t ); */
|
||||
#define TclBNAlloc(s) ((void*)ckalloc((size_t)(s)))
|
||||
/* MODULE_SCOPE void* TclBNRealloc( void*, size_t ); */
|
||||
#define TclBNRealloc(x,s) ((void*)ckrealloc((char*)(x),(size_t)(s)))
|
||||
/* MODULE_SCOPE void TclBNFree( void* ); */
|
||||
#define TclBNFree(x) (ckfree((char*)(x)))
|
||||
/* MODULE_SCOPE void* TclBNCalloc( size_t, size_t ); */
|
||||
/* unused - no macro */
|
||||
|
||||
#define XMALLOC(x) TclBNAlloc(x)
|
||||
#define XFREE(x) TclBNFree(x)
|
||||
#define XREALLOC(x,n) TclBNRealloc(x,n)
|
||||
#define XCALLOC(n,x) TclBNCalloc(n,x)
|
||||
|
||||
/* Rename the global symbols in libtommath to avoid linkage conflicts */
|
||||
|
||||
#define KARATSUBA_MUL_CUTOFF TclBNKaratsubaMulCutoff
|
||||
#define KARATSUBA_SQR_CUTOFF TclBNKaratsubaSqrCutoff
|
||||
#define TOOM_MUL_CUTOFF TclBNToomMulCutoff
|
||||
#define TOOM_SQR_CUTOFF TclBNToomSqrCutoff
|
||||
|
||||
#define bn_reverse TclBN_reverse
|
||||
#define fast_s_mp_mul_digs TclBN_fast_s_mp_mul_digs
|
||||
#define fast_s_mp_sqr TclBN_fast_s_mp_sqr
|
||||
#define mp_add TclBN_mp_add
|
||||
#define mp_add_d TclBN_mp_add_d
|
||||
#define mp_and TclBN_mp_and
|
||||
#define mp_clamp TclBN_mp_clamp
|
||||
#define mp_clear TclBN_mp_clear
|
||||
#define mp_clear_multi TclBN_mp_clear_multi
|
||||
#define mp_cmp TclBN_mp_cmp
|
||||
#define mp_cmp_d TclBN_mp_cmp_d
|
||||
#define mp_cmp_mag TclBN_mp_cmp_mag
|
||||
#define mp_cnt_lsb TclBN_mp_cnt_lsb
|
||||
#define mp_copy TclBN_mp_copy
|
||||
#define mp_count_bits TclBN_mp_count_bits
|
||||
#define mp_div TclBN_mp_div
|
||||
#define mp_div_2 TclBN_mp_div_2
|
||||
#define mp_div_2d TclBN_mp_div_2d
|
||||
#define mp_div_3 TclBN_mp_div_3
|
||||
#define mp_div_d TclBN_mp_div_d
|
||||
#define mp_exch TclBN_mp_exch
|
||||
#define mp_expt_d TclBN_mp_expt_d
|
||||
#define mp_grow TclBN_mp_grow
|
||||
#define mp_init TclBN_mp_init
|
||||
#define mp_init_copy TclBN_mp_init_copy
|
||||
#define mp_init_multi TclBN_mp_init_multi
|
||||
#define mp_init_set TclBN_mp_init_set
|
||||
#define mp_init_set_int TclBN_mp_init_set_int
|
||||
#define mp_init_size TclBN_mp_init_size
|
||||
#define mp_karatsuba_mul TclBN_mp_karatsuba_mul
|
||||
#define mp_karatsuba_sqr TclBN_mp_karatsuba_sqr
|
||||
#define mp_lshd TclBN_mp_lshd
|
||||
#define mp_mod TclBN_mp_mod
|
||||
#define mp_mod_2d TclBN_mp_mod_2d
|
||||
#define mp_mul TclBN_mp_mul
|
||||
#define mp_mul_2 TclBN_mp_mul_2
|
||||
#define mp_mul_2d TclBN_mp_mul_2d
|
||||
#define mp_mul_d TclBN_mp_mul_d
|
||||
#define mp_neg TclBN_mp_neg
|
||||
#define mp_or TclBN_mp_or
|
||||
#define mp_radix_size TclBN_mp_radix_size
|
||||
#define mp_read_radix TclBN_mp_read_radix
|
||||
#define mp_rshd TclBN_mp_rshd
|
||||
#define mp_s_rmap TclBNMpSRmap
|
||||
#define mp_set TclBN_mp_set
|
||||
#define mp_set_int TclBN_mp_set_int
|
||||
#define mp_shrink TclBN_mp_shrink
|
||||
#define mp_sqr TclBN_mp_sqr
|
||||
#define mp_sqrt TclBN_mp_sqrt
|
||||
#define mp_sub TclBN_mp_sub
|
||||
#define mp_sub_d TclBN_mp_sub_d
|
||||
#define mp_to_unsigned_bin TclBN_mp_to_unsigned_bin
|
||||
#define mp_to_unsigned_bin_n TclBN_mp_to_unsigned_bin_n
|
||||
#define mp_toom_mul TclBN_mp_toom_mul
|
||||
#define mp_toom_sqr TclBN_mp_toom_sqr
|
||||
#define mp_toradix_n TclBN_mp_toradix_n
|
||||
#define mp_unsigned_bin_size TclBN_mp_unsigned_bin_size
|
||||
#define mp_xor TclBN_mp_xor
|
||||
#define mp_zero TclBN_mp_zero
|
||||
#define s_mp_add TclBN_s_mp_add
|
||||
#define s_mp_mul_digs TclBN_s_mp_mul_digs
|
||||
#define s_mp_sqr TclBN_s_mp_sqr
|
||||
#define s_mp_sub TclBN_s_mp_sub
|
||||
|
||||
#undef TCL_STORAGE_CLASS
|
||||
#ifdef BUILD_tcl
|
||||
# define TCL_STORAGE_CLASS DLLEXPORT
|
||||
#else
|
||||
# ifdef USE_TCL_STUBS
|
||||
# define TCL_STORAGE_CLASS
|
||||
# else
|
||||
# define TCL_STORAGE_CLASS DLLIMPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* WARNING: This file is automatically generated by the tools/genStubs.tcl
|
||||
* script. Any modifications to the function declarations below should be made
|
||||
* in the generic/tclInt.decls script.
|
||||
*/
|
||||
|
||||
/* !BEGIN!: Do not edit below this line. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Exported function declarations:
|
||||
*/
|
||||
|
||||
/* 0 */
|
||||
EXTERN int TclBN_epoch(void);
|
||||
/* 1 */
|
||||
EXTERN int TclBN_revision(void);
|
||||
/* 2 */
|
||||
EXTERN int TclBN_mp_add(mp_int *a, mp_int *b, mp_int *c);
|
||||
/* 3 */
|
||||
EXTERN int TclBN_mp_add_d(mp_int *a, mp_digit b, mp_int *c);
|
||||
/* 4 */
|
||||
EXTERN int TclBN_mp_and(mp_int *a, mp_int *b, mp_int *c);
|
||||
/* 5 */
|
||||
EXTERN void TclBN_mp_clamp(mp_int *a);
|
||||
/* 6 */
|
||||
EXTERN void TclBN_mp_clear(mp_int *a);
|
||||
/* 7 */
|
||||
EXTERN void TclBN_mp_clear_multi(mp_int *a, ...);
|
||||
/* 8 */
|
||||
EXTERN int TclBN_mp_cmp(const mp_int *a, const mp_int *b);
|
||||
/* 9 */
|
||||
EXTERN int TclBN_mp_cmp_d(const mp_int *a, mp_digit b);
|
||||
/* 10 */
|
||||
EXTERN int TclBN_mp_cmp_mag(const mp_int *a, const mp_int *b);
|
||||
/* 11 */
|
||||
EXTERN int TclBN_mp_copy(const mp_int *a, mp_int *b);
|
||||
/* 12 */
|
||||
EXTERN int TclBN_mp_count_bits(const mp_int *a);
|
||||
/* 13 */
|
||||
EXTERN int TclBN_mp_div(mp_int *a, mp_int *b, mp_int *q,
|
||||
mp_int *r);
|
||||
/* 14 */
|
||||
EXTERN int TclBN_mp_div_d(mp_int *a, mp_digit b, mp_int *q,
|
||||
mp_digit *r);
|
||||
/* 15 */
|
||||
EXTERN int TclBN_mp_div_2(mp_int *a, mp_int *q);
|
||||
/* 16 */
|
||||
EXTERN int TclBN_mp_div_2d(const mp_int *a, int b, mp_int *q,
|
||||
mp_int *r);
|
||||
/* 17 */
|
||||
EXTERN int TclBN_mp_div_3(mp_int *a, mp_int *q, mp_digit *r);
|
||||
/* 18 */
|
||||
EXTERN void TclBN_mp_exch(mp_int *a, mp_int *b);
|
||||
/* 19 */
|
||||
EXTERN int TclBN_mp_expt_d(mp_int *a, mp_digit b, mp_int *c);
|
||||
/* 20 */
|
||||
EXTERN int TclBN_mp_grow(mp_int *a, int size);
|
||||
/* 21 */
|
||||
EXTERN int TclBN_mp_init(mp_int *a);
|
||||
/* 22 */
|
||||
EXTERN int TclBN_mp_init_copy(mp_int *a, mp_int *b);
|
||||
/* 23 */
|
||||
EXTERN int TclBN_mp_init_multi(mp_int *a, ...);
|
||||
/* 24 */
|
||||
EXTERN int TclBN_mp_init_set(mp_int *a, mp_digit b);
|
||||
/* 25 */
|
||||
EXTERN int TclBN_mp_init_size(mp_int *a, int size);
|
||||
/* 26 */
|
||||
EXTERN int TclBN_mp_lshd(mp_int *a, int shift);
|
||||
/* 27 */
|
||||
EXTERN int TclBN_mp_mod(mp_int *a, mp_int *b, mp_int *r);
|
||||
/* 28 */
|
||||
EXTERN int TclBN_mp_mod_2d(const mp_int *a, int b, mp_int *r);
|
||||
/* 29 */
|
||||
EXTERN int TclBN_mp_mul(mp_int *a, mp_int *b, mp_int *p);
|
||||
/* 30 */
|
||||
EXTERN int TclBN_mp_mul_d(mp_int *a, mp_digit b, mp_int *p);
|
||||
/* 31 */
|
||||
EXTERN int TclBN_mp_mul_2(mp_int *a, mp_int *p);
|
||||
/* 32 */
|
||||
EXTERN int TclBN_mp_mul_2d(const mp_int *a, int d, mp_int *p);
|
||||
/* 33 */
|
||||
EXTERN int TclBN_mp_neg(const mp_int *a, mp_int *b);
|
||||
/* 34 */
|
||||
EXTERN int TclBN_mp_or(mp_int *a, mp_int *b, mp_int *c);
|
||||
/* 35 */
|
||||
EXTERN int TclBN_mp_radix_size(mp_int *a, int radix, int *size);
|
||||
/* 36 */
|
||||
EXTERN int TclBN_mp_read_radix(mp_int *a, const char *str,
|
||||
int radix);
|
||||
/* 37 */
|
||||
EXTERN void TclBN_mp_rshd(mp_int *a, int shift);
|
||||
/* 38 */
|
||||
EXTERN int TclBN_mp_shrink(mp_int *a);
|
||||
/* 39 */
|
||||
EXTERN void TclBN_mp_set(mp_int *a, mp_digit b);
|
||||
/* 40 */
|
||||
EXTERN int TclBN_mp_sqr(mp_int *a, mp_int *b);
|
||||
/* 41 */
|
||||
EXTERN int TclBN_mp_sqrt(mp_int *a, mp_int *b);
|
||||
/* 42 */
|
||||
EXTERN int TclBN_mp_sub(mp_int *a, mp_int *b, mp_int *c);
|
||||
/* 43 */
|
||||
EXTERN int TclBN_mp_sub_d(mp_int *a, mp_digit b, mp_int *c);
|
||||
/* 44 */
|
||||
EXTERN int TclBN_mp_to_unsigned_bin(mp_int *a, unsigned char *b);
|
||||
/* 45 */
|
||||
EXTERN int TclBN_mp_to_unsigned_bin_n(mp_int *a,
|
||||
unsigned char *b, unsigned long *outlen);
|
||||
/* 46 */
|
||||
EXTERN int TclBN_mp_toradix_n(mp_int *a, char *str, int radix,
|
||||
int maxlen);
|
||||
/* 47 */
|
||||
EXTERN int TclBN_mp_unsigned_bin_size(mp_int *a);
|
||||
/* 48 */
|
||||
EXTERN int TclBN_mp_xor(mp_int *a, mp_int *b, mp_int *c);
|
||||
/* 49 */
|
||||
EXTERN void TclBN_mp_zero(mp_int *a);
|
||||
/* 50 */
|
||||
EXTERN void TclBN_reverse(unsigned char *s, int len);
|
||||
/* 51 */
|
||||
EXTERN int TclBN_fast_s_mp_mul_digs(mp_int *a, mp_int *b,
|
||||
mp_int *c, int digs);
|
||||
/* 52 */
|
||||
EXTERN int TclBN_fast_s_mp_sqr(mp_int *a, mp_int *b);
|
||||
/* 53 */
|
||||
EXTERN int TclBN_mp_karatsuba_mul(mp_int *a, mp_int *b,
|
||||
mp_int *c);
|
||||
/* 54 */
|
||||
EXTERN int TclBN_mp_karatsuba_sqr(mp_int *a, mp_int *b);
|
||||
/* 55 */
|
||||
EXTERN int TclBN_mp_toom_mul(mp_int *a, mp_int *b, mp_int *c);
|
||||
/* 56 */
|
||||
EXTERN int TclBN_mp_toom_sqr(mp_int *a, mp_int *b);
|
||||
/* 57 */
|
||||
EXTERN int TclBN_s_mp_add(mp_int *a, mp_int *b, mp_int *c);
|
||||
/* 58 */
|
||||
EXTERN int TclBN_s_mp_mul_digs(mp_int *a, mp_int *b, mp_int *c,
|
||||
int digs);
|
||||
/* 59 */
|
||||
EXTERN int TclBN_s_mp_sqr(mp_int *a, mp_int *b);
|
||||
/* 60 */
|
||||
EXTERN int TclBN_s_mp_sub(mp_int *a, mp_int *b, mp_int *c);
|
||||
/* 61 */
|
||||
EXTERN int TclBN_mp_init_set_int(mp_int *a, unsigned long i);
|
||||
/* 62 */
|
||||
EXTERN int TclBN_mp_set_int(mp_int *a, unsigned long i);
|
||||
/* 63 */
|
||||
EXTERN int TclBN_mp_cnt_lsb(const mp_int *a);
|
||||
/* 64 */
|
||||
EXTERN void TclBNInitBignumFromLong(mp_int *bignum, long initVal);
|
||||
/* 65 */
|
||||
EXTERN void TclBNInitBignumFromWideInt(mp_int *bignum,
|
||||
Tcl_WideInt initVal);
|
||||
/* 66 */
|
||||
EXTERN void TclBNInitBignumFromWideUInt(mp_int *bignum,
|
||||
Tcl_WideUInt initVal);
|
||||
|
||||
typedef struct TclTomMathStubs {
|
||||
int magic;
|
||||
void *hooks;
|
||||
|
||||
int (*tclBN_epoch) (void); /* 0 */
|
||||
int (*tclBN_revision) (void); /* 1 */
|
||||
int (*tclBN_mp_add) (mp_int *a, mp_int *b, mp_int *c); /* 2 */
|
||||
int (*tclBN_mp_add_d) (mp_int *a, mp_digit b, mp_int *c); /* 3 */
|
||||
int (*tclBN_mp_and) (mp_int *a, mp_int *b, mp_int *c); /* 4 */
|
||||
void (*tclBN_mp_clamp) (mp_int *a); /* 5 */
|
||||
void (*tclBN_mp_clear) (mp_int *a); /* 6 */
|
||||
void (*tclBN_mp_clear_multi) (mp_int *a, ...); /* 7 */
|
||||
int (*tclBN_mp_cmp) (const mp_int *a, const mp_int *b); /* 8 */
|
||||
int (*tclBN_mp_cmp_d) (const mp_int *a, mp_digit b); /* 9 */
|
||||
int (*tclBN_mp_cmp_mag) (const mp_int *a, const mp_int *b); /* 10 */
|
||||
int (*tclBN_mp_copy) (const mp_int *a, mp_int *b); /* 11 */
|
||||
int (*tclBN_mp_count_bits) (const mp_int *a); /* 12 */
|
||||
int (*tclBN_mp_div) (mp_int *a, mp_int *b, mp_int *q, mp_int *r); /* 13 */
|
||||
int (*tclBN_mp_div_d) (mp_int *a, mp_digit b, mp_int *q, mp_digit *r); /* 14 */
|
||||
int (*tclBN_mp_div_2) (mp_int *a, mp_int *q); /* 15 */
|
||||
int (*tclBN_mp_div_2d) (const mp_int *a, int b, mp_int *q, mp_int *r); /* 16 */
|
||||
int (*tclBN_mp_div_3) (mp_int *a, mp_int *q, mp_digit *r); /* 17 */
|
||||
void (*tclBN_mp_exch) (mp_int *a, mp_int *b); /* 18 */
|
||||
int (*tclBN_mp_expt_d) (mp_int *a, mp_digit b, mp_int *c); /* 19 */
|
||||
int (*tclBN_mp_grow) (mp_int *a, int size); /* 20 */
|
||||
int (*tclBN_mp_init) (mp_int *a); /* 21 */
|
||||
int (*tclBN_mp_init_copy) (mp_int *a, mp_int *b); /* 22 */
|
||||
int (*tclBN_mp_init_multi) (mp_int *a, ...); /* 23 */
|
||||
int (*tclBN_mp_init_set) (mp_int *a, mp_digit b); /* 24 */
|
||||
int (*tclBN_mp_init_size) (mp_int *a, int size); /* 25 */
|
||||
int (*tclBN_mp_lshd) (mp_int *a, int shift); /* 26 */
|
||||
int (*tclBN_mp_mod) (mp_int *a, mp_int *b, mp_int *r); /* 27 */
|
||||
int (*tclBN_mp_mod_2d) (const mp_int *a, int b, mp_int *r); /* 28 */
|
||||
int (*tclBN_mp_mul) (mp_int *a, mp_int *b, mp_int *p); /* 29 */
|
||||
int (*tclBN_mp_mul_d) (mp_int *a, mp_digit b, mp_int *p); /* 30 */
|
||||
int (*tclBN_mp_mul_2) (mp_int *a, mp_int *p); /* 31 */
|
||||
int (*tclBN_mp_mul_2d) (const mp_int *a, int d, mp_int *p); /* 32 */
|
||||
int (*tclBN_mp_neg) (const mp_int *a, mp_int *b); /* 33 */
|
||||
int (*tclBN_mp_or) (mp_int *a, mp_int *b, mp_int *c); /* 34 */
|
||||
int (*tclBN_mp_radix_size) (mp_int *a, int radix, int *size); /* 35 */
|
||||
int (*tclBN_mp_read_radix) (mp_int *a, const char *str, int radix); /* 36 */
|
||||
void (*tclBN_mp_rshd) (mp_int *a, int shift); /* 37 */
|
||||
int (*tclBN_mp_shrink) (mp_int *a); /* 38 */
|
||||
void (*tclBN_mp_set) (mp_int *a, mp_digit b); /* 39 */
|
||||
int (*tclBN_mp_sqr) (mp_int *a, mp_int *b); /* 40 */
|
||||
int (*tclBN_mp_sqrt) (mp_int *a, mp_int *b); /* 41 */
|
||||
int (*tclBN_mp_sub) (mp_int *a, mp_int *b, mp_int *c); /* 42 */
|
||||
int (*tclBN_mp_sub_d) (mp_int *a, mp_digit b, mp_int *c); /* 43 */
|
||||
int (*tclBN_mp_to_unsigned_bin) (mp_int *a, unsigned char *b); /* 44 */
|
||||
int (*tclBN_mp_to_unsigned_bin_n) (mp_int *a, unsigned char *b, unsigned long *outlen); /* 45 */
|
||||
int (*tclBN_mp_toradix_n) (mp_int *a, char *str, int radix, int maxlen); /* 46 */
|
||||
int (*tclBN_mp_unsigned_bin_size) (mp_int *a); /* 47 */
|
||||
int (*tclBN_mp_xor) (mp_int *a, mp_int *b, mp_int *c); /* 48 */
|
||||
void (*tclBN_mp_zero) (mp_int *a); /* 49 */
|
||||
void (*tclBN_reverse) (unsigned char *s, int len); /* 50 */
|
||||
int (*tclBN_fast_s_mp_mul_digs) (mp_int *a, mp_int *b, mp_int *c, int digs); /* 51 */
|
||||
int (*tclBN_fast_s_mp_sqr) (mp_int *a, mp_int *b); /* 52 */
|
||||
int (*tclBN_mp_karatsuba_mul) (mp_int *a, mp_int *b, mp_int *c); /* 53 */
|
||||
int (*tclBN_mp_karatsuba_sqr) (mp_int *a, mp_int *b); /* 54 */
|
||||
int (*tclBN_mp_toom_mul) (mp_int *a, mp_int *b, mp_int *c); /* 55 */
|
||||
int (*tclBN_mp_toom_sqr) (mp_int *a, mp_int *b); /* 56 */
|
||||
int (*tclBN_s_mp_add) (mp_int *a, mp_int *b, mp_int *c); /* 57 */
|
||||
int (*tclBN_s_mp_mul_digs) (mp_int *a, mp_int *b, mp_int *c, int digs); /* 58 */
|
||||
int (*tclBN_s_mp_sqr) (mp_int *a, mp_int *b); /* 59 */
|
||||
int (*tclBN_s_mp_sub) (mp_int *a, mp_int *b, mp_int *c); /* 60 */
|
||||
int (*tclBN_mp_init_set_int) (mp_int *a, unsigned long i); /* 61 */
|
||||
int (*tclBN_mp_set_int) (mp_int *a, unsigned long i); /* 62 */
|
||||
int (*tclBN_mp_cnt_lsb) (const mp_int *a); /* 63 */
|
||||
void (*tclBNInitBignumFromLong) (mp_int *bignum, long initVal); /* 64 */
|
||||
void (*tclBNInitBignumFromWideInt) (mp_int *bignum, Tcl_WideInt initVal); /* 65 */
|
||||
void (*tclBNInitBignumFromWideUInt) (mp_int *bignum, Tcl_WideUInt initVal); /* 66 */
|
||||
} TclTomMathStubs;
|
||||
|
||||
extern const TclTomMathStubs *tclTomMathStubsPtr;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(USE_TCL_STUBS)
|
||||
|
||||
/*
|
||||
* Inline function declarations:
|
||||
*/
|
||||
|
||||
#define TclBN_epoch \
|
||||
(tclTomMathStubsPtr->tclBN_epoch) /* 0 */
|
||||
#define TclBN_revision \
|
||||
(tclTomMathStubsPtr->tclBN_revision) /* 1 */
|
||||
#define TclBN_mp_add \
|
||||
(tclTomMathStubsPtr->tclBN_mp_add) /* 2 */
|
||||
#define TclBN_mp_add_d \
|
||||
(tclTomMathStubsPtr->tclBN_mp_add_d) /* 3 */
|
||||
#define TclBN_mp_and \
|
||||
(tclTomMathStubsPtr->tclBN_mp_and) /* 4 */
|
||||
#define TclBN_mp_clamp \
|
||||
(tclTomMathStubsPtr->tclBN_mp_clamp) /* 5 */
|
||||
#define TclBN_mp_clear \
|
||||
(tclTomMathStubsPtr->tclBN_mp_clear) /* 6 */
|
||||
#define TclBN_mp_clear_multi \
|
||||
(tclTomMathStubsPtr->tclBN_mp_clear_multi) /* 7 */
|
||||
#define TclBN_mp_cmp \
|
||||
(tclTomMathStubsPtr->tclBN_mp_cmp) /* 8 */
|
||||
#define TclBN_mp_cmp_d \
|
||||
(tclTomMathStubsPtr->tclBN_mp_cmp_d) /* 9 */
|
||||
#define TclBN_mp_cmp_mag \
|
||||
(tclTomMathStubsPtr->tclBN_mp_cmp_mag) /* 10 */
|
||||
#define TclBN_mp_copy \
|
||||
(tclTomMathStubsPtr->tclBN_mp_copy) /* 11 */
|
||||
#define TclBN_mp_count_bits \
|
||||
(tclTomMathStubsPtr->tclBN_mp_count_bits) /* 12 */
|
||||
#define TclBN_mp_div \
|
||||
(tclTomMathStubsPtr->tclBN_mp_div) /* 13 */
|
||||
#define TclBN_mp_div_d \
|
||||
(tclTomMathStubsPtr->tclBN_mp_div_d) /* 14 */
|
||||
#define TclBN_mp_div_2 \
|
||||
(tclTomMathStubsPtr->tclBN_mp_div_2) /* 15 */
|
||||
#define TclBN_mp_div_2d \
|
||||
(tclTomMathStubsPtr->tclBN_mp_div_2d) /* 16 */
|
||||
#define TclBN_mp_div_3 \
|
||||
(tclTomMathStubsPtr->tclBN_mp_div_3) /* 17 */
|
||||
#define TclBN_mp_exch \
|
||||
(tclTomMathStubsPtr->tclBN_mp_exch) /* 18 */
|
||||
#define TclBN_mp_expt_d \
|
||||
(tclTomMathStubsPtr->tclBN_mp_expt_d) /* 19 */
|
||||
#define TclBN_mp_grow \
|
||||
(tclTomMathStubsPtr->tclBN_mp_grow) /* 20 */
|
||||
#define TclBN_mp_init \
|
||||
(tclTomMathStubsPtr->tclBN_mp_init) /* 21 */
|
||||
#define TclBN_mp_init_copy \
|
||||
(tclTomMathStubsPtr->tclBN_mp_init_copy) /* 22 */
|
||||
#define TclBN_mp_init_multi \
|
||||
(tclTomMathStubsPtr->tclBN_mp_init_multi) /* 23 */
|
||||
#define TclBN_mp_init_set \
|
||||
(tclTomMathStubsPtr->tclBN_mp_init_set) /* 24 */
|
||||
#define TclBN_mp_init_size \
|
||||
(tclTomMathStubsPtr->tclBN_mp_init_size) /* 25 */
|
||||
#define TclBN_mp_lshd \
|
||||
(tclTomMathStubsPtr->tclBN_mp_lshd) /* 26 */
|
||||
#define TclBN_mp_mod \
|
||||
(tclTomMathStubsPtr->tclBN_mp_mod) /* 27 */
|
||||
#define TclBN_mp_mod_2d \
|
||||
(tclTomMathStubsPtr->tclBN_mp_mod_2d) /* 28 */
|
||||
#define TclBN_mp_mul \
|
||||
(tclTomMathStubsPtr->tclBN_mp_mul) /* 29 */
|
||||
#define TclBN_mp_mul_d \
|
||||
(tclTomMathStubsPtr->tclBN_mp_mul_d) /* 30 */
|
||||
#define TclBN_mp_mul_2 \
|
||||
(tclTomMathStubsPtr->tclBN_mp_mul_2) /* 31 */
|
||||
#define TclBN_mp_mul_2d \
|
||||
(tclTomMathStubsPtr->tclBN_mp_mul_2d) /* 32 */
|
||||
#define TclBN_mp_neg \
|
||||
(tclTomMathStubsPtr->tclBN_mp_neg) /* 33 */
|
||||
#define TclBN_mp_or \
|
||||
(tclTomMathStubsPtr->tclBN_mp_or) /* 34 */
|
||||
#define TclBN_mp_radix_size \
|
||||
(tclTomMathStubsPtr->tclBN_mp_radix_size) /* 35 */
|
||||
#define TclBN_mp_read_radix \
|
||||
(tclTomMathStubsPtr->tclBN_mp_read_radix) /* 36 */
|
||||
#define TclBN_mp_rshd \
|
||||
(tclTomMathStubsPtr->tclBN_mp_rshd) /* 37 */
|
||||
#define TclBN_mp_shrink \
|
||||
(tclTomMathStubsPtr->tclBN_mp_shrink) /* 38 */
|
||||
#define TclBN_mp_set \
|
||||
(tclTomMathStubsPtr->tclBN_mp_set) /* 39 */
|
||||
#define TclBN_mp_sqr \
|
||||
(tclTomMathStubsPtr->tclBN_mp_sqr) /* 40 */
|
||||
#define TclBN_mp_sqrt \
|
||||
(tclTomMathStubsPtr->tclBN_mp_sqrt) /* 41 */
|
||||
#define TclBN_mp_sub \
|
||||
(tclTomMathStubsPtr->tclBN_mp_sub) /* 42 */
|
||||
#define TclBN_mp_sub_d \
|
||||
(tclTomMathStubsPtr->tclBN_mp_sub_d) /* 43 */
|
||||
#define TclBN_mp_to_unsigned_bin \
|
||||
(tclTomMathStubsPtr->tclBN_mp_to_unsigned_bin) /* 44 */
|
||||
#define TclBN_mp_to_unsigned_bin_n \
|
||||
(tclTomMathStubsPtr->tclBN_mp_to_unsigned_bin_n) /* 45 */
|
||||
#define TclBN_mp_toradix_n \
|
||||
(tclTomMathStubsPtr->tclBN_mp_toradix_n) /* 46 */
|
||||
#define TclBN_mp_unsigned_bin_size \
|
||||
(tclTomMathStubsPtr->tclBN_mp_unsigned_bin_size) /* 47 */
|
||||
#define TclBN_mp_xor \
|
||||
(tclTomMathStubsPtr->tclBN_mp_xor) /* 48 */
|
||||
#define TclBN_mp_zero \
|
||||
(tclTomMathStubsPtr->tclBN_mp_zero) /* 49 */
|
||||
#define TclBN_reverse \
|
||||
(tclTomMathStubsPtr->tclBN_reverse) /* 50 */
|
||||
#define TclBN_fast_s_mp_mul_digs \
|
||||
(tclTomMathStubsPtr->tclBN_fast_s_mp_mul_digs) /* 51 */
|
||||
#define TclBN_fast_s_mp_sqr \
|
||||
(tclTomMathStubsPtr->tclBN_fast_s_mp_sqr) /* 52 */
|
||||
#define TclBN_mp_karatsuba_mul \
|
||||
(tclTomMathStubsPtr->tclBN_mp_karatsuba_mul) /* 53 */
|
||||
#define TclBN_mp_karatsuba_sqr \
|
||||
(tclTomMathStubsPtr->tclBN_mp_karatsuba_sqr) /* 54 */
|
||||
#define TclBN_mp_toom_mul \
|
||||
(tclTomMathStubsPtr->tclBN_mp_toom_mul) /* 55 */
|
||||
#define TclBN_mp_toom_sqr \
|
||||
(tclTomMathStubsPtr->tclBN_mp_toom_sqr) /* 56 */
|
||||
#define TclBN_s_mp_add \
|
||||
(tclTomMathStubsPtr->tclBN_s_mp_add) /* 57 */
|
||||
#define TclBN_s_mp_mul_digs \
|
||||
(tclTomMathStubsPtr->tclBN_s_mp_mul_digs) /* 58 */
|
||||
#define TclBN_s_mp_sqr \
|
||||
(tclTomMathStubsPtr->tclBN_s_mp_sqr) /* 59 */
|
||||
#define TclBN_s_mp_sub \
|
||||
(tclTomMathStubsPtr->tclBN_s_mp_sub) /* 60 */
|
||||
#define TclBN_mp_init_set_int \
|
||||
(tclTomMathStubsPtr->tclBN_mp_init_set_int) /* 61 */
|
||||
#define TclBN_mp_set_int \
|
||||
(tclTomMathStubsPtr->tclBN_mp_set_int) /* 62 */
|
||||
#define TclBN_mp_cnt_lsb \
|
||||
(tclTomMathStubsPtr->tclBN_mp_cnt_lsb) /* 63 */
|
||||
#define TclBNInitBignumFromLong \
|
||||
(tclTomMathStubsPtr->tclBNInitBignumFromLong) /* 64 */
|
||||
#define TclBNInitBignumFromWideInt \
|
||||
(tclTomMathStubsPtr->tclBNInitBignumFromWideInt) /* 65 */
|
||||
#define TclBNInitBignumFromWideUInt \
|
||||
(tclTomMathStubsPtr->tclBNInitBignumFromWideUInt) /* 66 */
|
||||
|
||||
#endif /* defined(USE_TCL_STUBS) */
|
||||
|
||||
/* !END!: Do not edit above this line. */
|
||||
|
||||
#undef TCL_STORAGE_CLASS
|
||||
#define TCL_STORAGE_CLASS DLLIMPORT
|
||||
|
||||
#endif /* _TCLINTDECLS */
|
||||
1622
amd64/include/tk.h
Normal file
1622
amd64/include/tk.h
Normal file
File diff suppressed because it is too large
Load Diff
1733
amd64/include/tkDecls.h
Normal file
1733
amd64/include/tkDecls.h
Normal file
File diff suppressed because it is too large
Load Diff
1394
amd64/include/tkIntXlibDecls.h
Normal file
1394
amd64/include/tkIntXlibDecls.h
Normal file
File diff suppressed because it is too large
Load Diff
176
amd64/include/tkPlatDecls.h
Normal file
176
amd64/include/tkPlatDecls.h
Normal file
@@ -0,0 +1,176 @@
|
||||
/*
|
||||
* tkPlatDecls.h --
|
||||
*
|
||||
* Declarations of functions in the platform-specific public Tcl API.
|
||||
*
|
||||
* Copyright (c) 1998-1999 by Scriptics Corporation.
|
||||
*
|
||||
* See the file "license.terms" for information on usage and redistribution
|
||||
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
||||
*/
|
||||
|
||||
#ifndef _TKPLATDECLS
|
||||
#define _TKPLATDECLS
|
||||
|
||||
#ifdef BUILD_tk
|
||||
#undef TCL_STORAGE_CLASS
|
||||
#define TCL_STORAGE_CLASS DLLEXPORT
|
||||
#endif
|
||||
|
||||
/*
|
||||
* WARNING: This file is automatically generated by the tools/genStubs.tcl
|
||||
* script. Any modifications to the function declarations below should be made
|
||||
* in the generic/tk.decls script.
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* !BEGIN!: Do not edit below this line. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Exported function declarations:
|
||||
*/
|
||||
|
||||
#if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
|
||||
/* 0 */
|
||||
EXTERN Window Tk_AttachHWND(Tk_Window tkwin, HWND hwnd);
|
||||
/* 1 */
|
||||
EXTERN HINSTANCE Tk_GetHINSTANCE(void);
|
||||
/* 2 */
|
||||
EXTERN HWND Tk_GetHWND(Window window);
|
||||
/* 3 */
|
||||
EXTERN Tk_Window Tk_HWNDToWindow(HWND hwnd);
|
||||
/* 4 */
|
||||
EXTERN void Tk_PointerEvent(HWND hwnd, int x, int y);
|
||||
/* 5 */
|
||||
EXTERN int Tk_TranslateWinEvent(HWND hwnd, UINT message,
|
||||
WPARAM wParam, LPARAM lParam,
|
||||
LRESULT *result);
|
||||
#endif /* WIN */
|
||||
#ifdef MAC_OSX_TK /* AQUA */
|
||||
/* 0 */
|
||||
EXTERN void Tk_MacOSXSetEmbedHandler(
|
||||
Tk_MacOSXEmbedRegisterWinProc *registerWinProcPtr,
|
||||
Tk_MacOSXEmbedGetGrafPortProc *getPortProcPtr,
|
||||
Tk_MacOSXEmbedMakeContainerExistProc *containerExistProcPtr,
|
||||
Tk_MacOSXEmbedGetClipProc *getClipProc,
|
||||
Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc);
|
||||
/* 1 */
|
||||
EXTERN void Tk_MacOSXTurnOffMenus(void);
|
||||
/* 2 */
|
||||
EXTERN void Tk_MacOSXTkOwnsCursor(int tkOwnsIt);
|
||||
/* 3 */
|
||||
EXTERN void TkMacOSXInitMenus(Tcl_Interp *interp);
|
||||
/* 4 */
|
||||
EXTERN void TkMacOSXInitAppleEvents(Tcl_Interp *interp);
|
||||
/* 5 */
|
||||
EXTERN void TkGenWMConfigureEvent(Tk_Window tkwin, int x, int y,
|
||||
int width, int height, int flags);
|
||||
/* 6 */
|
||||
EXTERN void TkMacOSXInvalClipRgns(Tk_Window tkwin);
|
||||
/* 7 */
|
||||
EXTERN void * TkMacOSXGetDrawablePort(Drawable drawable);
|
||||
/* 8 */
|
||||
EXTERN void * TkMacOSXGetRootControl(Drawable drawable);
|
||||
/* 9 */
|
||||
EXTERN void Tk_MacOSXSetupTkNotifier(void);
|
||||
/* 10 */
|
||||
EXTERN int Tk_MacOSXIsAppInFront(void);
|
||||
#endif /* AQUA */
|
||||
|
||||
typedef struct TkPlatStubs {
|
||||
int magic;
|
||||
void *hooks;
|
||||
|
||||
#if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
|
||||
Window (*tk_AttachHWND) (Tk_Window tkwin, HWND hwnd); /* 0 */
|
||||
HINSTANCE (*tk_GetHINSTANCE) (void); /* 1 */
|
||||
HWND (*tk_GetHWND) (Window window); /* 2 */
|
||||
Tk_Window (*tk_HWNDToWindow) (HWND hwnd); /* 3 */
|
||||
void (*tk_PointerEvent) (HWND hwnd, int x, int y); /* 4 */
|
||||
int (*tk_TranslateWinEvent) (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT *result); /* 5 */
|
||||
#endif /* WIN */
|
||||
#ifdef MAC_OSX_TK /* AQUA */
|
||||
void (*tk_MacOSXSetEmbedHandler) (Tk_MacOSXEmbedRegisterWinProc *registerWinProcPtr, Tk_MacOSXEmbedGetGrafPortProc *getPortProcPtr, Tk_MacOSXEmbedMakeContainerExistProc *containerExistProcPtr, Tk_MacOSXEmbedGetClipProc *getClipProc, Tk_MacOSXEmbedGetOffsetInParentProc *getOffsetProc); /* 0 */
|
||||
void (*tk_MacOSXTurnOffMenus) (void); /* 1 */
|
||||
void (*tk_MacOSXTkOwnsCursor) (int tkOwnsIt); /* 2 */
|
||||
void (*tkMacOSXInitMenus) (Tcl_Interp *interp); /* 3 */
|
||||
void (*tkMacOSXInitAppleEvents) (Tcl_Interp *interp); /* 4 */
|
||||
void (*tkGenWMConfigureEvent) (Tk_Window tkwin, int x, int y, int width, int height, int flags); /* 5 */
|
||||
void (*tkMacOSXInvalClipRgns) (Tk_Window tkwin); /* 6 */
|
||||
void * (*tkMacOSXGetDrawablePort) (Drawable drawable); /* 7 */
|
||||
void * (*tkMacOSXGetRootControl) (Drawable drawable); /* 8 */
|
||||
void (*tk_MacOSXSetupTkNotifier) (void); /* 9 */
|
||||
int (*tk_MacOSXIsAppInFront) (void); /* 10 */
|
||||
#endif /* AQUA */
|
||||
} TkPlatStubs;
|
||||
|
||||
extern const TkPlatStubs *tkPlatStubsPtr;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(USE_TK_STUBS)
|
||||
|
||||
/*
|
||||
* Inline function declarations:
|
||||
*/
|
||||
|
||||
#if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
|
||||
#define Tk_AttachHWND \
|
||||
(tkPlatStubsPtr->tk_AttachHWND) /* 0 */
|
||||
#define Tk_GetHINSTANCE \
|
||||
(tkPlatStubsPtr->tk_GetHINSTANCE) /* 1 */
|
||||
#define Tk_GetHWND \
|
||||
(tkPlatStubsPtr->tk_GetHWND) /* 2 */
|
||||
#define Tk_HWNDToWindow \
|
||||
(tkPlatStubsPtr->tk_HWNDToWindow) /* 3 */
|
||||
#define Tk_PointerEvent \
|
||||
(tkPlatStubsPtr->tk_PointerEvent) /* 4 */
|
||||
#define Tk_TranslateWinEvent \
|
||||
(tkPlatStubsPtr->tk_TranslateWinEvent) /* 5 */
|
||||
#endif /* WIN */
|
||||
#ifdef MAC_OSX_TK /* AQUA */
|
||||
#define Tk_MacOSXSetEmbedHandler \
|
||||
(tkPlatStubsPtr->tk_MacOSXSetEmbedHandler) /* 0 */
|
||||
#define Tk_MacOSXTurnOffMenus \
|
||||
(tkPlatStubsPtr->tk_MacOSXTurnOffMenus) /* 1 */
|
||||
#define Tk_MacOSXTkOwnsCursor \
|
||||
(tkPlatStubsPtr->tk_MacOSXTkOwnsCursor) /* 2 */
|
||||
#define TkMacOSXInitMenus \
|
||||
(tkPlatStubsPtr->tkMacOSXInitMenus) /* 3 */
|
||||
#define TkMacOSXInitAppleEvents \
|
||||
(tkPlatStubsPtr->tkMacOSXInitAppleEvents) /* 4 */
|
||||
#define TkGenWMConfigureEvent \
|
||||
(tkPlatStubsPtr->tkGenWMConfigureEvent) /* 5 */
|
||||
#define TkMacOSXInvalClipRgns \
|
||||
(tkPlatStubsPtr->tkMacOSXInvalClipRgns) /* 6 */
|
||||
#define TkMacOSXGetDrawablePort \
|
||||
(tkPlatStubsPtr->tkMacOSXGetDrawablePort) /* 7 */
|
||||
#define TkMacOSXGetRootControl \
|
||||
(tkPlatStubsPtr->tkMacOSXGetRootControl) /* 8 */
|
||||
#define Tk_MacOSXSetupTkNotifier \
|
||||
(tkPlatStubsPtr->tk_MacOSXSetupTkNotifier) /* 9 */
|
||||
#define Tk_MacOSXIsAppInFront \
|
||||
(tkPlatStubsPtr->tk_MacOSXIsAppInFront) /* 10 */
|
||||
#endif /* AQUA */
|
||||
|
||||
#endif /* defined(USE_TK_STUBS) */
|
||||
|
||||
/* !END!: Do not edit above this line. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#undef TCL_STORAGE_CLASS
|
||||
#define TCL_STORAGE_CLASS DLLIMPORT
|
||||
|
||||
#endif /* _TKPLATDECLS */
|
||||
995
amd64/include/tommath_class.h
Normal file
995
amd64/include/tommath_class.h
Normal file
@@ -0,0 +1,995 @@
|
||||
#if !(defined(LTM1) && defined(LTM2) && defined(LTM3))
|
||||
#if defined(LTM2)
|
||||
#define LTM3
|
||||
#endif
|
||||
#if defined(LTM1)
|
||||
#define LTM2
|
||||
#endif
|
||||
#define LTM1
|
||||
|
||||
#if defined(LTM_ALL)
|
||||
#define BN_ERROR_C
|
||||
#define BN_FAST_MP_INVMOD_C
|
||||
#define BN_FAST_MP_MONTGOMERY_REDUCE_C
|
||||
#define BN_FAST_S_MP_MUL_DIGS_C
|
||||
#define BN_FAST_S_MP_MUL_HIGH_DIGS_C
|
||||
#define BN_FAST_S_MP_SQR_C
|
||||
#define BN_MP_2EXPT_C
|
||||
#define BN_MP_ABS_C
|
||||
#define BN_MP_ADD_C
|
||||
#define BN_MP_ADD_D_C
|
||||
#define BN_MP_ADDMOD_C
|
||||
#define BN_MP_AND_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#define BN_MP_CLEAR_MULTI_C
|
||||
#define BN_MP_CMP_C
|
||||
#define BN_MP_CMP_D_C
|
||||
#define BN_MP_CMP_MAG_C
|
||||
#define BN_MP_CNT_LSB_C
|
||||
#define BN_MP_COPY_C
|
||||
#define BN_MP_COUNT_BITS_C
|
||||
#define BN_MP_DIV_C
|
||||
#define BN_MP_DIV_2_C
|
||||
#define BN_MP_DIV_2D_C
|
||||
#define BN_MP_DIV_3_C
|
||||
#define BN_MP_DIV_D_C
|
||||
#define BN_MP_DR_IS_MODULUS_C
|
||||
#define BN_MP_DR_REDUCE_C
|
||||
#define BN_MP_DR_SETUP_C
|
||||
#define BN_MP_EXCH_C
|
||||
#define BN_MP_EXPT_D_C
|
||||
#define BN_MP_EXPTMOD_C
|
||||
#define BN_MP_EXPTMOD_FAST_C
|
||||
#define BN_MP_EXTEUCLID_C
|
||||
#define BN_MP_FREAD_C
|
||||
#define BN_MP_FWRITE_C
|
||||
#define BN_MP_GCD_C
|
||||
#define BN_MP_GET_INT_C
|
||||
#define BN_MP_GROW_C
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_INIT_COPY_C
|
||||
#define BN_MP_INIT_MULTI_C
|
||||
#define BN_MP_INIT_SET_C
|
||||
#define BN_MP_INIT_SET_INT_C
|
||||
#define BN_MP_INIT_SIZE_C
|
||||
#define BN_MP_INVMOD_C
|
||||
#define BN_MP_INVMOD_SLOW_C
|
||||
#define BN_MP_IS_SQUARE_C
|
||||
#define BN_MP_JACOBI_C
|
||||
#define BN_MP_KARATSUBA_MUL_C
|
||||
#define BN_MP_KARATSUBA_SQR_C
|
||||
#define BN_MP_LCM_C
|
||||
#define BN_MP_LSHD_C
|
||||
#define BN_MP_MOD_C
|
||||
#define BN_MP_MOD_2D_C
|
||||
#define BN_MP_MOD_D_C
|
||||
#define BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
|
||||
#define BN_MP_MONTGOMERY_REDUCE_C
|
||||
#define BN_MP_MONTGOMERY_SETUP_C
|
||||
#define BN_MP_MUL_C
|
||||
#define BN_MP_MUL_2_C
|
||||
#define BN_MP_MUL_2D_C
|
||||
#define BN_MP_MUL_D_C
|
||||
#define BN_MP_MULMOD_C
|
||||
#define BN_MP_N_ROOT_C
|
||||
#define BN_MP_NEG_C
|
||||
#define BN_MP_OR_C
|
||||
#define BN_MP_PRIME_FERMAT_C
|
||||
#define BN_MP_PRIME_IS_DIVISIBLE_C
|
||||
#define BN_MP_PRIME_IS_PRIME_C
|
||||
#define BN_MP_PRIME_MILLER_RABIN_C
|
||||
#define BN_MP_PRIME_NEXT_PRIME_C
|
||||
#define BN_MP_PRIME_RABIN_MILLER_TRIALS_C
|
||||
#define BN_MP_PRIME_RANDOM_EX_C
|
||||
#define BN_MP_RADIX_SIZE_C
|
||||
#define BN_MP_RADIX_SMAP_C
|
||||
#define BN_MP_RAND_C
|
||||
#define BN_MP_READ_RADIX_C
|
||||
#define BN_MP_READ_SIGNED_BIN_C
|
||||
#define BN_MP_READ_UNSIGNED_BIN_C
|
||||
#define BN_MP_REDUCE_C
|
||||
#define BN_MP_REDUCE_2K_C
|
||||
#define BN_MP_REDUCE_2K_L_C
|
||||
#define BN_MP_REDUCE_2K_SETUP_C
|
||||
#define BN_MP_REDUCE_2K_SETUP_L_C
|
||||
#define BN_MP_REDUCE_IS_2K_C
|
||||
#define BN_MP_REDUCE_IS_2K_L_C
|
||||
#define BN_MP_REDUCE_SETUP_C
|
||||
#define BN_MP_RSHD_C
|
||||
#define BN_MP_SET_C
|
||||
#define BN_MP_SET_INT_C
|
||||
#define BN_MP_SHRINK_C
|
||||
#define BN_MP_SIGNED_BIN_SIZE_C
|
||||
#define BN_MP_SQR_C
|
||||
#define BN_MP_SQRMOD_C
|
||||
#define BN_MP_SQRT_C
|
||||
#define BN_MP_SUB_C
|
||||
#define BN_MP_SUB_D_C
|
||||
#define BN_MP_SUBMOD_C
|
||||
#define BN_MP_TO_SIGNED_BIN_C
|
||||
#define BN_MP_TO_SIGNED_BIN_N_C
|
||||
#define BN_MP_TO_UNSIGNED_BIN_C
|
||||
#define BN_MP_TO_UNSIGNED_BIN_N_C
|
||||
#define BN_MP_TOOM_MUL_C
|
||||
#define BN_MP_TOOM_SQR_C
|
||||
#define BN_MP_TORADIX_C
|
||||
#define BN_MP_TORADIX_N_C
|
||||
#define BN_MP_UNSIGNED_BIN_SIZE_C
|
||||
#define BN_MP_XOR_C
|
||||
#define BN_MP_ZERO_C
|
||||
#define BN_PRIME_TAB_C
|
||||
#define BN_REVERSE_C
|
||||
#define BN_S_MP_ADD_C
|
||||
#define BN_S_MP_EXPTMOD_C
|
||||
#define BN_S_MP_MUL_DIGS_C
|
||||
#define BN_S_MP_MUL_HIGH_DIGS_C
|
||||
#define BN_S_MP_SQR_C
|
||||
#define BN_S_MP_SUB_C
|
||||
#define BNCORE_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_ERROR_C)
|
||||
#define BN_MP_ERROR_TO_STRING_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_FAST_MP_INVMOD_C)
|
||||
#define BN_MP_ISEVEN_C
|
||||
#define BN_MP_INIT_MULTI_C
|
||||
#define BN_MP_COPY_C
|
||||
#define BN_MP_MOD_C
|
||||
#define BN_MP_SET_C
|
||||
#define BN_MP_DIV_2_C
|
||||
#define BN_MP_ISODD_C
|
||||
#define BN_MP_SUB_C
|
||||
#define BN_MP_CMP_C
|
||||
#define BN_MP_ISZERO_C
|
||||
#define BN_MP_CMP_D_C
|
||||
#define BN_MP_ADD_C
|
||||
#define BN_MP_EXCH_C
|
||||
#define BN_MP_CLEAR_MULTI_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_FAST_MP_MONTGOMERY_REDUCE_C)
|
||||
#define BN_MP_GROW_C
|
||||
#define BN_MP_RSHD_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#define BN_MP_CMP_MAG_C
|
||||
#define BN_S_MP_SUB_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_FAST_S_MP_MUL_DIGS_C)
|
||||
#define BN_MP_GROW_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_FAST_S_MP_MUL_HIGH_DIGS_C)
|
||||
#define BN_MP_GROW_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_FAST_S_MP_SQR_C)
|
||||
#define BN_MP_GROW_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_2EXPT_C)
|
||||
#define BN_MP_ZERO_C
|
||||
#define BN_MP_GROW_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_ABS_C)
|
||||
#define BN_MP_COPY_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_ADD_C)
|
||||
#define BN_S_MP_ADD_C
|
||||
#define BN_MP_CMP_MAG_C
|
||||
#define BN_S_MP_SUB_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_ADD_D_C)
|
||||
#define BN_MP_GROW_C
|
||||
#define BN_MP_SUB_D_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_ADDMOD_C)
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_ADD_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#define BN_MP_MOD_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_AND_C)
|
||||
#define BN_MP_INIT_COPY_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#define BN_MP_EXCH_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_CLAMP_C)
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_CLEAR_C)
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_CLEAR_MULTI_C)
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_CMP_C)
|
||||
#define BN_MP_CMP_MAG_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_CMP_D_C)
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_CMP_MAG_C)
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_CNT_LSB_C)
|
||||
#define BN_MP_ISZERO_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_COPY_C)
|
||||
#define BN_MP_GROW_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_COUNT_BITS_C)
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_DIV_C)
|
||||
#define BN_MP_ISZERO_C
|
||||
#define BN_MP_CMP_MAG_C
|
||||
#define BN_MP_COPY_C
|
||||
#define BN_MP_ZERO_C
|
||||
#define BN_MP_INIT_MULTI_C
|
||||
#define BN_MP_SET_C
|
||||
#define BN_MP_COUNT_BITS_C
|
||||
#define BN_MP_ABS_C
|
||||
#define BN_MP_MUL_2D_C
|
||||
#define BN_MP_CMP_C
|
||||
#define BN_MP_SUB_C
|
||||
#define BN_MP_ADD_C
|
||||
#define BN_MP_DIV_2D_C
|
||||
#define BN_MP_EXCH_C
|
||||
#define BN_MP_CLEAR_MULTI_C
|
||||
#define BN_MP_INIT_SIZE_C
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_INIT_COPY_C
|
||||
#define BN_MP_LSHD_C
|
||||
#define BN_MP_RSHD_C
|
||||
#define BN_MP_MUL_D_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_DIV_2_C)
|
||||
#define BN_MP_GROW_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_DIV_2D_C)
|
||||
#define BN_MP_COPY_C
|
||||
#define BN_MP_ZERO_C
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_MOD_2D_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#define BN_MP_RSHD_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#define BN_MP_EXCH_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_DIV_3_C)
|
||||
#define BN_MP_INIT_SIZE_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#define BN_MP_EXCH_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_DIV_D_C)
|
||||
#define BN_MP_ISZERO_C
|
||||
#define BN_MP_COPY_C
|
||||
#define BN_MP_DIV_2D_C
|
||||
#define BN_MP_DIV_3_C
|
||||
#define BN_MP_INIT_SIZE_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#define BN_MP_EXCH_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_DR_IS_MODULUS_C)
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_DR_REDUCE_C)
|
||||
#define BN_MP_GROW_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#define BN_MP_CMP_MAG_C
|
||||
#define BN_S_MP_SUB_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_DR_SETUP_C)
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_EXCH_C)
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_EXPT_D_C)
|
||||
#define BN_MP_INIT_COPY_C
|
||||
#define BN_MP_SET_C
|
||||
#define BN_MP_SQR_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#define BN_MP_MUL_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_EXPTMOD_C)
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_INVMOD_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#define BN_MP_ABS_C
|
||||
#define BN_MP_CLEAR_MULTI_C
|
||||
#define BN_MP_REDUCE_IS_2K_L_C
|
||||
#define BN_S_MP_EXPTMOD_C
|
||||
#define BN_MP_DR_IS_MODULUS_C
|
||||
#define BN_MP_REDUCE_IS_2K_C
|
||||
#define BN_MP_ISODD_C
|
||||
#define BN_MP_EXPTMOD_FAST_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_EXPTMOD_FAST_C)
|
||||
#define BN_MP_COUNT_BITS_C
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#define BN_MP_MONTGOMERY_SETUP_C
|
||||
#define BN_FAST_MP_MONTGOMERY_REDUCE_C
|
||||
#define BN_MP_MONTGOMERY_REDUCE_C
|
||||
#define BN_MP_DR_SETUP_C
|
||||
#define BN_MP_DR_REDUCE_C
|
||||
#define BN_MP_REDUCE_2K_SETUP_C
|
||||
#define BN_MP_REDUCE_2K_C
|
||||
#define BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
|
||||
#define BN_MP_MULMOD_C
|
||||
#define BN_MP_SET_C
|
||||
#define BN_MP_MOD_C
|
||||
#define BN_MP_COPY_C
|
||||
#define BN_MP_SQR_C
|
||||
#define BN_MP_MUL_C
|
||||
#define BN_MP_EXCH_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_EXTEUCLID_C)
|
||||
#define BN_MP_INIT_MULTI_C
|
||||
#define BN_MP_SET_C
|
||||
#define BN_MP_COPY_C
|
||||
#define BN_MP_ISZERO_C
|
||||
#define BN_MP_DIV_C
|
||||
#define BN_MP_MUL_C
|
||||
#define BN_MP_SUB_C
|
||||
#define BN_MP_NEG_C
|
||||
#define BN_MP_EXCH_C
|
||||
#define BN_MP_CLEAR_MULTI_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_FREAD_C)
|
||||
#define BN_MP_ZERO_C
|
||||
#define BN_MP_S_RMAP_C
|
||||
#define BN_MP_MUL_D_C
|
||||
#define BN_MP_ADD_D_C
|
||||
#define BN_MP_CMP_D_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_FWRITE_C)
|
||||
#define BN_MP_RADIX_SIZE_C
|
||||
#define BN_MP_TORADIX_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_GCD_C)
|
||||
#define BN_MP_ISZERO_C
|
||||
#define BN_MP_ABS_C
|
||||
#define BN_MP_ZERO_C
|
||||
#define BN_MP_INIT_COPY_C
|
||||
#define BN_MP_CNT_LSB_C
|
||||
#define BN_MP_DIV_2D_C
|
||||
#define BN_MP_CMP_MAG_C
|
||||
#define BN_MP_EXCH_C
|
||||
#define BN_S_MP_SUB_C
|
||||
#define BN_MP_MUL_2D_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_GET_INT_C)
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_GROW_C)
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_INIT_C)
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_INIT_COPY_C)
|
||||
#define BN_MP_COPY_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_INIT_MULTI_C)
|
||||
#define BN_MP_ERR_C
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_INIT_SET_C)
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_SET_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_INIT_SET_INT_C)
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_SET_INT_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_INIT_SIZE_C)
|
||||
#define BN_MP_INIT_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_INVMOD_C)
|
||||
#define BN_MP_ISZERO_C
|
||||
#define BN_MP_ISODD_C
|
||||
#define BN_FAST_MP_INVMOD_C
|
||||
#define BN_MP_INVMOD_SLOW_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_INVMOD_SLOW_C)
|
||||
#define BN_MP_ISZERO_C
|
||||
#define BN_MP_INIT_MULTI_C
|
||||
#define BN_MP_MOD_C
|
||||
#define BN_MP_COPY_C
|
||||
#define BN_MP_ISEVEN_C
|
||||
#define BN_MP_SET_C
|
||||
#define BN_MP_DIV_2_C
|
||||
#define BN_MP_ISODD_C
|
||||
#define BN_MP_ADD_C
|
||||
#define BN_MP_SUB_C
|
||||
#define BN_MP_CMP_C
|
||||
#define BN_MP_CMP_D_C
|
||||
#define BN_MP_CMP_MAG_C
|
||||
#define BN_MP_EXCH_C
|
||||
#define BN_MP_CLEAR_MULTI_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_IS_SQUARE_C)
|
||||
#define BN_MP_MOD_D_C
|
||||
#define BN_MP_INIT_SET_INT_C
|
||||
#define BN_MP_MOD_C
|
||||
#define BN_MP_GET_INT_C
|
||||
#define BN_MP_SQRT_C
|
||||
#define BN_MP_SQR_C
|
||||
#define BN_MP_CMP_MAG_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_JACOBI_C)
|
||||
#define BN_MP_CMP_D_C
|
||||
#define BN_MP_ISZERO_C
|
||||
#define BN_MP_INIT_COPY_C
|
||||
#define BN_MP_CNT_LSB_C
|
||||
#define BN_MP_DIV_2D_C
|
||||
#define BN_MP_MOD_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_KARATSUBA_MUL_C)
|
||||
#define BN_MP_MUL_C
|
||||
#define BN_MP_INIT_SIZE_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#define BN_MP_SUB_C
|
||||
#define BN_MP_ADD_C
|
||||
#define BN_MP_LSHD_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_KARATSUBA_SQR_C)
|
||||
#define BN_MP_INIT_SIZE_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#define BN_MP_SQR_C
|
||||
#define BN_MP_SUB_C
|
||||
#define BN_S_MP_ADD_C
|
||||
#define BN_MP_LSHD_C
|
||||
#define BN_MP_ADD_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_LCM_C)
|
||||
#define BN_MP_INIT_MULTI_C
|
||||
#define BN_MP_GCD_C
|
||||
#define BN_MP_CMP_MAG_C
|
||||
#define BN_MP_DIV_C
|
||||
#define BN_MP_MUL_C
|
||||
#define BN_MP_CLEAR_MULTI_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_LSHD_C)
|
||||
#define BN_MP_GROW_C
|
||||
#define BN_MP_RSHD_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_MOD_C)
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_DIV_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#define BN_MP_ADD_C
|
||||
#define BN_MP_EXCH_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_MOD_2D_C)
|
||||
#define BN_MP_ZERO_C
|
||||
#define BN_MP_COPY_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_MOD_D_C)
|
||||
#define BN_MP_DIV_D_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_MONTGOMERY_CALC_NORMALIZATION_C)
|
||||
#define BN_MP_COUNT_BITS_C
|
||||
#define BN_MP_2EXPT_C
|
||||
#define BN_MP_SET_C
|
||||
#define BN_MP_MUL_2_C
|
||||
#define BN_MP_CMP_MAG_C
|
||||
#define BN_S_MP_SUB_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_MONTGOMERY_REDUCE_C)
|
||||
#define BN_FAST_MP_MONTGOMERY_REDUCE_C
|
||||
#define BN_MP_GROW_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#define BN_MP_RSHD_C
|
||||
#define BN_MP_CMP_MAG_C
|
||||
#define BN_S_MP_SUB_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_MONTGOMERY_SETUP_C)
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_MUL_C)
|
||||
#define BN_MP_TOOM_MUL_C
|
||||
#define BN_MP_KARATSUBA_MUL_C
|
||||
#define BN_FAST_S_MP_MUL_DIGS_C
|
||||
#define BN_S_MP_MUL_C
|
||||
#define BN_S_MP_MUL_DIGS_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_MUL_2_C)
|
||||
#define BN_MP_GROW_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_MUL_2D_C)
|
||||
#define BN_MP_COPY_C
|
||||
#define BN_MP_GROW_C
|
||||
#define BN_MP_LSHD_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_MUL_D_C)
|
||||
#define BN_MP_GROW_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_MULMOD_C)
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_MUL_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#define BN_MP_MOD_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_N_ROOT_C)
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_SET_C
|
||||
#define BN_MP_COPY_C
|
||||
#define BN_MP_EXPT_D_C
|
||||
#define BN_MP_MUL_C
|
||||
#define BN_MP_SUB_C
|
||||
#define BN_MP_MUL_D_C
|
||||
#define BN_MP_DIV_C
|
||||
#define BN_MP_CMP_C
|
||||
#define BN_MP_SUB_D_C
|
||||
#define BN_MP_EXCH_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_NEG_C)
|
||||
#define BN_MP_COPY_C
|
||||
#define BN_MP_ISZERO_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_OR_C)
|
||||
#define BN_MP_INIT_COPY_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#define BN_MP_EXCH_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_PRIME_FERMAT_C)
|
||||
#define BN_MP_CMP_D_C
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_EXPTMOD_C
|
||||
#define BN_MP_CMP_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_PRIME_IS_DIVISIBLE_C)
|
||||
#define BN_MP_MOD_D_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_PRIME_IS_PRIME_C)
|
||||
#define BN_MP_CMP_D_C
|
||||
#define BN_MP_PRIME_IS_DIVISIBLE_C
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_SET_C
|
||||
#define BN_MP_PRIME_MILLER_RABIN_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_PRIME_MILLER_RABIN_C)
|
||||
#define BN_MP_CMP_D_C
|
||||
#define BN_MP_INIT_COPY_C
|
||||
#define BN_MP_SUB_D_C
|
||||
#define BN_MP_CNT_LSB_C
|
||||
#define BN_MP_DIV_2D_C
|
||||
#define BN_MP_EXPTMOD_C
|
||||
#define BN_MP_CMP_C
|
||||
#define BN_MP_SQRMOD_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_PRIME_NEXT_PRIME_C)
|
||||
#define BN_MP_CMP_D_C
|
||||
#define BN_MP_SET_C
|
||||
#define BN_MP_SUB_D_C
|
||||
#define BN_MP_ISEVEN_C
|
||||
#define BN_MP_MOD_D_C
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_ADD_D_C
|
||||
#define BN_MP_PRIME_MILLER_RABIN_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_PRIME_RABIN_MILLER_TRIALS_C)
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_PRIME_RANDOM_EX_C)
|
||||
#define BN_MP_READ_UNSIGNED_BIN_C
|
||||
#define BN_MP_PRIME_IS_PRIME_C
|
||||
#define BN_MP_SUB_D_C
|
||||
#define BN_MP_DIV_2_C
|
||||
#define BN_MP_MUL_2_C
|
||||
#define BN_MP_ADD_D_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_RADIX_SIZE_C)
|
||||
#define BN_MP_COUNT_BITS_C
|
||||
#define BN_MP_INIT_COPY_C
|
||||
#define BN_MP_ISZERO_C
|
||||
#define BN_MP_DIV_D_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_RADIX_SMAP_C)
|
||||
#define BN_MP_S_RMAP_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_RAND_C)
|
||||
#define BN_MP_ZERO_C
|
||||
#define BN_MP_ADD_D_C
|
||||
#define BN_MP_LSHD_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_READ_RADIX_C)
|
||||
#define BN_MP_ZERO_C
|
||||
#define BN_MP_S_RMAP_C
|
||||
#define BN_MP_RADIX_SMAP_C
|
||||
#define BN_MP_MUL_D_C
|
||||
#define BN_MP_ADD_D_C
|
||||
#define BN_MP_ISZERO_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_READ_SIGNED_BIN_C)
|
||||
#define BN_MP_READ_UNSIGNED_BIN_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_READ_UNSIGNED_BIN_C)
|
||||
#define BN_MP_GROW_C
|
||||
#define BN_MP_ZERO_C
|
||||
#define BN_MP_MUL_2D_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_REDUCE_C)
|
||||
#define BN_MP_REDUCE_SETUP_C
|
||||
#define BN_MP_INIT_COPY_C
|
||||
#define BN_MP_RSHD_C
|
||||
#define BN_MP_MUL_C
|
||||
#define BN_S_MP_MUL_HIGH_DIGS_C
|
||||
#define BN_FAST_S_MP_MUL_HIGH_DIGS_C
|
||||
#define BN_MP_MOD_2D_C
|
||||
#define BN_S_MP_MUL_DIGS_C
|
||||
#define BN_MP_SUB_C
|
||||
#define BN_MP_CMP_D_C
|
||||
#define BN_MP_SET_C
|
||||
#define BN_MP_LSHD_C
|
||||
#define BN_MP_ADD_C
|
||||
#define BN_MP_CMP_C
|
||||
#define BN_S_MP_SUB_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_REDUCE_2K_C)
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_COUNT_BITS_C
|
||||
#define BN_MP_DIV_2D_C
|
||||
#define BN_MP_MUL_D_C
|
||||
#define BN_S_MP_ADD_C
|
||||
#define BN_MP_CMP_MAG_C
|
||||
#define BN_S_MP_SUB_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_REDUCE_2K_L_C)
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_COUNT_BITS_C
|
||||
#define BN_MP_DIV_2D_C
|
||||
#define BN_MP_MUL_C
|
||||
#define BN_S_MP_ADD_C
|
||||
#define BN_MP_CMP_MAG_C
|
||||
#define BN_S_MP_SUB_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_REDUCE_2K_SETUP_C)
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_COUNT_BITS_C
|
||||
#define BN_MP_2EXPT_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#define BN_S_MP_SUB_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_REDUCE_2K_SETUP_L_C)
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_2EXPT_C
|
||||
#define BN_MP_COUNT_BITS_C
|
||||
#define BN_S_MP_SUB_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_REDUCE_IS_2K_C)
|
||||
#define BN_MP_REDUCE_2K_C
|
||||
#define BN_MP_COUNT_BITS_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_REDUCE_IS_2K_L_C)
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_REDUCE_SETUP_C)
|
||||
#define BN_MP_2EXPT_C
|
||||
#define BN_MP_DIV_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_RSHD_C)
|
||||
#define BN_MP_ZERO_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_SET_C)
|
||||
#define BN_MP_ZERO_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_SET_INT_C)
|
||||
#define BN_MP_ZERO_C
|
||||
#define BN_MP_MUL_2D_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_SHRINK_C)
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_SIGNED_BIN_SIZE_C)
|
||||
#define BN_MP_UNSIGNED_BIN_SIZE_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_SQR_C)
|
||||
#define BN_MP_TOOM_SQR_C
|
||||
#define BN_MP_KARATSUBA_SQR_C
|
||||
#define BN_FAST_S_MP_SQR_C
|
||||
#define BN_S_MP_SQR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_SQRMOD_C)
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_SQR_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#define BN_MP_MOD_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_SQRT_C)
|
||||
#define BN_MP_N_ROOT_C
|
||||
#define BN_MP_ISZERO_C
|
||||
#define BN_MP_ZERO_C
|
||||
#define BN_MP_INIT_COPY_C
|
||||
#define BN_MP_RSHD_C
|
||||
#define BN_MP_DIV_C
|
||||
#define BN_MP_ADD_C
|
||||
#define BN_MP_DIV_2_C
|
||||
#define BN_MP_CMP_MAG_C
|
||||
#define BN_MP_EXCH_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_SUB_C)
|
||||
#define BN_S_MP_ADD_C
|
||||
#define BN_MP_CMP_MAG_C
|
||||
#define BN_S_MP_SUB_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_SUB_D_C)
|
||||
#define BN_MP_GROW_C
|
||||
#define BN_MP_ADD_D_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_SUBMOD_C)
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_SUB_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#define BN_MP_MOD_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_TO_SIGNED_BIN_C)
|
||||
#define BN_MP_TO_UNSIGNED_BIN_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_TO_SIGNED_BIN_N_C)
|
||||
#define BN_MP_SIGNED_BIN_SIZE_C
|
||||
#define BN_MP_TO_SIGNED_BIN_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_TO_UNSIGNED_BIN_C)
|
||||
#define BN_MP_INIT_COPY_C
|
||||
#define BN_MP_ISZERO_C
|
||||
#define BN_MP_DIV_2D_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_TO_UNSIGNED_BIN_N_C)
|
||||
#define BN_MP_UNSIGNED_BIN_SIZE_C
|
||||
#define BN_MP_TO_UNSIGNED_BIN_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_TOOM_MUL_C)
|
||||
#define BN_MP_INIT_MULTI_C
|
||||
#define BN_MP_MOD_2D_C
|
||||
#define BN_MP_COPY_C
|
||||
#define BN_MP_RSHD_C
|
||||
#define BN_MP_MUL_C
|
||||
#define BN_MP_MUL_2_C
|
||||
#define BN_MP_ADD_C
|
||||
#define BN_MP_SUB_C
|
||||
#define BN_MP_DIV_2_C
|
||||
#define BN_MP_MUL_2D_C
|
||||
#define BN_MP_MUL_D_C
|
||||
#define BN_MP_DIV_3_C
|
||||
#define BN_MP_LSHD_C
|
||||
#define BN_MP_CLEAR_MULTI_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_TOOM_SQR_C)
|
||||
#define BN_MP_INIT_MULTI_C
|
||||
#define BN_MP_MOD_2D_C
|
||||
#define BN_MP_COPY_C
|
||||
#define BN_MP_RSHD_C
|
||||
#define BN_MP_SQR_C
|
||||
#define BN_MP_MUL_2_C
|
||||
#define BN_MP_ADD_C
|
||||
#define BN_MP_SUB_C
|
||||
#define BN_MP_DIV_2_C
|
||||
#define BN_MP_MUL_2D_C
|
||||
#define BN_MP_MUL_D_C
|
||||
#define BN_MP_DIV_3_C
|
||||
#define BN_MP_LSHD_C
|
||||
#define BN_MP_CLEAR_MULTI_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_TORADIX_C)
|
||||
#define BN_MP_ISZERO_C
|
||||
#define BN_MP_INIT_COPY_C
|
||||
#define BN_MP_DIV_D_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#define BN_MP_S_RMAP_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_TORADIX_N_C)
|
||||
#define BN_MP_ISZERO_C
|
||||
#define BN_MP_INIT_COPY_C
|
||||
#define BN_MP_DIV_D_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#define BN_MP_S_RMAP_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_UNSIGNED_BIN_SIZE_C)
|
||||
#define BN_MP_COUNT_BITS_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_XOR_C)
|
||||
#define BN_MP_INIT_COPY_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#define BN_MP_EXCH_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_MP_ZERO_C)
|
||||
#endif
|
||||
|
||||
#if defined(BN_PRIME_TAB_C)
|
||||
#endif
|
||||
|
||||
#if defined(BN_REVERSE_C)
|
||||
#endif
|
||||
|
||||
#if defined(BN_S_MP_ADD_C)
|
||||
#define BN_MP_GROW_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_S_MP_EXPTMOD_C)
|
||||
#define BN_MP_COUNT_BITS_C
|
||||
#define BN_MP_INIT_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#define BN_MP_REDUCE_SETUP_C
|
||||
#define BN_MP_REDUCE_C
|
||||
#define BN_MP_REDUCE_2K_SETUP_L_C
|
||||
#define BN_MP_REDUCE_2K_L_C
|
||||
#define BN_MP_MOD_C
|
||||
#define BN_MP_COPY_C
|
||||
#define BN_MP_SQR_C
|
||||
#define BN_MP_MUL_C
|
||||
#define BN_MP_SET_C
|
||||
#define BN_MP_EXCH_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_S_MP_MUL_DIGS_C)
|
||||
#define BN_FAST_S_MP_MUL_DIGS_C
|
||||
#define BN_MP_INIT_SIZE_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#define BN_MP_EXCH_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_S_MP_MUL_HIGH_DIGS_C)
|
||||
#define BN_FAST_S_MP_MUL_HIGH_DIGS_C
|
||||
#define BN_MP_INIT_SIZE_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#define BN_MP_EXCH_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_S_MP_SQR_C)
|
||||
#define BN_MP_INIT_SIZE_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#define BN_MP_EXCH_C
|
||||
#define BN_MP_CLEAR_C
|
||||
#endif
|
||||
|
||||
#if defined(BN_S_MP_SUB_C)
|
||||
#define BN_MP_GROW_C
|
||||
#define BN_MP_CLAMP_C
|
||||
#endif
|
||||
|
||||
#if defined(BNCORE_C)
|
||||
#endif
|
||||
|
||||
#ifdef LTM3
|
||||
#define LTM_LAST
|
||||
#endif
|
||||
#include <tommath_superclass.h>
|
||||
#include <tommath_class.h>
|
||||
#else
|
||||
#define LTM_LAST
|
||||
#endif
|
||||
72
amd64/include/tommath_superclass.h
Normal file
72
amd64/include/tommath_superclass.h
Normal file
@@ -0,0 +1,72 @@
|
||||
/* super class file for PK algos */
|
||||
|
||||
/* default ... include all MPI */
|
||||
#define LTM_ALL
|
||||
|
||||
/* RSA only (does not support DH/DSA/ECC) */
|
||||
/* #define SC_RSA_1 */
|
||||
|
||||
/* For reference.... On an Athlon64 optimizing for speed...
|
||||
|
||||
LTM's mpi.o with all functions [striped] is 142KiB in size.
|
||||
|
||||
*/
|
||||
|
||||
/* Works for RSA only, mpi.o is 68KiB */
|
||||
#ifdef SC_RSA_1
|
||||
#define BN_MP_SHRINK_C
|
||||
#define BN_MP_LCM_C
|
||||
#define BN_MP_PRIME_RANDOM_EX_C
|
||||
#define BN_MP_INVMOD_C
|
||||
#define BN_MP_GCD_C
|
||||
#define BN_MP_MOD_C
|
||||
#define BN_MP_MULMOD_C
|
||||
#define BN_MP_ADDMOD_C
|
||||
#define BN_MP_EXPTMOD_C
|
||||
#define BN_MP_SET_INT_C
|
||||
#define BN_MP_INIT_MULTI_C
|
||||
#define BN_MP_CLEAR_MULTI_C
|
||||
#define BN_MP_UNSIGNED_BIN_SIZE_C
|
||||
#define BN_MP_TO_UNSIGNED_BIN_C
|
||||
#define BN_MP_MOD_D_C
|
||||
#define BN_MP_PRIME_RABIN_MILLER_TRIALS_C
|
||||
#define BN_REVERSE_C
|
||||
#define BN_PRIME_TAB_C
|
||||
|
||||
/* other modifiers */
|
||||
#define BN_MP_DIV_SMALL /* Slower division, not critical */
|
||||
|
||||
/* here we are on the last pass so we turn things off. The functions classes are still there
|
||||
* but we remove them specifically from the build. This also invokes tweaks in functions
|
||||
* like removing support for even moduli, etc...
|
||||
*/
|
||||
#ifdef LTM_LAST
|
||||
#undef BN_MP_TOOM_MUL_C
|
||||
#undef BN_MP_TOOM_SQR_C
|
||||
#undef BN_MP_KARATSUBA_MUL_C
|
||||
#undef BN_MP_KARATSUBA_SQR_C
|
||||
#undef BN_MP_REDUCE_C
|
||||
#undef BN_MP_REDUCE_SETUP_C
|
||||
#undef BN_MP_DR_IS_MODULUS_C
|
||||
#undef BN_MP_DR_SETUP_C
|
||||
#undef BN_MP_DR_REDUCE_C
|
||||
#undef BN_MP_REDUCE_IS_2K_C
|
||||
#undef BN_MP_REDUCE_2K_SETUP_C
|
||||
#undef BN_MP_REDUCE_2K_C
|
||||
#undef BN_S_MP_EXPTMOD_C
|
||||
#undef BN_MP_DIV_3_C
|
||||
#undef BN_S_MP_MUL_HIGH_DIGS_C
|
||||
#undef BN_FAST_S_MP_MUL_HIGH_DIGS_C
|
||||
#undef BN_FAST_MP_INVMOD_C
|
||||
|
||||
/* To safely undefine these you have to make sure your RSA key won't exceed the Comba threshold
|
||||
* which is roughly 255 digits [7140 bits for 32-bit machines, 15300 bits for 64-bit machines]
|
||||
* which means roughly speaking you can handle upto 2536-bit RSA keys with these defined without
|
||||
* trouble.
|
||||
*/
|
||||
#undef BN_S_MP_MUL_DIGS_C
|
||||
#undef BN_S_MP_SQR_C
|
||||
#undef BN_MP_MONTGOMERY_REDUCE_C
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user