linux/include/net/caif/cfctrl.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (C) ST-Ericsson AB 2010
 * Author:	Sjur Brendeland
 */

#ifndef CFCTRL_H_
#define CFCTRL_H_
#include <net/caif/caif_layer.h>
#include <net/caif/cfsrvl.h>

/* CAIF Control packet commands */
enum cfctrl_cmd {};

/* Channel types */
enum cfctrl_srv {};

#define CFCTRL_RSP_BIT
#define CFCTRL_ERR_BIT

struct cfctrl_rsp {};

/* Link Setup Parameters for CAIF-Links. */
struct cfctrl_link_param {};

/* This structure is used internally in CFCTRL */
struct cfctrl_request_info {};

struct cfctrl {};

void cfctrl_enum_req(struct cflayer *cfctrl, u8 physlinkid);
int cfctrl_linkup_request(struct cflayer *cfctrl,
			   struct cfctrl_link_param *param,
			   struct cflayer *user_layer);
int  cfctrl_linkdown_req(struct cflayer *cfctrl, u8 linkid,
			 struct cflayer *client);

struct cflayer *cfctrl_create(void);
struct cfctrl_rsp *cfctrl_get_respfuncs(struct cflayer *layer);
int cfctrl_cancel_req(struct cflayer *layr, struct cflayer *adap_layer);
void cfctrl_remove(struct cflayer *layr);

#endif				/* CFCTRL_H_ */