linux/net/batman-adv/sysfs.h
<<
>>
Prefs
   1/* Copyright (C) 2010-2016  B.A.T.M.A.N. contributors:
   2 *
   3 * Marek Lindner
   4 *
   5 * This program is free software; you can redistribute it and/or
   6 * modify it under the terms of version 2 of the GNU General Public
   7 * License as published by the Free Software Foundation.
   8 *
   9 * This program is distributed in the hope that it will be useful, but
  10 * WITHOUT ANY WARRANTY; without even the implied warranty of
  11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12 * General Public License for more details.
  13 *
  14 * You should have received a copy of the GNU General Public License
  15 * along with this program; if not, see <http://www.gnu.org/licenses/>.
  16 */
  17
  18#ifndef _NET_BATMAN_ADV_SYSFS_H_
  19#define _NET_BATMAN_ADV_SYSFS_H_
  20
  21#include "main.h"
  22
  23#include <linux/sysfs.h>
  24#include <linux/types.h>
  25
  26struct kobject;
  27struct net_device;
  28
  29#define BATADV_SYSFS_IF_MESH_SUBDIR "mesh"
  30#define BATADV_SYSFS_IF_BAT_SUBDIR "batman_adv"
  31/**
  32 * BATADV_SYSFS_VLAN_SUBDIR_PREFIX - prefix of the subfolder that will be
  33 *  created in the sysfs hierarchy for each VLAN interface. The subfolder will
  34 *  be named "BATADV_SYSFS_VLAN_SUBDIR_PREFIX%vid".
  35 */
  36#define BATADV_SYSFS_VLAN_SUBDIR_PREFIX "vlan"
  37
  38struct batadv_attribute {
  39        struct attribute attr;
  40        ssize_t (*show)(struct kobject *kobj, struct attribute *attr,
  41                        char *buf);
  42        ssize_t (*store)(struct kobject *kobj, struct attribute *attr,
  43                         char *buf, size_t count);
  44};
  45
  46int batadv_sysfs_add_meshif(struct net_device *dev);
  47void batadv_sysfs_del_meshif(struct net_device *dev);
  48int batadv_sysfs_add_hardif(struct kobject **hardif_obj,
  49                            struct net_device *dev);
  50void batadv_sysfs_del_hardif(struct kobject **hardif_obj);
  51int batadv_sysfs_add_vlan(struct net_device *dev,
  52                          struct batadv_softif_vlan *vlan);
  53void batadv_sysfs_del_vlan(struct batadv_priv *bat_priv,
  54                           struct batadv_softif_vlan *vlan);
  55int batadv_throw_uevent(struct batadv_priv *bat_priv, enum batadv_uev_type type,
  56                        enum batadv_uev_action action, const char *data);
  57
  58#endif /* _NET_BATMAN_ADV_SYSFS_H_ */
  59