The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

strategy (9)
  • >> strategy (9) ( Solaris man: Ядро )
  •  

    NAME

    strategy - perform block I/O
     
    

    SYNOPSIS

    #include <sys/types.h>
    #include <sys/buf.h>
    #include <sys/ddi.h>
    #include <sys/sunddi.h>
    
    
    
    int prefixstrategy(struct buf *bp);
    

     

    INTERFACE LEVEL

    Architecture independent level 1 (DDI/DKI). This entry point is required for block devices.  

    PARAMETERS

    bp

    Pointer to the buf(9S) structure.

     

    DESCRIPTION

    The strategy() routine is called indirectly (through cb_ops(9S)) by the kernel to read and write blocks of data on the block device. strategy() may also be called directly or indirectly to support the raw character interface of a block device (read(9E), write(9E) and ioctl(9E)). The strategy() routine's responsibility is to set up and initiate the transfer.

    In general, strategy() should not block. It can, however, perform a kmem_cache_create(9F) with both the KM_PUSHPAGE and KM_SLEEP flags set, which might block, without causing deadlock in low memory situations.  

    RETURN VALUES

    The strategy() function must return 0. On an error condition, it should call bioerror(9F) to set b_flags to the proper error code, and call biodone(9F). Note that a partial transfer is not considered to be an error.  

    SEE ALSO

    ioctl(9E), read(9E), write(9E), biodone(9F), bioerror(9F), buf(9S), cb_ops(9S), kmem_cache_create(9F)

    Writing Device Drivers


     

    Index

    NAME
    SYNOPSIS
    INTERFACE LEVEL
    PARAMETERS
    DESCRIPTION
    RETURN VALUES
    SEE ALSO


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру