Files
vxWorks/h/arch/simlinux/ivSimlinux.h
2025-08-20 18:25:46 +08:00

54 lines
1.2 KiB
C

/* ivSimlinux.h - simlinux interrupt vectors */
/* Copyright 1993-2000 Wind River Systems, Inc. */
/*
modification history
--------------------
01c,16sep03,jmp cleanup interrupt vector definitions.
01b,21may03,jmp moved IV_MAX from intArchLib.c.
01a,05sep00,hbh derived from simsolaris
*/
#ifndef __INCivSimlinuxh
#define __INCivSimlinuxh
#ifdef __cplusplus
extern "C" {
#endif
/* maximun number of interrupt vectors */
#define IV_MAX (256 + 32) /* 256 correspond to MAX_FD defined on host */
/* side, see vxsimLib.h */
/* macros to convert interrupt vectors <-> interrupt numbers */
#define IVEC_TO_INUM(intVec) ((int) (intVec))
#define INUM_TO_IVEC(intNum) ((VOIDFUNCPTR *) (intNum))
#define IVEC_TO_FD(intVec) (IVEC_TO_INUM(intVec) - 32)
#define FD_TO_IVEC(fd) (INUM_TO_IVEC((fd) + 32))
/* interrupt vector definitions */
#define IV_HUP 1
#define IV_INT 2
#define IV_ILL 4
#define IV_TRAP 5
#define IV_BUS 7
#define IV_FPE 8
#define IV_SEGV 11
#define IV_CLOCK1 14
#define IV_USR1 10
#define IV_USR2 12
#define IV_IO 29
#define IV_CLOCK2 26
#define IV_CLOCK3 27
#ifdef __cplusplus
}
#endif
#endif /* __INCivSimlinux */