#ProgName = "pbTorrent" #ProgVersion = "1.2" #PeerID = "-pb1200-" #MyClientID = "pb" ; Идентификатор этого торрент-клиента. ;#MessageName = #ProgName+" "+#ProgVersion CompilerIf #PB_Compiler_Processor=#PB_Processor_x86 #MessageName = #ProgName+" "+#ProgVersion CompilerElse #MessageName = #ProgName+" "+#ProgVersion+" x64" CompilerEndIf #DirProgFiles = "pbTorrent\" #DirSysFiles = #DirProgFiles+"SysFiles\" ; Папка с торрент-файлами. #DirTorrentFiles = #DirProgFiles+"TorrentFiles\" ; Папка по умолчанию для скачиваемых или раздаваемых торренов. CompilerIf Defined(CDDS_SUBITEMPREPAINT, #PB_Constant) = 0 #CDDS_SUBITEMPREPAINT = #CDDS_SUBITEM|#CDDS_ITEMPREPAINT CompilerEndIf #RunTestProgName = #ProgName+"_RunTest" #MY_MESSAGE = #WM_USER + 4220 ; Идентификатор сообещия окну уже запущеной программы со списком торрент файлов, которые нужно открыть. #SBT_TOOLTIPS = $800 #SysTrayID = 2 ; Идентификатор иконки в трее. #TorrentServer = 2 ; Идентификатор сервера для входящих соединений. #TrackerStatus_CountNoConnect = 4 ; Число неудачных попыток (следующих одна за другой). ; Идентификаторы окон. Enumeration 2 #MainWin #CreateTorrent_Win #Setting_Win #Window_LabelTorrent #Window_AddPeer EndEnumeration ; Идентификаторы Меню. Enumeration 2 #MainMenu #TorrentPopupMemu #TrayMenu #PeerListMemu EndEnumeration ; Идентификаторы Панелей инструментов. Enumeration 2 #MainToolBar EndEnumeration ; Идентификаторы строк состояния. Enumeration 2 #MainWin_StatusBar EndEnumeration ; Идентификаторы пунктов меню. Enumeration 2 ; Главное окно, меню в заголовке. ; Файл. #MainMenu_LoadTorrent #MainMenu_CreateTorrent #MainMenu_Exit ; Настройки. #MainMenu_Pref #MainMenu_Torrent_Start #MainMenu_Torrent_Pause #MainMenu_Torrent_Stop #MainMenu_DeleteTorrent ; Помощь. #MainMenu_About #TorrentPopupMemu_OpenTorrent #TorrentPopupMemu_OpenDirTorrent #TorrentPopupMemu_DeleteTorrent_And_Files #TorrentPopupMemu_Refresh_Torrent #TorrentPopupMemu_Label_New #TorrentPopupMemu_Label_Del #TorrentPopupMemu_Label_xx #TrayMenu_Show_HideWindow = #TorrentPopupMemu_Label_xx + 52 #TrayMenu_PauseAllTorrent ; Контекстное меню списка пиров. #PeerListMemu_AddPeer #PeerListMemu_ShowDomainsName EndEnumeration ; Идентификаторы гаджетов. Enumeration 2 ; Главное окно. #MainWin_Splitter_Vertikal ; Сплиттер между списком торррентов и панелью. #MainWin_ListIcon_Torrent ; Список со всеми торрентами. #MainWin_Panel_Info ; Панель информации о выбраном торренте. ; Область панели. #MainWin_Panel_Info_Back_MiscInfo ; Вкладка "Общая информация" панели информации о торрентах. #MainWin_Panel_Info_ListIcon_Tracker ; Вкладка "Трекеры" панели информации о торрентах. #MainWin_Panel_Info_ListIcon_Peer ; Вкладка "Пиры" панели информации о торрентах. #MainWin_Panel_Info_ListIcon_Files ; Вкладка "Файлы" панели информации о торрентах. #MainWin_Panel_Info_ListIcon_Piece ; Вкладка "Части" панели информации о торрентах. #MainWin_Panel_Info_Back_Speed ; Вкладка "Скорость" панели информации о торрентах. #MainWin_Panel_Info_ListIcon_Log #MainWin_Panel_Info_MiscInfo_Text_1 ; Надпись "Доступно:" на вкладке "Общая информация" панели информации о торрентах. #MainWin_Panel_Info_MiscInfo_Text_2 ; Надпись "Загружено:" на вкладке "Общая информация". #MainWin_Panel_Info_MiscInfo_Accessibly ; ImageGadget отображающий "Доступно". #MainWin_Panel_Info_MiscInfo_Load ; ImageGadget "Загружено". #MainWin_Panel_Info_MiscInfo_Text_Accessibly ; Отображение "Сколько доступно". #MainWin_Panel_Info_MiscInfo_Text_Load ; Сколько процентов есть на диске. #MainWin_Panel_Info_MiscInfo_Scroll_Back ; Подложка в скроллере на вкладке "Общая информация" панели информации о торрентах. ; Область скролла #MainWin_Panel_Info_MiscInfo_Scroll_Text_1 ; Надпись "Состояние торррента" на сером фоне. #MainWin_Panel_Info_MiscInfo_Scroll_Text_2 ; Надпись "Прошло". #MainWin_Panel_Info_MiscInfo_Scroll_Text_3 ; Надпись "Загружено". #MainWin_Panel_Info_MiscInfo_Scroll_Text_4 ; Надпись "Вх. скорость". #MainWin_Panel_Info_MiscInfo_Scroll_Text_5 ; Надпись "Лимит приёма". #MainWin_Panel_Info_MiscInfo_Scroll_Text_6 ; Надпись "Состояние". #MainWin_Panel_Info_MiscInfo_Scroll_Text_7 ; Надпись "Torrent-файл." на сером фоне. #MainWin_Panel_Info_MiscInfo_Scroll_Text_8 ; Надпись "Путь к файлам". #MainWin_Panel_Info_MiscInfo_Scroll_Text_9 ; Надпись "Общий объём". #MainWin_Panel_Info_MiscInfo_Scroll_Text_10 ; Надпись "Части". #MainWin_Panel_Info_MiscInfo_Scroll_Text_11 ; Надпись "Создано". #MainWin_Panel_Info_MiscInfo_Scroll_Text_12 ; Надпись "Хеш-сумма". #MainWin_Panel_Info_MiscInfo_Scroll_Text_14 ; Надпись "Описание". #MainWin_Panel_Info_MiscInfo_Scroll_Text_15 ; Надпись "Публикатор". #MainWin_Panel_Info_MiscInfo_Scroll_Text_16 ; Надпись "Адрес публикатора". #MainWin_Panel_Info_MiscInfo_Scroll_Text_17 ; Надпись "Осталось". #MainWin_Panel_Info_MiscInfo_Scroll_Text_18 ; Надпись "Передано". #MainWin_Panel_Info_MiscInfo_Scroll_Text_19 ; Надпись "Скорость отдачи". #MainWin_Panel_Info_MiscInfo_Scroll_Text_20 ; Надпись "Лимит отдачи". #MainWin_Panel_Info_MiscInfo_Scroll_Text_21 ; Надпись "Лишнее". #MainWin_Panel_Info_MiscInfo_Scroll_Text_22 ; Надпись "Сиды". #MainWin_Panel_Info_MiscInfo_Scroll_Text_23 ; Надпись "Активные пиры". #MainWin_Panel_Info_MiscInfo_Scroll_Text_24 ; Надпись "Коэфф. раздачи". #MainWin_Panel_Info_MiscInfo_Scroll_Text_Passed ; Отображение результата в поле "Прошло". #MainWin_Panel_Info_MiscInfo_Scroll_Text_Load ; Отображение результата в поле "Загружено". #MainWin_Panel_Info_MiscInfo_Scroll_Text_InSpeed ; Отображение результата в поле "Вх. скорость". #MainWin_Panel_Info_MiscInfo_Scroll_Text_InLimit ; Отображение результата в поле "Лимит приёма". #MainWin_Panel_Info_MiscInfo_Scroll_Text_Status ; Отображение результата в поле "Состояние". #MainWin_Panel_Info_MiscInfo_Scroll_Text_Remains ; Ображение результата в поле "Осталось". #MainWin_Panel_Info_MiscInfo_Scroll_Text_Transmit ; Ображение результата в поле "Передано". #MainWin_Panel_Info_MiscInfo_Scroll_Text_OutSpeed ; Ображение результата в поле "Скор. отдачи". #MainWin_Panel_Info_MiscInfo_Scroll_Text_OutLimit ; Ображение результата в поле "Лимит отдачи". #MainWin_Panel_Info_MiscInfo_Scroll_Text_Excess ; Ображение результата в поле "Лишнее". #MainWin_Panel_Info_MiscInfo_Scroll_Text_Seeds ; Ображение результата в поле "Сиды". #MainWin_Panel_Info_MiscInfo_Scroll_Text_ActivePeers ; Ображение результата в поле "Активные пиры". #MainWin_Panel_Info_MiscInfo_Scroll_Text_RatioDistribution ; Ображение результата в поле "Коэффициент раздачи". #MainWin_Panel_Info_MiscInfo_Scroll_Text_Path ; Ображение результата в поле "Путь к файлам". #MainWin_Panel_Info_MiscInfo_Scroll_Text_AllSize ; Ображение результата в поле "Общий объём". #MainWin_Panel_Info_MiscInfo_Scroll_Text_Piece ; Ображение результата в поле "Части". #MainWin_Panel_Info_MiscInfo_Scroll_Text_Create ; Ображение результата в поле "Создано". #MainWin_Panel_Info_MiscInfo_Scroll_Text_Hash ; Ображение результата в поле "Хеш-сумма". #MainWin_Panel_Info_MiscInfo_Scroll_Text_Info ; Ображение результата в поле "Описание". #MainWin_Panel_Info_MiscInfo_Scroll_Text_Publisher ; Ображение результата в поле "Публикатор". #MainWin_Panel_Info_MiscInfo_Scroll_Text_Publisher_Url ; Ображение результата в поле "Адрес публикатора". ; Вкладка "Скорость", панели информации. #MainWin_Panel_Info_Speed_Text_SelectTime ; Выбор времени обновления графика скорости. #MainWin_Panel_Info_Speed_CoboBox_SelectTime ; Выпадающий список выбора периода обновления графика об скорости. #MainWin_Panel_Info_Speed_ImageGraph ; Рисунок под вывод графика скорости. #MainWin_StatusBar_ImageGadget_Port ; Гаджеты окна "Создание торрента". #CreateTorrent_Text_0 #CreateTorrent_Radio_File #CreateTorrent_Radio_Dir #CreateTorrent_String_Path #CreateTorrent_Button_Path #CreateTorrent_Text_5 #CreateTorrent_String_TorrentFile #CreateTorrent_Button_TorrentFile #CreateTorrent_Frame3D_0 #CreateTorrent_Text_1 #CreateTorrent_String_Tracker #CreateTorrent_Text_2 #CreateTorrent_String_Comment #CreateTorrent_Text_3 #CreateTorrent_CheckBox_Private #CreateTorrent_Combo_Piece #CreateTorrent_ProgressBar #CreateTorrent_Button_Start #CreateTorrent_CurrentFile EndEnumeration ; Идентификаторы гаджетов окна настроек программы. Enumeration #CreateTorrent_CurrentFile+1 #Setting_Win_TreeSelector #Setting_Win_Container_Misc #Setting_Win_Container_Lan #Setting_Win_Container_Torrent ; Раздел "Разное". #Setting_Win_Misc_Check_MinimazeTray #Setting_Win_Misc_Check_CloseTray #Setting_Win_Misc_Check_BalloonTray #Setting_Win_Misc_Check_HideShowTray ; Раздел "Сеть". #Setting_Win_Lan_Spin_Port #Setting_Win_Lan_Check_RandomPort #Setting_Win_Lan_Spin_MaxConnect #Setting_Win_Lan_Spin_MaxPeer #Setting_Win_Lan_Spin_SlotTorrent ; Раздел "Торренты". #Setting_Win_Torrent_Spin_MaxActiveTorrent #Setting_Win_Torrent_Spin_MaxLoad #Setting_Win_Torrent_Check_SerialLoadPiece ; Флажок последовательной загрузки частей. #Setting_Win_LineGagdet #Setting_Win_Button_OK #Setting_Win_Button_Cancel #Setting_Win_Button_Apply EndEnumeration ; Идентификаторы гаджетов окна выбора метки торента. Enumeration #Setting_Win_Button_Apply+1 #Window_LabelTorrent_Text #Window_LabelTorrent_ComboBox #Window_LabelTorrent_Button_OK #Window_LabelTorrent_Button_Cancel EndEnumeration ; Идентификаторы гаджетов окна добавления пира. Enumeration #Window_LabelTorrent_Button_Cancel+1 #Window_AddPeer_IPAddress #Window_AddPeer_String_Port #Window_AddPeer_Button_OK #Window_AddPeer_Button_Cancel EndEnumeration ; Идентификатор рисунков Enumeration 2 #MainWin_Panel_Info_Image_Temp #MainWin_Panel_Info_Image_Accessibly_1 ; Рисунок "Доступно" на вкладке "Общая информация" панели информации о торрентах. #MainWin_Panel_Info_Image_Accessibly_2 #MainWin_Panel_Info_Image_Load_1 ; Рисунок "Загружено" на вкладке "Общая информация" панели информации о торрентах. #MainWin_Panel_Info_Image_Load_2 #MainWin_Panel_Info_Image_SpeedGraph_1 ; Рисунок под вывод графика сорости. #MainWin_Panel_Info_Image_SpeedGraph_2 #MainWin_Panel_Info_Image_SpeedGraph_Temp #MainWin_ToolBar_Icon_AddTorrent #MainWin_ToolBar_Icon_CreateTorrent #MainWin_ToolBar_Icon_Setting #MainWin_ToolBar_Icon_Torrent_Start #MainWin_ToolBar_Icon_Torrent_Pause #MainWin_ToolBar_Icon_Torrent_Stop #MainWin_ToolBar_Icon_Torrent_Delete #MainWin_TrayIcon #MainWin_StatusBar_Icon_Port_OK #MainWin_TorrentIcon_down #MainWin_TorrentIcon_red_down #MainWin_TorrentIcon_up #MainWin_TorrentIcon_red_up #MainWin_TorrentIcon_Pause #MainWin_TorrentIcon_stop #MainWin_TorrentIcon_bag #MainWin_TorrentIcon_New #MainWin_Panel_Info_Icon_Info #MainWin_Panel_Info_Icon_Tracker #MainWin_Panel_Info_Icon_Peer #MainWin_Panel_Info_Icon_Files #MainWin_Panel_Info_Icon_Piece #MainWin_Panel_Info_Icon_Speed #MainWin_Panel_Info_Icon_Log #MainWin_Panel_Info_Icon_ErrCreateServer #MainWin_Panel_Info_Icon_No ; Пустой значок 16x16. #MainWin_IconDir #MainWin_Panel_Info_Icon_Log_Warning ; Для лога. #MainWin_Image_UnPacFlagTemp #Setting_Win_Image_LineGadget EndEnumeration ; Идентификаторы шрифтов Enumeration 2 #MainWin_Panel_Info_Font_Scroll ; Шрифт для текста в области скроллинга на вклаке "Общая информация" панели. #MainWin_Panel_Info_Font_Scroll_Text ; Шрифт для текста в области скроллинга на вклаке "Общая информация" панели. #MainWin_Panel_Info_Font_SpeedGraph ; Шрифт для грацика на вкладке "Скорость" панели информации. EndEnumeration ; Идентификаторы таймеров Enumeration 2 #CreateTorrent_Timer EndEnumeration ; Идентификаторы разделов строки состояния основного окна. Enumeration #MainWin_StatusBar_PeerProc ; Вывод текущей загрузки в процентах процедуры обмена данными с пирами. #MainWin_StatusBar_PortIcon #MainWin_StatusBar_any #MainWin_StatusBar_InSpeed ; Отображение входящей скорости. #MainWin_StatusBar_OutSpeed ; Отображение исходящей скорости. EndEnumeration ; Колонки в списке торрентов - #MainWin_ListIcon_Torrent. Enumeration #MainWin_ListIcon_Torrent_Name ; Имя торрента. #MainWin_ListIcon_Torrent_Status ; Состояние (скачивается, раздается и т. д.). #MainWin_ListIcon_Torrent_Size ; Объем торрента. #MainWin_ListIcon_Torrent_Progress ; Сколько процентов данных уже загружено. #MainWin_ListIcon_Torrent_Seed ; Число сидов. #MainWin_ListIcon_Torrent_Peer ; Число пиров. #MainWin_ListIcon_Torrent_InSpeed ; Прием (входящая скорость). #MainWin_ListIcon_Torrent_OutSpeed ; Отдача (исходящая скорость). #MainWin_ListIcon_Torrent_Time ; Время до конца загрузки. #MainWin_ListIcon_Torrent_Diven ; Отдано (общее количество данных, отданых пирам). #MainWin_ListIcon_Torrent_Label ; Метка торрента. #MainWin_ListIcon_Torrent_Available ; Доступно. #MainWin_ListIcon_Torrent_Distribution ; Коэффициент.раздачи (соотношение количества скачаных данных с количеством отданых). #MainWin_ListIcon_Torrent_Date ; Дата добавления торрента. EndEnumeration ; Колонки в списке трекеров на панели информации - #MainWin_Panel_Info_ListIcon_Tracker. Enumeration #MainWin_Panel_Info_ListIcon_Tracker_Name ; Имя объекта #MainWin_Panel_Info_ListIcon_Tracker_Status ; Состояние #MainWin_Panel_Info_ListIcon_Tracker_Update ; Время до обновления. #MainWin_Panel_Info_ListIcon_Tracker_Seed ; Сколько сидов. #MainWin_Panel_Info_ListIcon_Tracker_Peer ; Сколько пиров. EndEnumeration ; Колонки в списке пиров на панели информации - #MainWin_Panel_Info_ListIcon_Peer. Enumeration #MainWin_Panel_Info_ListIcon_Peer_IP ; IP адрес клиента. #MainWin_Panel_Info_ListIcon_Peer_Local ; Локализация. #MainWin_Panel_Info_ListIcon_Peer_ClientName ; Имя клиента. #MainWin_Panel_Info_ListIcon_Peer_Flags ; Флаги. #MainWin_Panel_Info_ListIcon_Peer_Request ; Запросы. #MainWin_Panel_Info_ListIcon_Peer_Percent ; Проценты (Сколько процентов данных есть у пира). #MainWin_Panel_Info_ListIcon_Peer_In ; Приём (входящая скорость). #MainWin_Panel_Info_ListIcon_Peer_Out ; Отдача (исходящая скорость). #MainWin_Panel_Info_ListIcon_Peer_Upload ; Отдано. #MainWin_Panel_Info_ListIcon_Peer_Download ; Загружено. #MainWin_Panel_Info_ListIcon_Peer_SpeedPeer ; Скорость пира. EndEnumeration ; Колонки в списке файлов на панели информации - #MainWin_Panel_Info_ListIcon_Files. Enumeration #MainWin_Panel_Info_ListIcon_Files_Name ; Имя файла. #MainWin_Panel_Info_ListIcon_Files_Number ; Номер файла в списке. #MainWin_Panel_Info_ListIcon_Files_Size ; Размер файла. #MainWin_Panel_Info_ListIcon_Files_Download ; Загружено. #MainWin_Panel_Info_ListIcon_Files_Percent ; Проценты (Сколько процентов данных файла уже получено). #MainWin_Panel_Info_ListIcon_Files_CountPiece ; Число частей, на котрые разделен файл. #MainWin_Panel_Info_ListIcon_Files_Piece ; "Части" (Графическая полоса прогресса). #MainWin_Panel_Info_ListIcon_Files_Priority ; Приоритет файла при его загрузке. EndEnumeration ; Колонки в списке частей на панели информации - #MainWin_Panel_Info_ListIcon_Piece. Enumeration #MainWin_Panel_Info_ListIcon_Piece_Number ; Номер части. #MainWin_Panel_Info_ListIcon_Piece_Size ; Рамер части. #MainWin_Panel_Info_ListIcon_Piece_Block ; Блоков. #MainWin_Panel_Info_ListIcon_Piece_ProgressBar ; Состояние загрузки блоков. #MainWin_Panel_Info_ListIcon_Piece_End ; Завершен. #MainWin_Panel_Info_ListIcon_Piece_Available ; Доступно. ;#MainWin_Panel_Info_ListIcon_Piece_Mode ; Режим. EndEnumeration ; Состояние торрента. Enumeration #TorrentStatus_Add ; Торрент добавляется. #TorrentStatus_Load ; Торрент загрузается. #TorrentStatus_Seed ; Торрент раздается. #TorrentStatus_Pause ; Торент в стостянии паузы. #TorrentStatus_Stop ; Торрент остановлен. #TorrentStatus_Error ; Ошибка торрента. #TorrentStatus_M_Start ; Передается в процедуру Torrent_SetStatus, кодга в меню выбирают "Запустить". EndEnumeration ; Тип иконки (работа сервера) в строке состояния. Enumeration #PortIconState_No ; Нет иконки. #PortIconState_No_InConnect ; Иконка "Нет входящих соединений". #PortIconState_Yes_InConnect ; Иконка "Есть входящие соединения". #PortIconState_ErrCreateServer ; Иконка "Ошибка создания сервера". EndEnumeration ; Команда трекеру. Enumeration #Tracker_Empty ; Регулярный запрос трекреу. #Tracker_Started ; Передается только при первом запросе в самом начале скачивания. #Tracker_Stopped ; Окончание скачивания. #Tracker_Completed ; Передается только когда торрент был скачал, т. е. при начале сидитирования. Если торрент изначально был весь, то это собщение передавать не нужно. EndEnumeration ; Приоритет файлов Enumeration #PriorityFiles_Normal ; Нормальный приортиет. #PriorityFiles_Min ; Низкий приоритет. #PriorityFiles_Max ; Высокий приоритет. #PriorityFiles_NoFile ; Пропуск файла (не загружать файл). EndEnumeration ; ------------------------------------------------------------------------ ;- Peer #Peer_OutConnect = 1 ; Признак что это исходящиее соединение для пира. установленое этим клиентом. #Peer_InConnect = 2 ; Признак что это входящее соединение, установленое удаленным пиром. #Peer_MaxErrConnect=8 ; Максимално допустимое число резуспешных конектов с пиром. #Peer_BreakConnect_Time = 2*60 ;4 Время полной неактивности пира, через котторое будет разорвана связь с ним. #Peer_Time_Send_KeepAlive = 60 ; Если за это время (в секундах) небыло послано не одного сообщения, то нужно послать KeepAlive, чтобы удаленный пир не разорвал соединение. Только для исходящих соединений. #Peer_Time_Send_KeepAlive_ClosePeer = 120 ; Если за это вермя (в секундах) пир не прислал ни одного сообщения, то нужно разорвать связь с ним. Только для входящих соединений. #Peer_PieceLength = 16*1024 ; Размер блоков, на которые делятся части при скачивании. #Peer_Piece_TimeOut = 60 ;2*3 Время в секундах, за которое пир должен прислать запрошенный блок. #Peer_MaxPeerRequest = 10 ;3 Максимальное число невыполненых запросов на одного пира. #Peer_MaxRequest_Block = 80 ;210 ; Максимально допустимое число невыполеных запросов блоков частей, для каждого торрента. #Peer_BestPeer_MinInSpeed = 1*1024 ;4 Минимальная скорость чтбы выбрать пира кандидатом для запросов у него блоков. #Peer_CountTime_SleepPiece = 4*60 ; Маскимально допустимое время в секундах,за которое должен быть прислан хоть один блок части. #Peer_CountBlock_Enable_EndgameMode = 20 ;410 Если осталось скачать это количество блоков, то включится режим "EndgameMode". ; Сообщения, отправляемые пирам. Enumeration 0 #Peer_Message_Choke ; Заблокирован. #Peer_Message_UnChoke ; Разблокирован. #Peer_Message_Interested ; Заинтерисован #Peer_Message_Not_Interested ; Незаинтерисован. #Peer_Message_KeepAlive ; Пустое сообщение для поддержания связи. EndEnumeration ; ------------------------------------------------------------------------- #HEAP_ZERO_MEMORY = 8 ;- zlib. #Z_OK = 0 #Z_STREAM_END = 1 #Z_NEED_DICT = 2 #Z_ERRNO = -1 #Z_STREAM_ERROR = -2 #Z_DATA_ERROR = -3 #Z_MEM_ERROR = -4 #Z_BUF_ERROR = -5 #Z_VERSION_ERROR = -6 #Z_NO_FLUSH = 0 #Z_PARTIAL_FLUSH = 1 #Z_SYNC_FLUSH = 2 #Z_FULL_FLUSH = 3 #Z_FINISH = 4 #Z_BLOCK = 5 ;-WSA #FD_MAX_EVENTS = 10 #FD_CONNECT_BIT = 4 #WSA_WAIT_FAILED = #WAIT_FAILED #WSA_INVALID_EVENT = #Null #WSA_NOT_ENOUGH_MEMORY = #ERROR_NOT_ENOUGH_MEMORY #WSA_INVALID_HANDLE = #ERROR_INVALID_HANDLE #WSA_INVALID_PARAMETER = #ERROR_INVALID_PARAMETER #WSA_WAIT_EVENT_0 = #Null #WSA_WAIT_TIMEOUT = #WAIT_TIMEOUT #WSA_WAIT_IO_COMPLETION = #WAIT_IO_COMPLETION ; IDE Options = PureBasic 5.11 (Windows - x86) ; EnableXP