1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>scsi_get_vpd_page</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="SCSI Interfaces Guide"><link rel="up" href="mid_layer.html#scsi.c" title="drivers/scsi/scsi.c"><link rel="prev" href="API-scsi-track-queue-full.html" title="scsi_track_queue_full"><link rel="next" href="API-scsi-report-opcode.html" title="scsi_report_opcode"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">scsi_get_vpd_page</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-scsi-track-queue-full.html">Prev</a> </td><th width="60%" align="center">drivers/scsi/scsi.c</th><td width="20%" align="right"> <a accesskey="n" href="API-scsi-report-opcode.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-scsi-get-vpd-page"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>scsi_get_vpd_page — 2 Get Vital Product Data from a SCSI device 3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">scsi_get_vpd_page </b>(</code></td><td>struct scsi_device * <var class="pdparam">sdev</var>, </td></tr><tr><td> </td><td>u8 <var class="pdparam">page</var>, </td></tr><tr><td> </td><td>unsigned char * <var class="pdparam">buf</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">buf_len</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idp1123527836"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>sdev</code></em></span></dt><dd><p> 4 The device to ask 5 </p></dd><dt><span class="term"><em class="parameter"><code>page</code></em></span></dt><dd><p> 6 Which Vital Product Data to return 7 </p></dd><dt><span class="term"><em class="parameter"><code>buf</code></em></span></dt><dd><p> 8 where to store the VPD 9 </p></dd><dt><span class="term"><em class="parameter"><code>buf_len</code></em></span></dt><dd><p> 10 number of bytes in the VPD buffer area 11 </p></dd></dl></div></div><div class="refsect1"><a name="idp1123532332"></a><h2>Description</h2><p> 12 SCSI devices may optionally supply Vital Product Data. Each 'page' 13 of VPD is defined in the appropriate SCSI document (eg SPC, SBC). 14 If the device supports this VPD page, this routine returns a pointer 15 to a buffer containing the data from that page. The caller is 16 responsible for calling <code class="function">kfree</code> on this pointer when it is no longer 17 needed. If we cannot retrieve the VPD page this routine returns <code class="constant">NULL</code>. 18</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-scsi-track-queue-full.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="mid_layer.html#scsi.c">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-scsi-report-opcode.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">scsi_track_queue_full</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">scsi_report_opcode</span></td></tr></table></div></body></html> 19