Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/drivers/net/wireless/marvell/libertas/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  if_usb.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _LBS_IF_USB_H
#define _LBS_IF_USB_H

#include <linux/wait.h>
#include <linux/timer.h>

struct lbs_private;

/*
 * This file contains definition for USB interface.
 */

#define CMD_TYPE_REQUEST  0xF00DFACE
#define CMD_TYPE_DATA   0xBEADC0DE
#define CMD_TYPE_INDICATION  0xBEEFFACE

#define IPFIELD_ALIGN_OFFSET  2

#define BOOT_CMD_FW_BY_USB  0x01
#define BOOT_CMD_FW_IN_EEPROM  0x02
#define BOOT_CMD_UPDATE_BOOT2  0x03
#define BOOT_CMD_UPDATE_FW  0x04
#define BOOT_CMD_MAGIC_NUMBER  0x4C56524D   /* LVRM */

struct bootcmd
{
 __le32 magic;
 uint8_t cmd;
 uint8_t pad[11];
};

#define BOOT_CMD_RESP_OK  0x0001
#define BOOT_CMD_RESP_FAIL  0x0000
#define BOOT_CMD_RESP_NOT_SUPPORTED 0x0002

struct bootcmdresp
{
 __le32 magic;
 uint8_t cmd;
 uint8_t result;
 uint8_t pad[2];
};

/* USB card description structure*/
struct if_usb_card {
 struct usb_device *udev;
 uint32_t model;  /* MODEL_* */
 struct urb *rx_urb, *tx_urb;
 struct lbs_private *priv;

 struct sk_buff *rx_skb;

 uint8_t ep_in;
 uint8_t ep_out;

 /* bootcmdresp == 0 means command is pending
 * bootcmdresp < 0 means error
 * bootcmdresp > 0 is a BOOT_CMD_RESP_* from firmware
 */

 int8_t bootcmdresp;

 int ep_in_size;

 void *ep_out_buf;
 int ep_out_size;

 const struct firmware *fw;
 struct timer_list fw_timeout;
 wait_queue_head_t fw_wq;
 uint32_t fwseqnum;
 uint32_t totalbytes;
 uint32_t fwlastblksent;
 uint8_t CRC_OK;
 uint8_t fwdnldover;
 uint8_t fwfinalblk;
 uint8_t surprise_removed;

 __le16 boot2_version;
};

/* fwheader */
struct fwheader {
 __le32 dnldcmd;
 __le32 baseaddr;
 __le32 datalength;
 __le32 CRC;
};

#define FW_MAX_DATA_BLK_SIZE 600
/* FWData */
struct fwdata {
 struct fwheader hdr;
 __le32 seqnum;
 uint8_t data[];
};

/* fwsyncheader */
struct fwsyncheader {
 __le32 cmd;
 __le32 seqnum;
};

#define FW_HAS_DATA_TO_RECV  0x00000001
#define FW_HAS_LAST_BLOCK  0x00000004


#endif

Messung V0.5
C=92 H=66 G=79

¤ Dauer der Verarbeitung: 0.10 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.