package opam-core

  1. Overview
  2. Docs

Types for C stubs modules.

type console_screen_buffer_info = {
  1. size : int * int;
    (*

    Width and height of the screen buffer

    *)
  2. cursorPosition : int * int;
    (*

    Current position of the console cursor (caret)

    *)
  3. attributes : int;
    (*

    Screen attributes; see https://docs.microsoft.com/en-us/windows/console/console-screen-buffers#_win32_character_attributes

    *)
  4. window : int * int * int * int;
    (*

    Coordinates of the upper-left and lower-right corners of the display window within the screen buffer

    *)
  5. maximumWindowSize : int * int;
    (*

    Maximum displayable size of the console for this screen buffer

    *)
}

CONSOLE_SCREEN_BUFFER_INFO struct (see https://docs.microsoft.com/en-us/windows/console/console-screen-buffer-info-str)

type console_font_infoex = {
  1. font : int;
    (*

    Index in the system's console font table

    *)
  2. fontSize : int * int;
    (*

    Size, in logical units, of the font

    *)
  3. fontFamily : int;
    (*

    Font pitch and family (low 8 bits only). See tmPitchAndFamily in https://msdn.microsoft.com/library/windows/desktop/dd145132

    *)
  4. fontWeight : int;
    (*

    Font weight. Normal = 400; Bold = 700

    *)
  5. faceName : string;
    (*

    Name of the typeface

    *)
}

CONSOLE_FONT_INFOEX struct (see https://docs.microsoft.com/en-us/windows/console/console-font-infoex)

type handle

Win32 API handles

type stdhandle =
  1. | STD_INPUT_HANDLE
  2. | STD_OUTPUT_HANDLE
  3. | STD_ERROR_HANDLE

Standard handle constants (see https://docs.microsoft.com/en-us/windows/console/getstdhandle)

type registry_root =
  1. | HKEY_CLASSES_ROOT
  2. | HKEY_CURRENT_CONFIG
  3. | HKEY_CURRENT_USER
  4. | HKEY_LOCAL_MACHINE
  5. | HKEY_USERS

Win32 Root Registry Hives (see https://msdn.microsoft.com/en-us/library/windows/desktop/ms724836.aspx)

type _ registry_value =
  1. | REG_SZ : string registry_value

Win32 Registry Value Types (see https://msdn.microsoft.com/en-us/library/windows/desktop/ms724884.aspx

type ('a, 'b, 'c) winmessage =
  1. | WM_SETTINGCHANGE : (int, string, int) winmessage
    (*

    See https://msdn.microsoft.com/en-us/library/windows/desktop/ms725497.aspx

    *)

Windows Messages (at least, one of them!)

type windows_cpu_architecture =
  1. | AMD64
  2. | ARM
  3. | ARM64
  4. | IA64
  5. | Intel
  6. | Unknown

Windows CPU Architectures (SYSTEM_INFO.wProcessArchitecture / sysinfoapi.h)

type win32_non_fixed_version_info = {
  1. comments : string option;
  2. companyName : string option;
  3. fileDescription : string option;
  4. fileVersionString : string option;
  5. internalName : string option;
  6. legalCopyright : string option;
  7. legalTrademarks : string option;
  8. originalFilename : string option;
  9. productName : string option;
  10. productVersionString : string option;
  11. privateBuild : string option;
  12. specialBuild : string option;
}

Predefined version information strings (see VerQueryValueW)

type win32_version_info = {
  1. signature : int;
    (*

    0xFEEF04BD

    *)
  2. version : int * int;
    (*

    Structure version number

    *)
  3. fileVersion : int * int * int * int;
    (*

    File version

    *)
  4. productVersion : int * int * int * int;
    (*

    Product version

    *)
  5. fileFlagsMask : int;
    (*

    Valid bits in fileFlags

    *)
  6. fileFlags : int;
    (*

    File attributes (see VS_FIXEDFILEINFO)

    *)
  7. fileOS : int;
    (*

    File OS (see VS_FIXEDFILEINFO)

    *)
  8. fileType : int;
    (*

    File Type (see VS_FIXEDFILEINFO)

    *)
  9. fileSubtype : int;
    (*

    File Sub-type (see VS_FIXEDFILEINFO)

    *)
  10. fileDate : int64;
    (*

    File creation time stamp

    *)
  11. strings : ((int * int) * win32_non_fixed_version_info) list;
    (*

    Non-fixed string table. First field is a pair of Language and Codepage ID.

    *)
}

VS_FIXEDFILEINFO

OCaml

Innovation. Community. Security.