18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/* 28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Linux rfkill helper functions for driver wrappers 38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright (c) 2010, Jouni Malinen <j@w1.fi> 48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license. 6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details. 78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifndef RFKILL_H 108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define RFKILL_H 118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct rfkill_data; 138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct rfkill_config { 158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void *ctx; 168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt char ifname[IFNAMSIZ]; 178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void (*blocked_cb)(void *ctx); 188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void (*unblocked_cb)(void *ctx); 198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}; 208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct rfkill_data * rfkill_init(struct rfkill_config *cfg); 228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid rfkill_deinit(struct rfkill_data *rfkill); 238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint rfkill_is_blocked(struct rfkill_data *rfkill); 248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* RFKILL_H */ 26