<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.theiphonewiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=JPwnx</id>
	<title>The iPhone Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.theiphonewiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=JPwnx"/>
	<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/wiki/Special:Contributions/JPwnx"/>
	<updated>2026-04-10T15:19:33Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User_talk:JPwnx&amp;diff=11520</id>
		<title>User talk:JPwnx</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User_talk:JPwnx&amp;diff=11520"/>
		<updated>2010-10-27T21:56:15Z</updated>

		<summary type="html">&lt;p&gt;JPwnx: New page: '''Lib-Usb Command? You Tell Me!'''  /* testlibusb.c  from LQ*/   #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;string.h&amp;gt; #include &amp;lt;usb.h&amp;gt;   void print_endpoint(struct usb_endpoint_descriptor *endpoint)  {...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Lib-Usb Command? You Tell Me!'''&lt;br /&gt;
&lt;br /&gt;
/* testlibusb.c  from LQ*/ &lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
#include &amp;lt;usb.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void print_endpoint(struct usb_endpoint_descriptor *endpoint) &lt;br /&gt;
{ &lt;br /&gt;
printf(&amp;quot; bEndpointAddress: %02xh\n&amp;quot;, endpoint-&amp;gt;bEndpointAddress); &lt;br /&gt;
printf(&amp;quot; bmAttributes: %02xh\n&amp;quot;, endpoint-&amp;gt;bmAttributes); &lt;br /&gt;
printf(&amp;quot; wMaxPacketSize: %d\n&amp;quot;, endpoint-&amp;gt;wMaxPacketSize); &lt;br /&gt;
printf(&amp;quot; bInterval: %d\n&amp;quot;, endpoint-&amp;gt;bInterval); &lt;br /&gt;
printf(&amp;quot; bRefresh: %d\n&amp;quot;, endpoint-&amp;gt;bRefresh); &lt;br /&gt;
printf(&amp;quot; bSynchAddress: %d\n&amp;quot;, endpoint-&amp;gt;bSynchAddress); &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void print_altsetting(struct usb_interface_descriptor *interface) &lt;br /&gt;
{ &lt;br /&gt;
int i; &lt;br /&gt;
&lt;br /&gt;
printf(&amp;quot; bInterfaceNumber: %d\n&amp;quot;, interface-&amp;gt;bInterfaceNumber); &lt;br /&gt;
printf(&amp;quot; bAlternateSetting: %d\n&amp;quot;, interface-&amp;gt;bAlternateSetting); &lt;br /&gt;
printf(&amp;quot; bNumEndpoints: %d\n&amp;quot;, interface-&amp;gt;bNumEndpoints); &lt;br /&gt;
printf(&amp;quot; bInterfaceClass: %d\n&amp;quot;, interface-&amp;gt;bInterfaceClass); &lt;br /&gt;
printf(&amp;quot; bInterfaceSubClass: %d\n&amp;quot;, interface-&amp;gt;bInterfaceSubClass); &lt;br /&gt;
printf(&amp;quot; bInterfaceProtocol: %d\n&amp;quot;, interface-&amp;gt;bInterfaceProtocol); &lt;br /&gt;
printf(&amp;quot; iInterface: %d\n&amp;quot;, interface-&amp;gt;iInterface); &lt;br /&gt;
&lt;br /&gt;
for (i = 0; i &amp;lt; interface-&amp;gt;bNumEndpoints; i++) &lt;br /&gt;
print_endpoint(&amp;amp;interface-&amp;gt;endpoint[i]); &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void print_interface(struct usb_interface *interface) &lt;br /&gt;
{ &lt;br /&gt;
int i; &lt;br /&gt;
&lt;br /&gt;
for (i = 0; i &amp;lt; interface-&amp;gt;num_altsetting; i++) &lt;br /&gt;
print_altsetting(&amp;amp;interface-&amp;gt;altsetting[i]); &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void print_configuration(struct usb_config_descriptor *config) &lt;br /&gt;
{ &lt;br /&gt;
int i; &lt;br /&gt;
&lt;br /&gt;
printf(&amp;quot; wTotalLength: %d\n&amp;quot;, config-&amp;gt;wTotalLength); &lt;br /&gt;
printf(&amp;quot; bNumInterfaces: %d\n&amp;quot;, config-&amp;gt;bNumInterfaces); &lt;br /&gt;
printf(&amp;quot; bConfigurationValue: %d\n&amp;quot;, config-&amp;gt;bConfigurationValue); &lt;br /&gt;
printf(&amp;quot; iConfiguration: %d\n&amp;quot;, config-&amp;gt;iConfiguration); &lt;br /&gt;
printf(&amp;quot; bmAttributes: %02xh\n&amp;quot;, config-&amp;gt;bmAttributes); &lt;br /&gt;
printf(&amp;quot; MaxPower: %d\n&amp;quot;, config-&amp;gt;MaxPower); &lt;br /&gt;
&lt;br /&gt;
for (i = 0; i &amp;lt; config-&amp;gt;bNumInterfaces; i++) &lt;br /&gt;
print_interface(&amp;amp;config-&amp;gt;interface[i]); &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int main(void) &lt;br /&gt;
{ &lt;br /&gt;
struct usb_bus *bus; &lt;br /&gt;
struct usb_device *dev; &lt;br /&gt;
&lt;br /&gt;
usb_init(); &lt;br /&gt;
usb_find_busses(); &lt;br /&gt;
usb_find_devices(); &lt;br /&gt;
&lt;br /&gt;
printf(&amp;quot;bus/device idVendor/idProduct\n&amp;quot;); &lt;br /&gt;
&lt;br /&gt;
for (bus = usb_busses; bus; bus = bus-&amp;gt;next) { &lt;br /&gt;
for (dev = bus-&amp;gt;devices; dev; dev = dev-&amp;gt;next) { &lt;br /&gt;
int ret, i; &lt;br /&gt;
char string[256]; &lt;br /&gt;
usb_dev_handle *udev; &lt;br /&gt;
&lt;br /&gt;
printf(&amp;quot;%s/%s %04X/%04X\n&amp;quot;, bus-&amp;gt;dirname, dev-&amp;gt;filename, &lt;br /&gt;
dev-&amp;gt;descriptor.idVendor, dev-&amp;gt;descriptor.idProduct); &lt;br /&gt;
&lt;br /&gt;
udev = usb_open(dev); &lt;br /&gt;
if (udev) { &lt;br /&gt;
if (dev-&amp;gt;descriptor.iManufacturer) { &lt;br /&gt;
ret = usb_get_string_simple(udev, dev-&amp;gt;descriptor.iManufacturer, string, sizeof(string)); &lt;br /&gt;
if (ret &amp;gt; 0) &lt;br /&gt;
printf(&amp;quot;- Manufacturer : %s\n&amp;quot;, string); &lt;br /&gt;
else &lt;br /&gt;
printf(&amp;quot;- Unable to fetch manufacturer string\n&amp;quot;); &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
if (dev-&amp;gt;descriptor.iProduct) { &lt;br /&gt;
ret = usb_get_string_simple(udev, dev-&amp;gt;descriptor.iProduct, string, sizeof(string)); &lt;br /&gt;
if (ret &amp;gt; 0) &lt;br /&gt;
printf(&amp;quot;- Product : %s\n&amp;quot;, string); &lt;br /&gt;
else &lt;br /&gt;
printf(&amp;quot;- Unable to fetch product string\n&amp;quot;); &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
if (dev-&amp;gt;descriptor.iSerialNumber) { &lt;br /&gt;
ret = usb_get_string_simple(udev, dev-&amp;gt;descriptor.iSerialNumber, string, sizeof(string)); &lt;br /&gt;
if (ret &amp;gt; 0) &lt;br /&gt;
printf(&amp;quot;- Serial Number: %s\n&amp;quot;, string); &lt;br /&gt;
else &lt;br /&gt;
printf(&amp;quot;- Unable to fetch serial number string\n&amp;quot;); &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
usb_close (udev); &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
if (!dev-&amp;gt;config) { &lt;br /&gt;
printf(&amp;quot; Couldn't retrieve descriptors\n&amp;quot;); &lt;br /&gt;
continue; &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
for (i = 0; i &amp;lt; dev-&amp;gt;descriptor.bNumConfigurations; i++) &lt;br /&gt;
print_configuration(&amp;amp;dev-&amp;gt;config[i]); &lt;br /&gt;
} &lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>JPwnx</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=User:JPwnx&amp;diff=11519</id>
		<title>User:JPwnx</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=User:JPwnx&amp;diff=11519"/>
		<updated>2010-10-27T21:54:34Z</updated>

		<summary type="html">&lt;p&gt;JPwnx: New page: I am a -C and C++ expert and I am trying to  become a jailbreak developer! Help me out by sighing up for [palringo] and joining this group: jPwn   -jPwnx&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am a -C and C++ expert and I am trying to  become a jailbreak developer! Help me out by sighing up for [palringo] and joining this group: jPwn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-jPwnx&lt;/div&gt;</summary>
		<author><name>JPwnx</name></author>
		
	</entry>
</feed>