The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/raidframe/rf_callback.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*      $NetBSD: rf_callback.h,v 1.5 2004/03/03 13:29:00 oster Exp $    */
    2 /*
    3  * Copyright (c) 1995 Carnegie-Mellon University.
    4  * All rights reserved.
    5  *
    6  * Author: Mark Holland
    7  *
    8  * Permission to use, copy, modify and distribute this software and
    9  * its documentation is hereby granted, provided that both the copyright
   10  * notice and this permission notice appear in all copies of the
   11  * software, derivative works or modified versions, and any portions
   12  * thereof, and that both notices appear in supporting documentation.
   13  *
   14  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
   15  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
   16  * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
   17  *
   18  * Carnegie Mellon requests users of this software to return to
   19  *
   20  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
   21  *  School of Computer Science
   22  *  Carnegie Mellon University
   23  *  Pittsburgh PA 15213-3890
   24  *
   25  * any improvements or extensions that they make and grant Carnegie the
   26  * rights to redistribute these changes.
   27  */
   28 
   29 /*****************************************************************************************
   30  *
   31  * callback.h -- header file for callback.c
   32  *
   33  * the reconstruction code must manage concurrent I/Os on multiple drives.
   34  * it sometimes needs to suspend operation on a particular drive until some
   35  * condition occurs.  we can't block the thread, of course, or we wouldn't
   36  * be able to manage our other outstanding I/Os.  Instead we just suspend
   37  * new activity on the indicated disk, and create a callback descriptor and
   38  * put it someplace where it will get invoked when the condition that's
   39  * stalling us has cleared.  When the descriptor is invoked, it will call
   40  * a function that will restart operation on the indicated disk.
   41  *
   42  ****************************************************************************************/
   43 
   44 #ifndef _RF__RF_CALLBACK_H_
   45 #define _RF__RF_CALLBACK_H_
   46 
   47 #include <dev/raidframe/raidframevar.h>
   48 
   49 struct RF_CallbackDesc_s {
   50         void    (*callbackFunc) (RF_CBParam_t); /* function to call */
   51         RF_CBParam_t callbackArg;       /* args to give to function, or just
   52                                          * info about this callback  */
   53         RF_RowCol_t col;        /* column IDs to give to the callback func */
   54         RF_CallbackDesc_t *next;/* next entry in list */
   55 };
   56 
   57 int     rf_ConfigureCallback(RF_ShutdownList_t ** listp);
   58 RF_CallbackDesc_t *rf_AllocCallbackDesc(void);
   59 void    rf_FreeCallbackDesc(RF_CallbackDesc_t * p);
   60 
   61 #endif                          /* !_RF__RF_CALLBACK_H_ */

Cache object: a682e76a1e45ba2417aa169f567944a2


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.