 050d8b5cc7
			
		
	
	
		050d8b5cc7
		
	
	
	
	
		
			
			This fixes a copy-paste error in the function name in wpa_supplicant_global_ctrl_iface_process() documentation. Signed-off-by: Purushottam Kushwaha <p.kushwaha@samsung.com>
		
			
				
	
	
		
			159 lines
		
	
	
	
		
			5.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			159 lines
		
	
	
	
		
			5.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * WPA Supplicant / UNIX domain socket -based control interface
 | |
|  * Copyright (c) 2004-2005, Jouni Malinen <j@w1.fi>
 | |
|  *
 | |
|  * This software may be distributed under the terms of the BSD license.
 | |
|  * See README for more details.
 | |
|  */
 | |
| 
 | |
| #ifndef CTRL_IFACE_H
 | |
| #define CTRL_IFACE_H
 | |
| 
 | |
| #ifdef CONFIG_CTRL_IFACE
 | |
| 
 | |
| /* Shared functions from ctrl_iface.c; to be called by ctrl_iface backends */
 | |
| 
 | |
| /**
 | |
|  * wpa_supplicant_ctrl_iface_process - Process ctrl_iface command
 | |
|  * @wpa_s: Pointer to wpa_supplicant data
 | |
|  * @buf: Received command buffer (nul terminated string)
 | |
|  * @resp_len: Variable to be set to the response length
 | |
|  * Returns: Response (*resp_len bytes) or %NULL on failure
 | |
|  *
 | |
|  * Control interface backends call this function when receiving a message that
 | |
|  * they do not process internally, i.e., anything else than ATTACH, DETACH,
 | |
|  * and LEVEL. The return response value is then sent to the external program
 | |
|  * that sent the command. Caller is responsible for freeing the buffer after
 | |
|  * this. If %NULL is returned, *resp_len can be set to two special values:
 | |
|  * 1 = send "FAIL\n" response, 2 = send "OK\n" response. If *resp_len has any
 | |
|  * other value, no response is sent.
 | |
|  */
 | |
| char * wpa_supplicant_ctrl_iface_process(struct wpa_supplicant *wpa_s,
 | |
| 					 char *buf, size_t *resp_len);
 | |
| 
 | |
| /**
 | |
|  * wpa_supplicant_global_ctrl_iface_process - Process global ctrl_iface command
 | |
|  * @global: Pointer to global data from wpa_supplicant_init()
 | |
|  * @buf: Received command buffer (nul terminated string)
 | |
|  * @resp_len: Variable to be set to the response length
 | |
|  * Returns: Response (*resp_len bytes) or %NULL on failure
 | |
|  *
 | |
|  * Control interface backends call this function when receiving a message from
 | |
|  * the global ctrl_iface connection. The return response value is then sent to
 | |
|  * the external program that sent the command. Caller is responsible for
 | |
|  * freeing the buffer after this. If %NULL is returned, *resp_len can be set to
 | |
|  * two special values: 1 = send "FAIL\n" response, 2 = send "OK\n" response. If
 | |
|  * *resp_len has any other value, no response is sent.
 | |
|  */
 | |
| char * wpa_supplicant_global_ctrl_iface_process(struct wpa_global *global,
 | |
| 						char *buf, size_t *resp_len);
 | |
| 
 | |
| 
 | |
| /* Functions that each ctrl_iface backend must implement */
 | |
| 
 | |
| /**
 | |
|  * wpa_supplicant_ctrl_iface_init - Initialize control interface
 | |
|  * @wpa_s: Pointer to wpa_supplicant data
 | |
|  * Returns: Pointer to private data on success, %NULL on failure
 | |
|  *
 | |
|  * Initialize the control interface and start receiving commands from external
 | |
|  * programs.
 | |
|  *
 | |
|  * Required to be implemented in each control interface backend.
 | |
|  */
 | |
| struct ctrl_iface_priv *
 | |
| wpa_supplicant_ctrl_iface_init(struct wpa_supplicant *wpa_s);
 | |
| 
 | |
