(Back to the list... again)

Le 30 mars 2014 14:00, "我想不无聊" <[email protected]> a écrit :
>
> where should i define the variable,in the wireshark root directory and
use it in other modules such as wiretap and epan/dissectors?

Declare it wherever you want. You just need to export the symbol in case
you want to use it in different libraries (like wiretap and
epan/dissectors). Do a search for WS_VAR_IMPORT to see examples.

Regards,
Pascal.

> ------------------ 原始邮件 ------------------
> 发件人: "Pascal Quantin"<[email protected]>
> 发送时间: 2014年3月30日(星期天) 晚上7:55
> 收件人: "我想不无聊"<[email protected]>;"Developer support list for Wireshark"<
[email protected]>;
> 主题: Re: 回复: [Wireshark-dev] how to use the wireshark source code to
developapplication?
> (back to the mailing list)
>
>
> 2014-03-30 11:54 GMT+02:00 我想不无聊 <[email protected]>:
>>
>> If i define the  variable in the wireshark directory and i use it in the
/wiretap and  /epan/dissectors whether or not should i use the
 WS_DLL_PUBLIC macro,and by the way i use the wireshark 1.6.5 edition,then
what should i do.
>
>
> If you use Wireshark 1.6.5 source code, you must declare your structure
as WS_VAR_IMPORT instead of extern, and add it to wtap.def file. Something
like:
> WS_VAR_IMPORT performance* performance_test;
>
> and in wtap.def:
> performance_test DATA
>
> You can look at other examples of the use of WS_VAR_IMPORT in the source
code.
>
> Regards,
> Pascal.
>
> PS: there is no need to send multiple emails to the mailing list with the
same question over and over.
>
>>
>> ------------------ 原始邮件 ------------------
>> 发件人: "Pascal Quantin";<[email protected]>;
>> 发送时间: 2014年3月30日(星期天) 下午5:06
>> 收件人: "Developer support list for Wireshark"<[email protected]>;
>> 主题: Re: [Wireshark-dev] how to use the wireshark source code to
developapplication?
>>
>>
>> Le 30 mars 2014 08:58, "我想不无聊" <[email protected]> a écrit :
>> >
>> > I want to store some information about packets and transmit among
files,so i create a file in wireshark root directory,named performance.h:
>> >
>> > //performance.h
>> > #include <glib.h>
>> > typedef struct performance_s
>> > {
>> > gfloat time[100];
>> >        gfloat delay[100];
>> > guint32 packetSize[100];
>> > guint32 payload;
>> > guint32 index;
>> > guint32 temp_size;
>> > gfloat temp_time;
>> > }performance;
>> > extern peformance* performance_test;
>> >
>> > in the file ,i declare a struct and declare a pointer to it,then i
want to use the variable "performance_test" in file wiretap/libpcap.c,
epan/dissectors/packet-ieee80211.c,so i define the variable
"peformance_test" in performance.c in wireshark root directory  and include
the head file in wiretap/libpcap.c, epan/dissectors/packet-ieee80211.c ,but
once i use the variable in these two files,when i compile the wireshark
project,it come up with one error:undefined reference to 'peformance_test'.
>> >
>> > it looks like the variable peformance_test should be defined and used
in the same file ,if i want to use it in different files,i think i should
modify the makefile.common to change the compile process ,but i don't know
how .could someone help me fix it,please!
>>
>> Hi,
>>
>> Assuming you work on the master branch (Wireshark 1.11.X), if you want
to use in libwireshark a variable defined in libwiretap, you should export
the symbol with the WS_DLL_PUBLIC macro instead of using extern. Do not
forget to include ws_symbol_export.h file also.
>> You can search in the code for examples of the use of this macro.
>>
>> Regards,
>> Pascal.
>
>
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <[email protected]>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:[email protected]?subject=unsubscribe

Reply via email to