Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Source file opamStubsTypes.ml
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126(**************************************************************************)(* *)(* Copyright 2018 MetaStack Solutions Ltd. *)(* *)(* All rights reserved. This file is distributed under the terms of the *)(* GNU Lesser General Public License version 2.1, with the special *)(* exception on linking described in the file LICENSE. *)(* *)(**************************************************************************)(** Types for C stubs modules and common C stubs. *)(** CONSOLE_SCREEN_BUFFER_INFO struct
(see https://docs.microsoft.com/en-us/windows/console/console-screen-buffer-info-str)
*)typeconsole_screen_buffer_info={size:int*int;(** Width and height of the screen buffer *)cursorPosition:int*int;(** Current position of the console cursor (caret) *)attributes:int;(** Screen attributes; see https://docs.microsoft.com/en-us/windows/console/console-screen-buffers#_win32_character_attributes *)window:int*int*int*int;(** Coordinates of the upper-left and lower-right corners of the display
window within the screen buffer *)maximumWindowSize:int*int;(** Maximum displayable size of the console for this screen buffer *)}(** CONSOLE_FONT_INFOEX struct
(see https://docs.microsoft.com/en-us/windows/console/console-font-infoex)
*)typeconsole_font_infoex={font:int;(** Index in the system's console font table *)fontSize:int*int;(** Size, in logical units, of the font *)fontFamily:int;(** Font pitch and family (low 8 bits only).
See tmPitchAndFamily in
https://msdn.microsoft.com/library/windows/desktop/dd145132 *)fontWeight:int;(** Font weight. Normal = 400; Bold = 700 *)faceName:string;(** Name of the typeface *)}(** Win32 API handles *)typehandle(** Standard handle constants
(see https://docs.microsoft.com/en-us/windows/console/getstdhandle) *)typestdhandle=STD_INPUT_HANDLE|STD_OUTPUT_HANDLE|STD_ERROR_HANDLE(** Win32 Root Registry Hives (see
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724836.aspx) *)typeregistry_root=|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS(** Win32 Registry Value Types (see
https://msdn.microsoft.com/en-us/library/windows/desktop/ms724884.aspx *)type_registry_value=|REG_SZ:stringregistry_value(** Windows Messages (at least, one of them!) *)type('a,'b,'c)winmessage=|WM_SETTINGCHANGE:(int,string,int)winmessage(** See https://msdn.microsoft.com/en-us/library/windows/desktop/ms725497.aspx *)(** Windows CPU Architectures (SYSTEM_INFO.wProcessArchitecture / sysinfoapi.h) *)typewindows_cpu_architecture=|AMD64(* 0x9 *)|ARM(* 0x5 *)|ARM64(* 0xc *)|IA64(* 0x6 *)|Intel(* 0x0 *)|Unknown(* 0xffff *)(** Predefined version information strings (see VerQueryValueW) *)typewin32_non_fixed_version_info={comments:stringoption;companyName:stringoption;fileDescription:stringoption;fileVersionString:stringoption;internalName:stringoption;legalCopyright:stringoption;legalTrademarks:stringoption;originalFilename:stringoption;productName:stringoption;productVersionString:stringoption;privateBuild:stringoption;specialBuild:stringoption;}(** VS_FIXEDFILEINFO *)typewin32_version_info={signature:int;(** [0xFEEF04BD] *)version:int*int;(** Structure version number *)fileVersion:int*int*int*int;(** File version *)productVersion:int*int*int*int;(** Product version *)fileFlagsMask:int;(** Valid bits in {!fileFlags} *)fileFlags:int;(** File attributes (see VS_FIXEDFILEINFO) *)fileOS:int;(** File OS (see VS_FIXEDFILEINFO) *)fileType:int;(** File Type (see VS_FIXEDFILEINFO) *)fileSubtype:int;(** File Sub-type (see VS_FIXEDFILEINFO) *)fileDate:int64;(** File creation time stamp *)strings:((int*int)*win32_non_fixed_version_info)list;(** Non-fixed string table. First field is a pair of Language and Codepage ID. *)}typeuname={sysname:string;release:string;machine:string;}externalis_executable:string->bool="opam_is_executable"(** faccessat on Unix; _waccess on Windows. Checks whether a path is executable
for the current process. On Unix, unlike Unix.access, this is checked using
the EUID/EGID rather than RUID/RGID. *)