diff options
Diffstat (limited to 'static/netbsd/man4/utoppy.4 4.html')
| -rw-r--r-- | static/netbsd/man4/utoppy.4 4.html | 235 |
1 files changed, 0 insertions, 235 deletions
diff --git a/static/netbsd/man4/utoppy.4 4.html b/static/netbsd/man4/utoppy.4 4.html deleted file mode 100644 index 96b45781..00000000 --- a/static/netbsd/man4/utoppy.4 4.html +++ /dev/null @@ -1,235 +0,0 @@ -<table class="head"> - <tr> - <td class="head-ltitle">UTOPPY(4)</td> - <td class="head-vol">Device Drivers Manual</td> - <td class="head-rtitle">UTOPPY(4)</td> - </tr> -</table> -<div class="manual-text"> -<section class="Sh"> -<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> -<p class="Pp"><code class="Nm">utoppy</code> — <span class="Nd">USB - driver for the Topfield TF5000PVR range of digital video - recorders</span></p> -</section> -<section class="Sh"> -<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1> -<p class="Pp"><code class="Cd">utoppy* at uhub? port ?</code></p> -<p class="Pp"> - <br/> - <code class="In">#include - <<a class="In">dev/usb/utoppy.h</a>></code></p> -</section> -<section class="Sh"> -<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> -<p class="Pp">The <code class="Nm">utoppy</code> driver provides support for the - Topfield TF5000PVR range of DVB recorders (nicknamed - ‘<code class="Li">Toppy</code>’) which are popular in Europe - and Australia. These recorders have a USB device interface which can be used - to transfer recordings to and from the unit's hard disk. The USB interface - can also be used to upload binary images for execution on the Toppy's MIPS - cpu.</p> -<p class="Pp">The Toppy's USB protocol has not been officially documented by - Topfield, but the basic features have been reverse engineered by others in - order to write replacements for the official - ‘<code class="Li">Altair</code>’ download/upload program from - Topfield.</p> -<p class="Pp">Existing replacements for Altair suffer from the fact that they - are ultimately built on top of <a class="Xr">ugen(4)</a>. This has a number - of detrimental side-effects:</p> -<ol class="Bl-enum"> - <li>Performance suffers since all Toppy command packets have to cross the - user-kernel interface.</li> - <li>The userland programs are full of clutter to deal with interpreting the - command/status packets, not to mention byte-swapping and host endian - issues.</li> - <li>Signals can interrupt a data transfer at a critical point, leaving the - Toppy in an undefined state. For example, interrupting a download with - ‘<code class="Li">Turbo</code>’ mode enabled will leave the - Toppy completely unresponsive to the remote control, and prevent - timer-based recordings from starting.</li> -</ol> -<p class="Pp">The <code class="Nm">utoppy</code> driver provides a clean and - stable interface to the Toppy protocol, and ensures that an interrupt caused - by a signal does not leave the Toppy in an undefined state.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="UTOPPY_INTERFACE"><a class="permalink" href="#UTOPPY_INTERFACE">UTOPPY - INTERFACE</a></h1> -<p class="Pp">Use the following header file to get access to the utoppy specific - structures and defines.</p> -<div class="Bd Pp Li"> -<pre>#include <dev/usb/utoppy.h></pre> -</div> -<p class="Pp">The <code class="Nm">utoppy</code> driver can be accessed through - the <span class="Pa">/dev/utoppyN</span> character device. The primary means - of controlling the driver is by issuing a series of - <a class="Xr">ioctl(2)</a> system calls followed by - <a class="Xr">read(2)</a> or <a class="Xr">write(2)</a> system calls as - appropriate.</p> -<p class="Pp">The following <a class="Xr">ioctl(2)</a> commands are supported by - the <code class="Nm">utoppy</code> driver:</p> -<dl class="Bl-tag"> - <dt id="UTOPPYIOTURBO"><a class="permalink" href="#UTOPPYIOTURBO"><code class="Dv">UTOPPYIOTURBO</code></a> - <var class="Fa">int *mode</var></dt> - <dd>This command can be used to enable or disable - ‘<code class="Li">Turbo</code>’ mode for subsequent - <code class="Dv">UTOPPYIOREADFILE</code> or - <code class="Dv">UTOPPYIOWRITEFILE</code> commands (see below). If - <var class="Fa">num</var> is non-zero, Turbo mode will be enabled. - Otherwise Turbo mode will be disabled. In non-Turbo mode, the Toppy's USB - interface is capable of sustaining around 5.6 Mbit/s during a file - transfer. With Turbo mode enabled, it can sustain just over 16 Mbit/s. Of - course, these figures are valid only if the Toppy is connected via a USB - 2.0 interface. Performance using an older USB 1 interface will be - significantly lower.</dd> - <dt id="UTOPPYIOCANCEL"><a class="permalink" href="#UTOPPYIOCANCEL"><code class="Dv">UTOPPYIOCANCEL</code></a> - <var class="Fa">void</var></dt> - <dd>This command can be used to abort an in-progress - <code class="Dv">UTOPPYIOREADDIR</code>, - <code class="Dv">UTOPPYIOREADFILE</code>, or - <code class="Dv">UTOPPYIOWRITEFILE</code> command.</dd> - <dt id="UTOPPYIOREBOOT"><a class="permalink" href="#UTOPPYIOREBOOT"><code class="Dv">UTOPPYIOREBOOT</code></a> - <var class="Fa">void</var></dt> - <dd>This command will cause the Toppy to reboot cleanly.</dd> - <dt id="UTOPPYIOSTATS"><a class="permalink" href="#UTOPPYIOSTATS"><code class="Dv">UTOPPYIOSTATS</code></a> - <var class="Fa">struct utoppy_stats *stats</var></dt> - <dd>This command retrieves statistics for the Toppy's hard disk. - <div class="Bd Pp Li"> - <pre>struct utoppy_stats { - uint64_t us_hdd_size; /* Size of the disk, in bytes */ - uint64_t us_hdd_free; /* Free space, in bytes */ -};</pre> - </div> - </dd> - <dt>UTOPPYIORENAME <var class="Fa">struct utoppy_rename *rename</var></dt> - <dd>This command is used to rename a file or directory on the Toppy's hard - disk. The full pathname to each file must be provided. - <div class="Bd Pp Li"> - <pre>struct utoppy_rename { - char *ur_old_path; /* Path to existing file */ - char *ur_new_path; /* Path to new file */ -};</pre> - </div> - </dd> - <dt>UTOPPYIOMKDIR <var class="Fa">char *path</var></dt> - <dd>This command creates the directory specified by - <var class="Fa">path</var>.</dd> - <dt>UTOPPYIODELETE <var class="Fa">char *path</var></dt> - <dd>This command deletes the file or directory specified by - <var class="Fa">path</var>.</dd> - <dt>UTOPPYIOREADDIR <var class="Fa">char *path</var></dt> - <dd>This command initiates a read of the contents of the directory specified - by <var class="Fa">path</var>. After issuing this command, the directory - contents must be read using consecutive <a class="Xr">read(2)</a> system - calls. Each <a class="Xr">read(2)</a> will transfer one or more directory - entries into the user-supplied buffer. The buffer must be large enough to - receive at least one directory entry. When <a class="Xr">read(2)</a> - returns zero, all directory entries have been read. - <p class="Pp">A directory entry is described using the following data - structure:</p> - <div class="Bd Pp Li"> - <pre>struct utoppy_dirent { - char ud_path[UTOPPY_MAX_FILENAME_LEN + 1]; - enum { - UTOPPY_DIRENT_UNKNOWN, - UTOPPY_DIRENT_DIRECTORY, - UTOPPY_DIRENT_FILE - } ud_type; - off_t ud_size; - time_t ud_mtime; - uint32_t ud_attributes; -};</pre> - </div> - <p class="Pp">The <var class="Va">ud_path</var> field contains the name of - the directory entry.</p> - <p class="Pp">The <var class="Va">ud_type</var> field specifies whether the - entry corresponds to a file or a sub-directory.</p> - <p class="Pp">The <var class="Va">ud_size</var> field is valid for files - only, and specifies the file's size in bytes.</p> - <p class="Pp">The <var class="Va">ud_mtime</var> field describes the file or - directory's modification time, specified as seconds from the Unix epoch. - The timestamp is relative to the current timezone, so - <a class="Xr">localtime(3)</a> can be used to convert it into human - readable form. Note that the Toppy sets directory timestamps to a - predefined value so they are not particularly useful.</p> - <p class="Pp">The <var class="Va">ud_attributes</var> field is not used at - this time.</p> - </dd> - <dt>UTOPPYIOREADFILE <var class="Fa">struct utoppy_readfile *</var></dt> - <dd>This command is used to initiate reading a file from the Toppy's hard - disk. The full pathname, together with the file offset at which to start - reading, is specified using the following data structure: - <div class="Bd Pp Li"> - <pre>struct utoppy_readfile { - char *ur_path; - off_t ur_offset; -};</pre> - </div> - <p class="Pp">After issuing this command, the file must be read using - consecutive <a class="Xr">read(2)</a> system calls. When - <a class="Xr">read(2)</a> returns zero, the entire file has been - read.</p> - </dd> - <dt>UTOPPYIOWRITEFILE <var class="Fa">struct utoppy_writefile *</var></dt> - <dd>This command is used to initiate writing to a file on the Toppy's hard - disk. The file to be written is described using the following data - structure: - <div class="Bd Pp Li"> - <pre>struct utoppy_writefile { - char *uw_path; - off_t uw_offset; - off_t uw_size; - time_t uw_mtime; -};</pre> - </div> - <p class="Pp">The <var class="Va">uw_path</var> field specifies the full - pathname of the file to be written.</p> - <p class="Pp">The <var class="Va">uw_offset</var> field specifies the file - offset at which to start writing, assuming the file already exists. - Otherwise, <var class="Va">uw_offset</var> must be zero.</p> - <p class="Pp">The protocol requires that the Toppy must be informed of a - file's size in advance of the file being written. This is accomplished - using the <var class="Va">uw_size</var> field. It may be possible to - work around this limitation in a future version of the driver.</p> - <p class="Pp">The <var class="Va">uw_mtime</var> field specifies the file's - timestamp expressed as seconds from the Unix epoch in the local - timezone.</p> - </dd> -</dl> -<p class="Pp">Due to limitations with the protocol, a - <code class="Nm">utoppy</code> device can be opened by only one application - at a time. Also, only a single <code class="Dv">UTOPPYIOREADDIR</code>, - <code class="Dv">UTOPPYIOREADFILE</code>, or - <code class="Dv">UTOPPYIOWRITEFILE</code> command can be in progress at any - given time.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h1> -<dl class="Bl-tag Bl-compact"> - <dt><span class="Pa">/dev/utoppy0</span></dt> - <dd>device node</dd> -</dl> -</section> -<section class="Sh"> -<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE - ALSO</a></h1> -<p class="Pp"><a class="Xr">utoppya(1)</a>, <a class="Xr">usb(4)</a></p> -</section> -<section class="Sh"> -<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1> -<p class="Pp">The <code class="Nm">utoppy</code> driver appeared in - <span class="Ux">NetBSD 4.0</span>.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1> -<p class="Pp"><span class="An">Steve C. Woodford</span> - <<a class="Mt" href="mailto:scw@netbsd.org">scw@netbsd.org</a>></p> -</section> -</div> -<table class="foot"> - <tr> - <td class="foot-date">April 3, 2006</td> - <td class="foot-os">NetBSD 10.1</td> - </tr> -</table> |
