xref: /third_party/eudev/src/shared/socket-util.h (revision 99ca880a)
1/***
2  This file is part of eudev, forked from systemd.
3
4  Copyright 2010 Lennart Poettering
5
6  systemd is free software; you can redistribute it and/or modify it
7  under the terms of the GNU Lesser General Public License as published by
8  the Free Software Foundation; either version 2.1 of the License, or
9  (at your option) any later version.
10
11  systemd is distributed in the hope that it will be useful, but
12  WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  Lesser General Public License for more details.
15
16  You should have received a copy of the GNU Lesser General Public License
17  along with systemd; If not, see <http://www.gnu.org/licenses/>.
18***/
19
20#pragma once
21
22#include <sys/socket.h>
23#include <netinet/in.h>
24#include <sys/un.h>
25#include <net/if.h>
26#include <asm/types.h>
27#include <linux/netlink.h>
28#include <linux/if_packet.h>
29
30union sockaddr_union {
31        struct sockaddr sa;
32        struct sockaddr_in in;
33        struct sockaddr_in6 in6;
34        struct sockaddr_un un;
35        struct sockaddr_nl nl;
36        struct sockaddr_storage storage;
37        struct sockaddr_ll ll;
38};
39