OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [exec/] [posix/] [include/] [intr.h] - Rev 846

Go to most recent revision | Compare with Previous | Blame | View Log

/* intr.h
 *
 *  XXX: It is unclear if the type "intr_t" should be defined when
 *       _POSIX_INTERRUPT_CONTROL is not.
 *
 *  $Id: intr.h,v 1.2 2001-09-27 11:59:13 chris Exp $
 */
 
#ifndef __POSIX_INTERRUPTS_h
#define __POSIX_INTERRUPTS_h
 
#ifdef __cplusplus
extern "C" {
#endif
 
#include <sys/features.h>
#include <sys/types.h>
#include <sys/time.h>
 
#if defined(_POSIX_INTERRUPT_CONTROL)
 
/*
 *  22.2 Concepts, P1003.4b/D8, p. 73
 */
 
typedef int intr_t;
 
/*
 *  22.3.1 Associate a User-Written ISR with an Interrupt, P1003.4b/D8, p. 74
 */
 
/*
 *  Return codes from an interrupt handler
 */
 
#define INTR_HANDLED_NOTIFY         0 /* ISR handled this interrupt, notify */
                                      /*   the thread that registered the */
                                      /*   ISR that the interrupt occurred. */
#define INTR_HANDLED_DO_NOT_NOTIFY  1 /* ISR handled this interrupt, but */
                                      /*   do NOT perform notification. */
#define INTR_NOT_HANDLED            2 /* ISR did not handle this interrupt, */
                                      /*   let the next handler try. */
 
int intr_capture(
  intr_t          intr,
  int           (*intr_handler)( void *area ),
  volatile void   *area,
  size_t           areasize
);
 
int intr_release(
  intr_t    intr,
  int     (*intr_handler)( void *area )
);
 
int intr_lock(
  intr_t  intr
);
 
int intr_unlock(
  intr_t  intr
);
 
/*
 *  22.3.2 Await Interrupt Notification, P1003.4b/D8, p. 76
 */
 
int intr_timed_wait(
  int                     flags,
  const struct timespec  *timeout
);
 
#endif
 
#ifdef __cplusplus
}
#endif
 
#endif
/* end of include file */
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.