Названия системных функций

High-level languages programming questions
  • Code: Select all

    ;Function 26
    GET_MPU_MIDI_BASE_PORT=1 ;Function 26, subfunction 1 - get MPU MIDI base port.
    GET_KEY_LAYOUT=2  ;Function 26, subfunction 2 - get keyboard layout.
    GET_SYS_LANG=5 ;subfunction 5 - get system language. 
    GET_VALUE_TIME_COUNT=9 ; subfunction 9 - get the value of the time counter
    GET_VALUE_HIGH_PRECRIS_TIME_COUNT=10; subfunction 10 - Get the value of the high precision time counter. =========
    FIND_OUT_LOW_LEVEL_ACCESS=11 ; subfunction 11 - Find out whether low-level HD access is enabled
    FIND_OUT_LOW_LEVEL_ACCESS_PCI=12 ; subfunction 12 , Find out whether low-level PCI access is enabled
    
    GET_SYS_DATE=29 ;  Function 29 - get system date.
     
    WORK_CURRENT_FOLDER=30; Function 30 - work with the current folder
    SET_CURRENT_FOLDER_THREAD=1 ;Subfunction 1 - set current folder for the thread
    GET_CURRENT_FOLDER_THREAD=2 ; Subfunction 2 - get current folder for the thread.
    INST_SYS_DIR_KERNEL=3 ; Subfunction 3 - install the add.system directory for the kernel
    WHO_OWNER_PIXEL_SCREEN=34; - who owner the pixel on the screen. 
    READ_COLOR_PIXEL_SCREEN=35 ; read the color of a pixel on the screen.
    
    KOSfuncs.inc (6.29 KiB)
    Downloaded 378 times
  • CleverMouse, с префиксом писать ? С каким ?
    FK_ ? или KOS_ ? или....
    Ну KOS_ уже есть в kosSyst.cpp
    CleverMouse wrote:впрочем, общепринятое название - sleep.
    Ну общепринятое название, получается, что тоже нельзя в данном случае применять, так как оно общепринятое _УЖЕ_! Только префикс ?!
  • GET_VALUE_TIME_COUNT -> GET_TICK_COUNT
    FIND_OUT_LOW_LEVEL_ACCESS -> CHECK_HD_LOW_LEVEL_ACCESS
    FIND_OUT_LOW_LEVEL_ACCESS_PCI -> CHECK_PCI_LOW_LEVEL_ACCESS

    WORK_CURRENT_FOLDER=30; Function 30 - work with the current folder
    SET_CURRENT_FOLDER_THREAD=1 ;Subfunction 1 - set current folder for the thread
    GET_CURRENT_FOLDER_THREAD=2 ; Subfunction 2 - get current folder for the thread.
    =>SET_CURRENT_DIRECTORY, GET_CURRENT_DIRECTORY

    INST_SYS_DIR_KERNEL => APPEND_KERNEL_SYSDIR

    READ_COLOR_PIXEL_SCREEN => GET_PIXEL

    Везде пиши либо directory либо folder, не надо мешать
  • Ещё можно префикс SF_ (sysfunction) или тупо INT_
  • Pathoswithin wrote:Ещё можно префикс SF_ (sysfunction) или тупо INT_
    Эй, Атаманы!... :-) поточнее можно!... что еще за "или" ? :-)
    ===============
    Извиняюсь, что забыл про "точки" в константах, последних функциях.
  • Veliant wrote:Везде пиши либо directory либо folder, не надо мешать
    Хорошо! FOLDER писать, да ?
  • Code: Select all

    READ_SCREEN_AREA=36 ; - read screen area. ==================
    
    WORK_MOUSE=37;  - work with mouse. ===================
    .SCREEN_COORD_MOUSE=0;Subfunction 0 - screen coordinates of the mouse
    .COORD_MOUSE_WINDOW=1;   Subfunction 1 - coordinates of the mouse relative to the window
    .STATE_MOUSE_BUTTON=2; Subfunction 2 - states of the mouse buttons
    .STATE_EVENTS_MOUSE_BUTTON=3 ; Subfunction 3 - states and events of the mouse buttons
    .LOAD_CURSOR=4; Subfunction 4 - load cursor 
    .SET_CURSOR=5;Subfunction 5 - set cursor 
    .DEL_CURSOR=6;Subfunction 6 - delete cursor --------------------
    .GET_SCROLL_DATA=7;Subfunction 7 - get scroll data -------------------
    
    DRAW_LINE=38; Function 38 - draw line. 
    
    ;== Function 39,
    .GET_SIZE_BACKGROUND_IMAGE=1;  subfunction 1 - get a size of the background image.
    .GET_PIXEL_BACKGROUND_IMAGE=2; subfunction 2 - get pixel from the background image.
    .GET_DRAW_MODE_BACKGROUND=4 ; - get drawing mode for the background.
     
    SET_MASK_EVENTS=40;  - set the mask for expected events
    IN_OUT_PORT=43 ; - input/output to a port. 
    RESERVE_OR_FREE_GROUP_IN_OUT_PORT=46;  - reserve/free a group of input/output ports. =====
    DRAW_NUMB_WINDOW=47 ;
    
    ;Function 48
    .APLLY_SCREEN_SETING=0; subfunction 0 - apply screen settings.
    .SET_BUTTON_STYLE=1 ;  subfunction 1 - set button style
    .SET_STANDARD_WINDOW_COLOR=2; - set standard window colors
    .GET_STANDARD_WINDOW_COLOR=3; subfunction 3 - get standard window colors
    .GET_SKIN_HEIGHT=4 ;subfunction 4 - get skin height
    .GET_SCREEN_WORK_AREA=5 ;subfunction 5 - get screen working area. 
    .SET_SCREEN_WORK_AREA=6 ;subfunction 6 - set screen working area
    .GET_SKIN_MARGINS=7 ;subfunction 7 - get skin margins
    .SET_USED_SKIN=8; subfunction 8 - set used skin
    .GET_FONT_SMOOTH_SETTING=9 ;subfunction 9 - get font smoothing setting.
    .SET_FONT_SMOOTH=10;subfunction 10 - set font smoothing.
    .GET_FONT_SIZE=11 ;subfunction 11 - get font size. 
    .SET_FONT_SIZE=12 ;subfunction 12 - set font size.
    
    ADVANC_POWER_MANAGMETN=49 ; !!!или может APM ?!?! - Advanced Power Management (APM)
    SET_WINDOW_SHAPE=50 ; - set window shape
    
    KOSfuncs.inc (8.36 KiB)
    Downloaded 392 times
  • Code: Select all

    CREATE_THREAD=51;- create thread
    ;Function 54,
    .GET_NUMB_SLOT_CLIPBOARD=0 ; subfunction 0 - Get the number of slots in the clipboard.
    .READ_DATA_CLIPBOARD=1 ;subfunction 1 - Read the data from the clipboard
    .WRITE_DATA_CLIPBOARD=2 ;  subfunction 2 - Write the data to the clipboard
    .DEL_LAST_SLOT_CLIPBOARD=3;  ;subfunction 3 - Delete the last slot in the clipboard
    .ALARM_RESET_BUFFER=4; subfunction 4 - Alarm reset the lock buffer
    
    ; Function 55,
    .BEGIN_PLAY_SPEAKER=55; subfunction 55 - begin to play data on built-in speaker.
    PCI_BIOS=57;  Function 57 - PCI BIOS.
    INTER_PROCESS_COMMUNICAT=60; - Inter Process Communication (IPC).
    .SET_AREA_FOR_IPC=1 ;Subfunction 1 - set the area for IPC receiving
    .SEND_IPC_MESSAGE=2 ; Subfunction 2 - send IPC message
    GET_PARAMETERS_DIRECT_GRAPH_ACCESS=61 ;- get parameters for the direct graphics access. ====
    
    ;Function 62
    .GET_VERSION_PCI=0; ;-subfunction 0 - get version of PCI-interface. 
    .GET_NUMB_LAST_PCI=1; ;subfunction 1 - get number of the last PCI-bus
    .GET_MECHANISM_ADRR_PCI_CONFIG=2 ;subfunction 2 - Get mechanism of addressing to the PCI configuration space.
    ;!!!!!!!!!.READ_PCI_REGISTER=4;  ;subfunctions 4,5,6 - read PCI-register. ========
    ;!!!!!!!!!! .WRITE_PCI_REGISTER=8 subfunctions 8,9,10 - write to PCI-register. =====
    
    WORK_DEBUG_BOARD=63; - work with the debug board
    RESIZE_APP_MEM=64; - resize application memory. 
    DRAW_IMAGE_PALLETTE_WINDOW=65; - draw image with palette in the window.
    
    KOSfuncs.inc (9.81 KiB)
    Downloaded 385 times
  • Code: Select all

    ; Function 66 - work with keyboard.
    .SET_KEY_INP_MODE=1; Subfunction 1 - set keyboard input mode. --------------
    .SET_KEY_INP_MODE=2;;Subfunction 2 - get keyboard input mode. --------------
    .GET_STATUS_CONTROL_KEYS=3;Subfunction 3 - get status of control keys. -------------
    .SET_SYS_WIDE_HOTKEY=4; Subfunction 4 - set system-wide hotkey. ---------------
    .DEL_INST_HOTKEY=5; Subfunction 5 - delete installed hotkey. --------------
    .LOCK_NORMAL_INP=6;Subfunction 6 - block the normal input. --------------
    .ULOCK_NORMAL_INP=7; Subfunction 7 - unlock the normal input. ----------------
    
    CHANGE_POS_SIZES_WINDOW=67;- change position/sizes of the window. 
    
    ;====== Function 68,
    .GET_TASK_SWITCH_COUNT=0; subfunction 0 - get the task switch counter. 
    .SWITCH_NEXT_THREAD=1;subfunction 1 - switch to the next thread. 
    .CACHE_RDPMC=2;subfunction 2 - cache + rdpmc. 
    .READ_MSR_REGISTER=3;subfunction 3 - read MSR-register. 
    .READ_MSR_REGISTER=4;subfunction 4 - write to MSR-register.
    .INIT_PROCESS_HEAP=11;subfunction 11 - initialize process heap.
    .ALLOCATE_MEM_BLOCK=12;subfunction 12 - allocate memory block. 
    .FREE_MEM_BLOCK=13;subfunction 13 - free memory block. 
    .WAIT_SIGNAL_ANOTH_APP=14; subfunction 14 - Wait for signal from another program/driver
    .LOAD_DRIVER=16; subfunction 16 - load driver
    .DRIVER_CONTROL=17;subfunction 17 - driver control.
    .LOAD_DLL=19; subfunction 19 - load DLL. 
    .REALLOCATE_MEM_BLOCK=20;subfunction 20 - reallocate memory block.
    .LOAD_DRIVER_PE=21;subfunction 21 - load driver PE.
    .OPEN_NAMED_MEM_AREA=22;subfunction 22 - open named memory area. 
    .CLOSE_NAMED_MEM_AREA=23; subfunction 23 - close named memory area.
    .SET_EXCEPT_HANDLER=24; subfunction 24 - set exception handler.
    .SET_FPU_EXCEPT_HANDLER=25;subfunction 25 - set FPU exception handler.
    .RELEASE_MEM_PAGES=26;subfunction 26 - release memory pages ============
    .LOAD_FILE=27; subfunction 27 - load file 
    
    DEBUG=69; Function 69 - debugging.
    .DEFINE_DATA_AREA_DEBUG_MESSAGES=0; 0 - define data area fror debug messages.
    .GET_CONTEBTS_REGISTERS_DEBUG_THREAD=1; subfunction 1  Get contents of registers of debugged thread. ===========
    .SET_CONTEBTS_REGISTERS_DEBUG_THREAD=2;subfunction 2 -  Set contents of registers of debugged thread.
    .DETACH_FROM_DEBUG_PROCESS=3; subfunction 3 - detach from debugged process.
    .SUSPEND_DEBUG_THREAD=4;subfunction 4 - suspend debugged thread. 
    .RESUME_DEBUG_THREAD=5;subfunction 5 - resume debugged thread.
    .READ_MEM_DEBUG_PROCESS=6; subfunction 6 - read from memory of debugged process.
    .READ_MEM_DEBUG_PROCESS=7 ; subfunction 7 - write to memory of debugged process.
    .TERMINATE_DEBUG_THREAD=8 ;subfunction 8 - terminate debugged thread.
    .SET_CLEAR_HERD_BREAKPOINT=9 ; subfunction 9 - set/clear hardware breakpoint. 
    
    WORK_FILE_SYS_LONG_NAME=70;- work with file system with long names support.
    .READ_FILE_LONG_NAMES=0; subfunction 0 - read file with long names support.
    .READ_FOLDER_LONG_NAMES=1;subfunction 1 - read folder with long names support. =
    .CREATE_REWRITE_FILE_LONG_NAMES=2; subfunction 2 - Create/rewrite file with long names support.
    .WRITE_FILE_LONG_NAMES=3; subfunction 3 - Write to existing file with long names support. 
    .SET_END_FILE=4; subfunction 4 - set end of file.
    .GET_INFO_FILE_FOLDER=5;subfunction 5 - get information on file/folder.
    .SET_ATTR_FILE_FOLDER=6 ;subfunction 6 - set attributes of file/folder.
    .START_APP=7; subfunction 7 - start application.
    .DEL_FILE_FOLDER=8 ; subfunction 8 - delete file/folder.
    .CREATE_FOLDER=9; subfunction 9 - create folder.
    
    ;Function 71,
    .SET_WINDOW_CAPTION=1; subfunction 1 - set window caption
    
    SEND_MESSAGE_WINDOW=72 ; - send message to a window. 
    .SEND_MESSAGE_ACTIVE_WINDOW=1; Subfunction 1 - send message with parameter to the active window.
    
    BLIT_BITMAP=73;  - blit bitmap
    
    ;;Function 74 
    GET_NUMB_ACTIVE_NETWORK_DEVICES=255; Subfunction 255, Get number of active network devices.
    .GET_NETWORK_DEVICE_TYPE=0;Subfunction 0, Get network device type.
    .GET_NETWORK_DEVICE_NAME=1;Subfunction 1, Get network device name.
    .RESET_NETWORK_DEVICE=2; Subfunction 2, Reset network device. 
    .STOP_NETWORK_DEVICE=3;Subfunction 3, Stop network device.
    .GET_DEVICE_POINER=4; Subfunction 4, Get device pointer. 
    .GET_PACKET_TX_COUNT=6; Subfunction 6, Get packet TX counter
    .GET_PACKET_КX_COUNT=7;Subfunction 7, Get packet RX counter
    .GET_TX_BYTE_COUNT=8; Subfunction 8, Get TX byte counter
    .GET_RX_BYTE_COUNT=9;Subfunction 9, Get RX byte counter.
    .GET_LINK_STATUS=10;Subfunction 10, Get link status.
      ;Link status:
      ;  ETH_LINK_DOWN   =    0b         ; Link is down
      ;  ETH_LINK_UNKNOWN=    1b         ; There could be an active link
      ;  ETH_LINK_FD     =   10b         ; full duplex flag
      ;  ETH_LINK_10M    =  100b         ; 10 mbit
      ;  ETH_LINK_100M   = 1000b         ; 100 mbit
      ;  ETH_LINK_1G     = 1100b         ; gigabit
      
      ;Function 75   
    .OPEN_SOCKET=0; Subfunction 0, Open socket.
    .CLOSE_SOCKET=1; Subfunction 1, Close socket.
    .BIND=2;Subfunction 2, Bind.
    .LISTEN=3;Subfunction 3, Listen.
    .CONNECT=4;Subfunction 4, Connect. 
    .ACCEPT=5;Subfunction 5, Accept.
    .SEND=6;Subfunction 6, Send. 
    .RECEIVE=7;Subfunction 7, Receive.
    .SET_SOCKET_OPTIONS=8;Subfunction 8, Set socket options.
    .GET_SOCKET_OPTIONS=9;Subfunction 9, Get socket options. 
    .GET_SOCKETPAIR=10;Subfunction 10, Get socketpair.
     
    NETWORK_OPTIONS_STATISTICS=76 ;Network options and statistics.
    
    TERMINATE_THREAD_PROCESS=-1 ; Function -1 - terminate thread/process
    
    ;======================================================================
    ;=========================== List of events ===========================
    ;======================================================================
    .............
    ;======================================================================
    ;=================== Error codes of the file system ===================
    ;======================================================================
    ...................
    KOSfuncs.inc (17.71 KiB)
    Downloaded 387 times
    НУ ВОТ ВРОДЕ И ВСЁ! НАДЕЮСЬ НИЧЕГО НЕ ПРОПУСТИЛ!
  • Ну, что тут, за тишина, подозрительная такая ? :-) Что-то делается ?... или не делается ?
    Ну в смысле, утверждается ?... это или что-то другое?
    Мне всё равно. Утвердите уже что нибудь. :-) Хочу знать и видеть, что оно уже есть и оно уже утверждёно! :-))
  • WORK_MOUSE -> MOUSE
    SCREEN_COORD_MOUSE -> POS_ON_SCREEN
    COORD_MOUSE_WINDOW ->POS_ON_WINDOW
    STATE_MOUSE_BUTTON -> STATE_BUTTON
    DRAW_NUMB_WINDOW -> DRAW_NUMBER

    ;Function 48 =>WINDOW_STYLE=48
    .APLLY_SCREEN_SETING => APPLY_STYLE
    .SET_STANDARD_WINDOW_COLOR =>SET_STANDARD_WINDOW_COLORS
    .GET_STANDARD_WINDOW_COLOR =>GET_STANDARD_WINDOW_COLORS

    ADVANC_POWER_MANAGMETN =>APM


    ;Function 54, => CLIPBOARD
    .GET_NUMB_SLOT_CLIPBOARD => COUNT_OF_SLOT
    .READ_DATA_CLIPBOARD => READ_DATA
    .WRITE_DATA_CLIPBOARD => WRITE_DATA

    WORK_DEBUG_BOARD => DEBUG_BOARD
    RESIZE_APP_MEM => REALLOC_APP_MEM

    CHANGE_POS_SIZES_WINDOW => MOVE_WINDOW ???

    .SWITCH_NEXT_THREAD = >YIELD_THREAD
    .INIT_PROCESS_HEAP =>HEAP_INIT
    .ALLOCATE_MEM_BLOCK => HEAP_ALLOC
    .FREE_MEM_BLOCK =>HEAP_FREE
    .REALLOCATE_MEM_BLOCK =>HEAP_REALLOC
  • Мне неудобны многословные определения функций :)
    Например слово GET можно заменить символом @
    SET знаком ! или чем то подобным.
    Keyboard - KBD
    Знак > например трактовать как слово MOVE
    и.др.

    P.S. Подчёркивания между словами удалить и заменить на первые заглавные буквы слов.
  • Заняло больше времени, чем я думал. Это чистовик, оценивайте во всех отношениях.
    Мне тоже CamelCase больше нравится, но по стандарту константы должны выглядеть так.
  • Pathoswithin wrote:Заняло больше времени, чем я думал.
    А оно всегда так. :-)
    ===================
    Ну что?!.... Имена функций и входящие в них данные стандартизировать для ЯВУ будем ?... (хотя я было предлагал утвердить "всё до кучи", меняя лишь приставки к именам, ну да ладно... :-) )
    Утверждать будем, на базе тех, что уже стандартизировали в этой теме? В ВерблюдКассе? :-) С именами входящих переменных и их типом (сразу)?... или может даже с содержимым (с кодом ) процедуры? С приставкой к имени функции или без ? Понятие "номерка" (цифрового ИД-процедуры) в реестре массива функций/процедур КОС у них должно быть ? Ну в смысле, типа "номерок" в массиве процедур:
    (Вот только жаль функции нельзя присвоить в том массив процедур, и отдельный массив функций нельзя создать, в частности в Дельфи7)

    Code: Select all

    var procKOS: array [0..200] of procedure;
    //{!!!нельзя}    var  funcKOS: array [0..200] of function;
    procedure PutPixel; begin  {....} end;
    function Proba:byte; begin   {....} end;
    begin
    procKOS[1]:=PutPixel;
    //{!!!нельзя} procKOS[3]:=Proba;
    end.
    Будем утверждать и как функции и как процедуры ? Или в каком-то одном виде ?
    Для начала вырезки того, что уже есть. Вырезки из (разных) kosSyst.cpp файлов попавшихся мне "на глаза"
    Spoiler:// функция 0
    void kos_DefineAndDrawWindow(
    Word x, Word y,
    Word sizeX, Word sizeY,
    Byte mainAreaType,
    Dword mainAreaColour,
    Byte headerType,
    Dword headerColour,
    Dword borderColour
    )

    // функция -1 завершения процесса
    void kos_ExitApp()

    // функция 1 поставить точку
    void kos_PutPixel( Dword x, Dword y, Dword colour )

    // функция 2 получить код нажатой клавиши
    bool kos_GetKey( Byte &keyCode )

    // функция 3 получить время
    Dword kos_GetSystemClock()

    // функция 4
    void kos_WriteTextToWindow(
    Word x,
    Word y,
    Byte fontType,
    Dword textColour,
    const char *textPtr,
    Dword textLen
    )

    // функция 5 пауза, в сотых долях секунды
    void kos_Pause( Dword value )

    // функция 7 нарисовать изображение
    void kos_PutImage( RGB * imagePtr, Word sizeX, Word sizeY, Word x, Word y )


    // функция 8 определить кнопку
    void kos_DefineButton( Word x, Word y, Word sizeX, Word sizeY, Dword buttonID, Dword colour )

    // функция 9 - информация о процессе
    Dword kos_ProcessInfo( sProcessInfo *targetPtr, Dword processID )

    // функция 10
    Dword kos_WaitForEvent()

    // функция 11
    Dword kos_CheckForEvent()

    // функция 12
    void kos_WindowRedrawStatus( Dword status )

    // функция 13 нарисовать полосу
    void kos_DrawBar( Word x, Word y, Word sizeX, Word sizeY, Dword colour )

    // функция 17
    bool kos_GetButtonID( Dword &buttonID )

    // функция 23
    Dword kos_WaitForEventTimeout( Dword timeOut )

    // получение информации о состоянии "мыши" функция 37
    void kos_GetMouseState( Dword & buttons, int & cursorX, int & cursorY )

    // функция 40 установить маску событий
    void kos_SetMaskForEvents( Dword mask )

    // функция 47 вывести в окно приложения число
    void kos_DisplayNumberToWindow(
    Dword value,
    Dword digitsNum,
    Word x,
    Word y,
    Dword colour,
    eNumberBase nBase,
    bool valueIsPointer
    )

    // функция 70 доступ к файловой системе
    Dword kos_FileSystemAccess( kosFileInfo *fileInfo )

    // функция 63 вывод символя в окно отладки
    void kos_DebugOutChar( char ccc )

    // функция 66 режим получения данных от клавиатуры
    void kos_SetKeyboardDataMode( Dword mode )

    // вывод строки в окно отладки
    void rtlDebugOutString( char *str )

    // функция 64 изменение количества памяти, выделенной для программы
    bool kos_ApplicationMemoryResize( Dword targetSize )

    // функция 67 изменить параметры окна, параметр == -1 не меняется
    void kos_ChangeWindow( Dword x, Dword y, Dword sizeX, Dword sizeY )

    void kos_InitHeap() =?!?!?
  • Who is online

    Users browsing this forum: Google [Bot] and 2 guests