function definitions

Aleksander Morgado aleksander at aleksander.es
Mon Feb 10 23:54:35 PST 2014


Hey hey,

>
> I'm new to libqmi and have some questions about the libqmi architecture:
>
> 1. Does libqmi follow the architecture designed by Qualcomm? I mean, what's
> the QMUX layer in libqmi? qmi-proxy?
>

The QMUX layer is basically ignored; we just gather what's inside of
the QMUX payload as a QMI message.

The qmi-proxy is a process which gets auto-started by the user of
libqmi, so that multiple user processes can talk to the /dev/cdc-wdm
port at the same time. Qualcomm's original driver allowed this by
managing different clients directly in the kernel driver; in our case
we use the qmi-proxy to handle different clients. The approach with
the qmi-proxy is completely optional, e.g. you can of course run
libqmi without a qmi-proxy if only one process will take care of
talking QMI in your system. See:
    http://sigquit.wordpress.com/2013/09/13/sharing-a-qmi-port-between-processes/

> 2. Is it possible to add new functions in libqmi? Any suggestion?
>

Sure it is.

> 3. I noticed that some function might be provided by a library. For example,
> I didn't get the function prototype of
> "qmi_message_nas_get_signal_strength_output_get_signal_strength
>  ()". Did I miss something?
>

The code for all the messages is autogenerated at compile time, from
the JSON database files available under /data. The code generator is
under /build-aux/qmi-codegen.

Adding support for new message is just about adding the correct
message definitions in the JSON database. See:
    http://sigquit.wordpress.com/2012/08/20/an-introduction-to-libqmi/

-- 
Aleksander
https://aleksander.es


More information about the libqmi-devel mailing list