Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  fwvid.h   Sprache: C

 
/* SPDX-License-Identifier: ISC */
/*
 * Copyright (c) 2022 Broadcom Corporation
 */

#ifndef FWVID_H_
#define FWVID_H_

#include "firmware.h"
#include "cfg80211.h"

struct brcmf_pub;
struct brcmf_if;

struct brcmf_fwvid_ops {
 void (*feat_attach)(struct brcmf_if *ifp);
 int (*set_sae_password)(struct brcmf_if *ifp, struct cfg80211_crypto_settings *crypto);
 int (*alloc_fweh_info)(struct brcmf_pub *drvr);
 int (*activate_events)(struct brcmf_if *ifp);
 void (*get_cfg80211_ops)(struct brcmf_pub *drvr);
 void (*register_event_handlers)(struct brcmf_pub *drvr);
};

/* exported functions */
int brcmf_fwvid_register_vendor(enum brcmf_fwvendor fwvid, struct module *mod,
    const struct brcmf_fwvid_ops *ops);
int brcmf_fwvid_unregister_vendor(enum brcmf_fwvendor fwvid, struct module *mod);

/* core driver functions */
int brcmf_fwvid_attach(struct brcmf_pub *drvr);
void brcmf_fwvid_detach(struct brcmf_pub *drvr);
const char *brcmf_fwvid_vendor_name(struct brcmf_pub *drvr);

static inline void brcmf_fwvid_feat_attach(struct brcmf_if *ifp)
{
 const struct brcmf_fwvid_ops *vops = ifp->drvr->vops;

 if (!vops->feat_attach)
  return;

 vops->feat_attach(ifp);
}

static inline int brcmf_fwvid_set_sae_password(struct brcmf_if *ifp,
            struct cfg80211_crypto_settings *crypto)
{
 const struct brcmf_fwvid_ops *vops = ifp->drvr->vops;

 if (!vops || !vops->set_sae_password)
  return -EOPNOTSUPP;

 return vops->set_sae_password(ifp, crypto);
}

static inline int brcmf_fwvid_alloc_fweh_info(struct brcmf_pub *drvr)
{
 if (!drvr->vops)
  return -EIO;

 return drvr->vops->alloc_fweh_info(drvr);
}

static inline int brcmf_fwvid_activate_events(struct brcmf_if *ifp)
{
 const struct brcmf_fwvid_ops *vops = ifp->drvr->vops;

 if (!vops || !vops->activate_events)
  return -EOPNOTSUPP;

 return vops->activate_events(ifp);
}

static inline void brcmf_fwvid_get_cfg80211_ops(struct brcmf_pub *drvr)
{
 if (!drvr->vops || !drvr->vops->get_cfg80211_ops)
  return;

 drvr->vops->get_cfg80211_ops(drvr);
}

static inline void brcmf_fwvid_register_event_handlers(struct brcmf_pub *drvr)
{
 if (!drvr->vops || !drvr->vops->register_event_handlers)
  return;

 drvr->vops->register_event_handlers(drvr);
}

#endif /* FWVID_H_ */

Messung V0.5
C=95 H=100 G=97

¤ Dauer der Verarbeitung: 0.0 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge