<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://bugs.maemo.com/skins/common/feed.css?207"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://bugs.maemo.com/index.php?action=history&amp;feed=atom&amp;title=Telephony_Stack</id>
		<title>Telephony Stack - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://bugs.maemo.com/index.php?action=history&amp;feed=atom&amp;title=Telephony_Stack"/>
		<link rel="alternate" type="text/html" href="http://bugs.maemo.com/index.php?title=Telephony_Stack&amp;action=history"/>
		<updated>2026-04-06T21:53:51Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.15.5-7</generator>

	<entry>
		<id>http://bugs.maemo.com/index.php?title=Telephony_Stack&amp;diff=41270&amp;oldid=prev</id>
		<title>amigadave:&amp;#32;wikify slightly and categorize</title>
		<link rel="alternate" type="text/html" href="http://bugs.maemo.com/index.php?title=Telephony_Stack&amp;diff=41270&amp;oldid=prev"/>
				<updated>2011-01-21T10:06:53Z</updated>
		
		<summary type="html">&lt;p&gt;wikify slightly and categorize&lt;/p&gt;

		&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 10:06, 21 January 2011&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;= Telephony &lt;/del&gt;stack definitions relavent to Cell Broadcast support &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;This article is a collection of telephony &lt;/ins&gt;stack definitions relavent to Cell Broadcast support&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== definitions from /usr/lib/libisi.so.1.4.0 ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== definitions from /usr/lib/libisi.so.1.4.0 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pre&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;source lang=&amp;quot;c&amp;quot;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;struct isi_client_t {&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;struct isi_client_t {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;	void *clientptr; //opaque pointer&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;	void *clientptr; //opaque pointer&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 38:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 39:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;pn_route_subscribe //definition not identified yet&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;pn_route_subscribe //definition not identified yet&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;pn_route_unsubscribe //definition not identified yet&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;pn_route_unsubscribe //definition not identified yet&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pre&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== definitions from /usr/sbin/csd ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== definitions from /usr/sbin/csd ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pre&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;source lang=&amp;quot;c&amp;quot;&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;struct CSDResourceContext {&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;struct CSDResourceContext {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;	int unknown;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;	int unknown;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 79:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 82:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;csd_dbus_introspectable_interface //a pointer to an unknown data structure&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;csd_dbus_introspectable_interface //a pointer to an unknown data structure&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;All csd plugins export a function install which looks like this:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;// &lt;/ins&gt;All csd plugins export a function install which looks like this:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;CSDPlugin *install();&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;CSDPlugin *install();&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pre&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== libsms.so.0 notes ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== libsms.so.0 notes ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Functions sms_gsm_cb_routing_ntf, sms_gsm_cb_routing_req and sms_gsm_cb_routing_resp may also be of value for Cell Broadcast.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Analysis of libsms.so.0 and libcsd-sms.so may reveal just how high up the stack the Cell Broadcast support goes and how much work is needed to make it work (references exist in libsms.so.0 to strings like &amp;quot;Incoming cell broadcast&amp;quot; so libsms.so.0 at least must be doing something with cell broadcast messages. Unclear what libsms.so.0 is doing with those messages or whether libcsd-sms.so is doing anything with them (and what has to be done at the higher levels to get working CBSMS support)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Functions &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;code&amp;gt;&lt;/ins&gt;sms_gsm_cb_routing_ntf&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/code&amp;gt;&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;code&amp;gt;&lt;/ins&gt;sms_gsm_cb_routing_req&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/code&amp;gt; &lt;/ins&gt;and &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;code&amp;gt;&lt;/ins&gt;sms_gsm_cb_routing_resp&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/code&amp;gt; &lt;/ins&gt;may also be of value for Cell Broadcast. Analysis of &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;code&amp;gt;&lt;/ins&gt;libsms.so.0&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/code&amp;gt; &lt;/ins&gt;and &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;code&amp;gt;&lt;/ins&gt;libcsd-sms.so&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/code&amp;gt; &lt;/ins&gt;may reveal just how high up the stack the Cell Broadcast support goes and how much work is needed to make it work (references exist in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;code&amp;gt;&lt;/ins&gt;libsms.so.0&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/code&amp;gt; &lt;/ins&gt;to strings like &amp;quot;Incoming cell broadcast&amp;quot; so &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;code&amp;gt;&lt;/ins&gt;libsms.so.0&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/code&amp;gt; &lt;/ins&gt;at least must be doing something with cell broadcast messages. Unclear what &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;code&amp;gt;&lt;/ins&gt;libsms.so.0&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/code&amp;gt; &lt;/ins&gt;is doing with those messages or whether &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;code&amp;gt;&lt;/ins&gt;libcsd-sms.so&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/code&amp;gt; &lt;/ins&gt;is doing anything with them (and what has to be done at the higher levels to get working CBSMS support)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Category:Development]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff generator: internal 2026-04-06 21:53:51 --&gt;
&lt;/table&gt;</summary>
		<author><name>amigadave</name></author>	</entry>

	<entry>
		<id>http://bugs.maemo.com/index.php?title=Telephony_Stack&amp;diff=41241&amp;oldid=prev</id>
		<title>27.33.137.199:&amp;#32;/* Telephony stack definitions relavent to Cell Broadcast support */</title>
		<link rel="alternate" type="text/html" href="http://bugs.maemo.com/index.php?title=Telephony_Stack&amp;diff=41241&amp;oldid=prev"/>
				<updated>2011-01-20T16:18:38Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Telephony stack definitions relavent to Cell Broadcast support&lt;/span&gt;&lt;/p&gt;

		&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 16:18, 20 January 2011&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 82:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 82:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;CSDPlugin *install();&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;CSDPlugin *install();&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;== libsms.so.0 notes ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Functions sms_gsm_cb_routing_ntf, sms_gsm_cb_routing_req and sms_gsm_cb_routing_resp may also be of value for Cell Broadcast.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Analysis of libsms.so.0 and libcsd-sms.so may reveal just how high up the stack the Cell Broadcast support goes and how much work is needed to make it work (references exist in libsms.so.0 to strings like &amp;quot;Incoming cell broadcast&amp;quot; so libsms.so.0 at least must be doing something with cell broadcast messages. Unclear what libsms.so.0 is doing with those messages or whether libcsd-sms.so is doing anything with them (and what has to be done at the higher levels to get working CBSMS support)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff generator: internal 2026-04-06 21:53:51 --&gt;
&lt;/table&gt;</summary>
		<author><name>27.33.137.199</name></author>	</entry>

	<entry>
		<id>http://bugs.maemo.com/index.php?title=Telephony_Stack&amp;diff=41231&amp;oldid=prev</id>
		<title>27.33.137.199:&amp;#32;New page: = Telephony stack definitions relavent to Cell Broadcast support = == definitions from /usr/lib/libisi.so.1.4.0 == &lt;pre&gt; struct isi_client_t { 	void *clientptr; //opaque pointer 	int unk; ...</title>
		<link rel="alternate" type="text/html" href="http://bugs.maemo.com/index.php?title=Telephony_Stack&amp;diff=41231&amp;oldid=prev"/>
				<updated>2011-01-20T15:32:44Z</updated>
		
		<summary type="html">&lt;p&gt;New page: = Telephony stack definitions relavent to Cell Broadcast support = == definitions from /usr/lib/libisi.so.1.4.0 == &amp;lt;pre&amp;gt; struct isi_client_t { 	void *clientptr; //opaque pointer 	int unk; ...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Telephony stack definitions relavent to Cell Broadcast support =&lt;br /&gt;
== definitions from /usr/lib/libisi.so.1.4.0 ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
struct isi_client_t {&lt;br /&gt;
	void *clientptr; //opaque pointer&lt;br /&gt;
	int unk; //unknown&lt;br /&gt;
};&lt;br /&gt;
struct comm_channel_info_t {&lt;br /&gt;
	void *commptrs; //opaque pointer&lt;br /&gt;
};&lt;br /&gt;
struct callbacks {&lt;br /&gt;
	void *func1; //function pointer, unknown prototype&lt;br /&gt;
	void *unk1;&lt;br /&gt;
	void *unk2;&lt;br /&gt;
	void *func2; //function pointer, unknown prototype&lt;br /&gt;
	void *func3; //function pointer, unknown prototype&lt;br /&gt;
	void *func4; //function pointer, unknown prototype&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
void isi_client_cancel_timeout(isi_client_t *self);&lt;br /&gt;
void isi_client_cleanup(isi_client_t *self);&lt;br /&gt;
void isi_client_run(isi_client_t *self);&lt;br /&gt;
int isi_client_init(isi_client_t *self, callbacks *callbackptrs, comm_channel_info_t *cinfo, int channel);&lt;br /&gt;
void isi_client_set_timeout(isi_client_t *self, int timeout);&lt;br /&gt;
void isi_client_start(isi_client_t *self);&lt;br /&gt;
void isi_client_stop(isi_client_t *self);&lt;br /&gt;
void socket_cinfo_init(comm_channel_info_t *cinfo);&lt;br /&gt;
int isi_client_sendto_resource(isi_client_t *self, void *buffer, char unknown, char resource);&lt;br /&gt;
int isi_client_process_isi_version_resp(isi_client_t *self, int version);&lt;br /&gt;
int isi_client_subscribe_indications(isi_client_t *self, char unknown, void *data, signed int size);&lt;br /&gt;
int isi_client_cancel_indications(isi_client_t *self, char unknown);&lt;br /&gt;
int sb_id_get(void *buf);&lt;br /&gt;
int sb_length_get(void *buf);&lt;br /&gt;
void *msgbuf_init(void *buffer, unsigned int size, int unknown);&lt;br /&gt;
void *msgbuf_add_ptr(void *buffer, unsigned int size);&lt;br /&gt;
void *msgbuf_get_ptr(void *buffer, unsigned int size);&lt;br /&gt;
&lt;br /&gt;
pn_route_subscribe //definition not identified yet&lt;br /&gt;
pn_route_unsubscribe //definition not identified yet&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== definitions from /usr/sbin/csd ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
struct CSDResourceContext {&lt;br /&gt;
	int unknown;&lt;br /&gt;
	DBusConnection *connection;&lt;br /&gt;
	DBusPreallocatedSend *send;&lt;br /&gt;
	DBusMessage *message;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct CSDObject { //guessed definition, not sure about the size or layout of this one&lt;br /&gt;
	int unknown;&lt;br /&gt;
	char *path;&lt;br /&gt;
	int unknown2;&lt;br /&gt;
	int unknown3;&lt;br /&gt;
	int unknown4;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
struct CSDPlugin { //size may be wrong&lt;br /&gt;
	char *name;&lt;br /&gt;
	void *configure; //function pointer, unknown prototype	&lt;br /&gt;
	void *start; //function pointer, unknown prototype	&lt;br /&gt;
	void *stop; //function pointer, unknown prototype	&lt;br /&gt;
	int unknown1;&lt;br /&gt;
	int unknown2;&lt;br /&gt;
	int unknown3;&lt;br /&gt;
	int unknown4;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
int csd_dbus_error(DBusError *error, const char *format, const char *name);&lt;br /&gt;
void csd_dbus_free_resource_context(CSDResourceContext *context);&lt;br /&gt;
unsigned int csd_dbus_register_object(DBusConnection *connection, CSDObject *object);&lt;br /&gt;
unsigned int csd_dbus_unregister_object(DBusConnection *connection, CSDObject *object);&lt;br /&gt;
void csd_dbus_save_resource_context(CSDResourceContext *context1, CSDResourceContext *context2)&lt;br /&gt;
void csd_dbus_send_message(CSDResourceContext *context);&lt;br /&gt;
DBusConnection *csd_get_dbus_connection();&lt;br /&gt;
void csd_service_started(const char **bus);&lt;br /&gt;
void csd_service_stopped(const char **bus, char *service);&lt;br /&gt;
&lt;br /&gt;
csd_dbus_introspectable_interface //a pointer to an unknown data structure&lt;br /&gt;
&lt;br /&gt;
All csd plugins export a function install which looks like this:&lt;br /&gt;
CSDPlugin *install();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>27.33.137.199</name></author>	</entry>

	</feed>