• source navigation  • diff markup  • identifier search  • freetext search  • 

Sources/uqmi/common/qmi-struct.h

  1 /*
  2  * uqmi -- tiny QMI support implementation
  3  *
  4  * Copyright (C) 2014-2015 Felix Fietkau <nbd@openwrt.org>
  5  *
  6  * This library is free software; you can redistribute it and/or
  7  * modify it under the terms of the GNU Lesser General Public
  8  * License as published by the Free Software Foundation; either
  9  * version 2 of the License, or (at your option) any later version.
 10  *
 11  * This library is distributed in the hope that it will be useful,
 12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 14  * Lesser General Public License for more details.
 15  *
 16  * You should have received a copy of the GNU Lesser General Public
 17  * License along with this library; if not, write to the
 18  * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 19  * Boston, MA 02110-1301 USA.
 20  */
 21 
 22 #ifndef __QMI_STRUCT_H
 23 #define __QMI_STRUCT_H
 24 
 25 #include <libubox/utils.h>
 26 #include <stdint.h>
 27 
 28 struct qmux {
 29         uint16_t len;
 30         uint8_t flags;
 31         uint8_t service;
 32         uint8_t client;
 33 } __packed;
 34 
 35 struct tlv {
 36         uint8_t type;
 37         uint16_t len;
 38         uint8_t data[];
 39 } __packed;
 40 
 41 struct qmi_ctl {
 42         uint8_t transaction;
 43         uint16_t message;
 44         uint16_t tlv_len;
 45         struct tlv tlv[];
 46 } __packed;
 47 
 48 struct qmi_svc {
 49         uint16_t transaction;
 50         uint16_t message;
 51         uint16_t tlv_len;
 52         struct tlv tlv[];
 53 } __packed;
 54 
 55 struct qmi_msg {
 56         uint8_t marker;
 57         struct qmux qmux;
 58         uint8_t flags;
 59         union {
 60                 struct qmi_ctl ctl;
 61                 struct qmi_svc svc;
 62         };
 63 } __packed;
 64 
 65 #endif
 66 

This page was automatically generated by LXR 0.3.1.  •  OpenWrt