135c4bbdfSmrg/*
235c4bbdfSmrg * Copyright © 2013 Keith Packard
335c4bbdfSmrg *
435c4bbdfSmrg * Permission to use, copy, modify, distribute, and sell this software and its
535c4bbdfSmrg * documentation for any purpose is hereby granted without fee, provided that
635c4bbdfSmrg * the above copyright notice appear in all copies and that both that copyright
735c4bbdfSmrg * notice and this permission notice appear in supporting documentation, and
835c4bbdfSmrg * that the name of the copyright holders not be used in advertising or
935c4bbdfSmrg * publicity pertaining to distribution of the software without specific,
1035c4bbdfSmrg * written prior permission.  The copyright holders make no representations
1135c4bbdfSmrg * about the suitability of this software for any purpose.  It is provided "as
1235c4bbdfSmrg * is" without express or implied warranty.
1335c4bbdfSmrg *
1435c4bbdfSmrg * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
1535c4bbdfSmrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
1635c4bbdfSmrg * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
1735c4bbdfSmrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
1835c4bbdfSmrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
1935c4bbdfSmrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
2035c4bbdfSmrg * OF THIS SOFTWARE.
2135c4bbdfSmrg */
2235c4bbdfSmrg
2335c4bbdfSmrg#ifndef _BUSFAULT_H_
2435c4bbdfSmrg#define _BUSFAULT_H_
2535c4bbdfSmrg
2635c4bbdfSmrg#include <dix-config.h>
2735c4bbdfSmrg
2835c4bbdfSmrg#ifdef BUSFAULT
2935c4bbdfSmrg
3035c4bbdfSmrg#include <sys/types.h>
3135c4bbdfSmrg
3235c4bbdfSmrgtypedef void (*busfault_notify_ptr) (void *context);
3335c4bbdfSmrg
3435c4bbdfSmrgstruct busfault *
3535c4bbdfSmrgbusfault_register_mmap(void *addr, size_t size, busfault_notify_ptr notify, void *context);
3635c4bbdfSmrg
3735c4bbdfSmrgvoid
3835c4bbdfSmrgbusfault_unregister(struct busfault *busfault);
3935c4bbdfSmrg
4035c4bbdfSmrgvoid
4135c4bbdfSmrgbusfault_check(void);
4235c4bbdfSmrg
4335c4bbdfSmrgBool
4435c4bbdfSmrgbusfault_init(void);
4535c4bbdfSmrg
4635c4bbdfSmrg#endif
4735c4bbdfSmrg
4835c4bbdfSmrg#endif /* _BUSFAULT_H_ */
49