Serenity Operating System
at master 30 lines 614 B view raw
1/* 2 * Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <AK/Platform.h> 10#include <sys/cdefs.h> 11#include <sys/types.h> 12 13__BEGIN_DECLS 14 15static ALWAYS_INLINE dev_t serenity_dev_makedev(unsigned major, unsigned minor) 16{ 17 return (minor & 0xffu) | (major << 8u) | ((minor & ~0xffu) << 12u); 18} 19 20static ALWAYS_INLINE unsigned int serenity_dev_major(dev_t dev) 21{ 22 return (dev & 0xfff00u) >> 8u; 23} 24 25static ALWAYS_INLINE unsigned int serenity_dev_minor(dev_t dev) 26{ 27 return (dev & 0xffu) | ((dev >> 12u) & 0xfff00u); 28} 29 30__END_DECLS