1/* $NetBSD: eventclass.h,v 1.1 2024/02/18 20:57:52 christos Exp $ */ 2 3/* 4 * Copyright (C) Internet Systems Consortium, Inc. ("ISC") 5 * 6 * SPDX-License-Identifier: MPL-2.0 7 * 8 * This Source Code Form is subject to the terms of the Mozilla Public 9 * License, v. 2.0. If a copy of the MPL was not distributed with this 10 * file, you can obtain one at https://mozilla.org/MPL/2.0/. 11 * 12 * See the COPYRIGHT file distributed with this work for additional 13 * information regarding copyright ownership. 14 */ 15 16#ifndef ISC_EVENTCLASS_H 17#define ISC_EVENTCLASS_H 1 18 19/*! \file isc/eventclass.h 20 ***** Registry of Predefined Event Type Classes 21 *****/ 22 23/*% 24 * An event class is an unsigned 16 bit number. Each class may contain up 25 * to 65536 events. An event type is formed by adding the event number 26 * within the class to the class number. 27 * 28 */ 29 30#define ISC_EVENTCLASS(eclass) ((eclass) << 16) 31 32/*@{*/ 33/*! 34 * Classes < 1024 are reserved for ISC use. 35 * Event classes >= 1024 and <= 65535 are reserved for application use. 36 */ 37 38#define ISC_EVENTCLASS_TASK ISC_EVENTCLASS(0) 39#define ISC_EVENTCLASS_TIMER ISC_EVENTCLASS(1) 40#define ISC_EVENTCLASS_SOCKET ISC_EVENTCLASS(2) 41#define ISC_EVENTCLASS_FILE ISC_EVENTCLASS(3) 42#define ISC_EVENTCLASS_DNS ISC_EVENTCLASS(4) 43#define ISC_EVENTCLASS_APP ISC_EVENTCLASS(5) 44#define ISC_EVENTCLASS_OMAPI ISC_EVENTCLASS(6) 45#define ISC_EVENTCLASS_RATELIMITER ISC_EVENTCLASS(7) 46#define ISC_EVENTCLASS_ISCCC ISC_EVENTCLASS(8) 47#define ISC_EVENTCLASS_NS ISC_EVENTCLASS(9) 48/*@}*/ 49 50#endif /* ISC_EVENTCLASS_H */ 51