{"body":"  type\n    HDEVINFO = ptr HANDLE\n\n  const\n    DIGCF_PRESENT: uint = 0x00000002\n    DIGCF_DEVICEINTERFACE: uint = 0x00000010\n    setupDiGetClassDevsInitialFlags: uint = uint(DIGCF_PRESENT or DIGCF_DEVICEINTERFACE)\n\n  var\n    GUID_DEVINTERFACE_COMPORT : GUID = GUID(D1: 0x86e0d1e0'i32, D2: 0x8089'i16, D3: 0x11d0, D4: [\n      0x9c'i8, 0xe4'i8, 0x08'i8, 0x00'i8, 0x3e'i8, 0x30'i8, 0x1f'i8, 0x73'i8])\n\n  proc SetupDiGetClassDevs(ClassGuid: ptr GUID, Enumerator: cstring, hwndParent: pointer, Flags: DWORD): HDEVINFO\n    {.stdcall, importc: \"SetupDiGetClassDevsW\", dynlib: \"setupapi.dll\".}\n\n  proc listSerialPorts(): string {.raises:[OSError].} =\n    ## Iterate through all of the available serial ports on the system.\n    let devInfoSet = SetupDiGetClassDevs(addr GUID_DEVINTERFACE_COMPORT, nil, nil, cast[DWORD](setupDiGetClassDevsInitialFlags))\n    if devInfoSet[] == -1:\n      raiseOsError(osLastError())","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/AQZmk8NV","modified":1476435138,"id":"AQZmk8NV","size":903,"lines":20,"own_paste":false,"theme":"","date":1476435138}