| /**
 | |
|  * wpa_supplicant_ctrl_iface_deinit - Deinitialize control interface
 | |
|  * @priv: Pointer to private data from wpa_supplicant_ctrl_iface_init()
 | |
|  *
 | |
|  * Deinitialize the control interface that was initialized with
 | |
|  * wpa_supplicant_ctrl_iface_init().
 | |
|  *
 | |
|  * Required to be implemented in each control interface backend.
 | |
|  */
 | |
| void wpa_supplicant_ctrl_iface_deinit(struct ctrl_iface_priv *priv);
 | |
| 
 | |
| /**
 | |
|  * wpa_supplicant_ctrl_iface_wait - Wait for ctrl_iface monitor
 | |
|  * @priv: Pointer to private data from wpa_supplicant_ctrl_iface_init()
 | |
|  *
 | |
|  * Wait until the first message from an external program using the control
 | |
|  * interface is received. This function can be used to delay normal startup
 | |
|  * processing to allow control interface programs to attach with
 | |
|  * %wpa_supplicant before normal operations are started.
 | |
|  *
 | |
|  * Required to be implemented in each control interface backend.
 | |
|  */
 | |
| void wpa_supplicant_ctrl_iface_wait(struct ctrl_iface_priv *priv);
 | |
| 
 | |
| /**
 | |
|  * wpa_supplicant_global_ctrl_iface_init - Initialize global control interface
 | |
|  * @global: Pointer to global data from wpa_supplicant_init()
 | |
|  * Returns: Pointer to private data on success, %NULL on failure
 | |
|  *
 | |
|  * Initialize the global control interface and start receiving commands from
 | |
|  * external programs.
 | |
|  *
 | |
|  * Required to be implemented in each control interface backend.
 | |
|  */
 | |
| struct ctrl_iface_global_priv *
 | |
| wpa_supplicant_global_ctrl_iface_init(struct wpa_global *global);
 | |
| 
 | |
| /**
 | |
|  * wpa_supplicant_global_ctrl_iface_deinit - Deinitialize global ctrl interface
 | |
|  * @priv: Pointer to private data from wpa_supplicant_global_ctrl_iface_init()
 | |
|  *
 | |
|  * Deinitialize the global control interface that was initialized with
 | |
|  * wpa_supplicant_global_ctrl_iface_init().
 | |
|  *
 | |
|  * Required to be implemented in each control interface backend.
 | |
|  */
 | |
| void wpa_supplicant_global_ctrl_iface_deinit(
 | |
| 	struct ctrl_iface_global_priv *priv);
 | |
| 
 | |
| void wpas_ctrl_radio_work_flush(struct wpa_supplicant *wpa_s);
 | |
| 
 | |
| #else /* CONFIG_CTRL_IFACE */
 | |
| 
 | |
| static inline struct ctrl_iface_priv *
 | |
| wpa_supplicant_ctrl_iface_init(struct wpa_supplicant *wpa_s)
 | |
| {
 | |
| 	return (void *) -1;
 | |
| }
 | |
| 
 | |
| static inline void
 | |
| wpa_supplicant_ctrl_iface_deinit(struct ctrl_iface_priv *priv)
 | |
| {
 | |
| }
 | |
| 
 | |
| static inline void
 | |
| wpa_supplicant_ctrl_iface_send(struct ctrl_iface_priv *priv, int level,
 | |
| 			       char *buf, size_t len)
 | |
| {
 | |
| }
 | |
| 
 | |
| static inline void
 | |
| wpa_supplicant_ctrl_iface_wait(struct ctrl_iface_priv *priv)
 | |
| {
 | |
| }
 | |
| 
 | |
| static inline struct ctrl_iface_global_priv *
 | |
| wpa_supplicant_global_ctrl_iface_init(struct wpa_global *global)
 | |
| {
 | |
| 	return (void *) 1;
 | |
| }
 | |
| 
 | |
| static inline void
 | |
| wpa_supplicant_global_ctrl_iface_deinit(struct ctrl_iface_global_priv *priv)
 | |
| {
 | |
| }
 | |
| 
 | |
| static inline void wpas_ctrl_radio_work_flush(struct wpa_supplicant *wpa_s)
 | |
| {
 | |
| }
 | |
| 
 | |
| #endif /* CONFIG_CTRL_IFACE */
 | |
| 
 | |
| #endif /* CTRL_IFACE_H */
 |