Fwd: [PATCH] [-mm] ACPI: export ACPI events via netlink

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I can never get these web-browser email clients to work well.
Sorry for sending fscking html earlier.

cheers,
jamal

---------- Forwarded message ----------
From: jamal <hadi@xxxxxxxxxx>
Date: May 27, 2007 9:29 AM
Subject: Re: [PATCH] [-mm] ACPI: export ACPI events via netlink
To: Zhang Rui <rui.zhang@xxxxxxxxx>
Cc: linux-acpi@xxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx




On 5/27/07, Zhang Rui <rui.zhang@xxxxxxxxx> wrote:

I need to write a user application to test my patch.
Netlink messages can be sent/received using the standard socket API.

sure.

But how to receive Genetlink messages from specified genetlink family?
There is no socket ACPI with such a parameter, right?

Each module has a unique identifier that it receives dynamically on
insertion at the kernel.

Do I have to receive all the genetlink messages first?

No, just the ones for your dynamic id. Try what i described first for
kernel side on the earlier email. I will repeat it here for clarity.
Then look at genl code and if you have questions i can
help.
Note: You need to discover your dynamic id (the iproute2/genl code has a stub
example code)
As i told you in the earlier email, in your development:
- start first by just writting your kernel side.
- Then use the genl utility - which is part of iproute2 to see if the
kernel side is "discoverable".

E.g if i wanted to "discover" currently loaded modules on my laptop, i
would do this:

---------------
hadi@lilsol:~$ genl ctrl ls

Name: nlctrl
        ID: 0x10  Version: 0x2  header size: 0  max attribs: 6
        commands supported:
                #1:  ID-0x3  flags-0xe


Name: nl80211
        ID: 0x11  Version: 0x1  header size: 0  max attribs: 22
        commands supported:
                #1:  ID-0x1  flags-0xa
                #2:  ID-0x6  flags-0xa
                #3:  ID-0x8  flags-0xa
                #4:  ID-0x3  flags-0xb
                #5:  ID-0x4  flags-0xb
                #6:  ID-0x5  flags-0xb
                #7:  ID-0xa  flags-0xb
                #8:  ID-0xb  flags-0xa
                #9:  ID-0xf  flags-0xb
                #10:  ID-0x10  flags-0xa
                #11:  ID-0x12  flags-0xb
                #12:  ID-0x13  flags-0xa
                #13:  ID-0x15  flags-0xa
                #14:  ID-0x19  flags-0xb
                #15:  ID-0x17  flags-0xb
                #16:  ID-0x18  flags-0xb
                #17:  ID-0x1a  flags-0xb
                #18:  ID-0x1b  flags-0xa
                #19:  ID-0xd  flags-0xb


Name: TASKSTATS
        ID: 0x12  Version: 0x1  header size: 0  max attribs: 4
        commands supported:
                #1:  ID-0x1  flags-0xa
---------------------------

As you can see, i can see from user space the name of the kernel end
point, its numeric id, what version it is running (so i can make sure
user space is compatible), what extra header it may have, what the
maximum number of attributes it can take. The last thing that gets
listed is the commands, and flags for those commands.

Lets load tipc kernel module and repeat...

-----------

hadi@lilsol:~$ sudo modprobe tipc
Name: nlctrl
        ID: 0x10  Version: 0x2  header size: 0  max attribs: 6
        commands supported:
                #1:  ID-0x3  flags-0xe

....
[same as before]
....

Name: TIPC
        ID: 0x13  Version: 0x1  header size: 8  max attribs: 0
        commands supported:
                #1:  ID-0x1  flags-0x2

===============

It would be great if there are any examples on user space communication.



Bug Thomas - he has written some simple example. I also have some but i
changed laptops and i have to go and dig it up for you.
I do have plans for making this easier for people - but havent had time.
If there is persistence - or someone out there wants to be a hero email
me privately and i will explain it.

Or should I use libnl library instead?

Why am i answering all these questions if you are fine with using libnl?
Last time you said you couldnt use a library, no?

cheers,
jamal


Thanks,
Rui.

-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux