2 * Network Configuration Module
4 * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
21 * This file declares wifi direct group functions and structures.
23 * @file wifi-direct-group.h
24 * @author Gibyoung Kim (lastkgb.kim@samsung.com)
28 #ifndef __WIFI_DIRECT_GROUP_H__
29 #define __WIFI_DIRECT_GROUP_H__
35 #define IFACE_NAME_LEN 16
39 WFD_GROUP_FLAG_PERSISTENT,
40 WFD_GROUP_FLAG_AUTONOMOUS,
45 char ifname[IFACE_NAME_LEN+1];
46 char ssid[DEV_NAME_LEN+1];
47 unsigned char bssid[MACADDR_LEN];
48 unsigned char go_dev_addr[MACADDR_LEN];
49 int flags; /* Autonomous, Persistent */
50 int role; /* local device role */
54 char passphrase[PASSPHRASE_LEN_MAX + 1];
57 wfd_group_s *wfd_create_pending_group(void *data, unsigned char * bssid);
58 int wfd_group_complete(void *data, wfd_oem_event_s *group_info);
59 int wfd_destroy_group(void * data);
60 int wfd_group_add_member(wfd_group_s *group, unsigned char *addr);
61 int wfd_group_remove_member(wfd_group_s *group, unsigned char *addr);
63 int wfd_group_get_channel(wfd_group_s *group);
64 int wfd_group_get_flags(wfd_group_s *group);
65 int wfd_group_get_members();
66 int wfd_group_make_persistent();
68 int wfd_group_is_autonomous(wfd_group_s *group);
69 wfd_device_s *wfd_group_find_member_by_addr(wfd_group_s *group, unsigned char *addr);
75 #endif /* __WIFI_DIRECT_GROUP_H__ */