1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>struct ieee80211_key_conf</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The 802.11 subsystems – for kernel developers"><link rel="up" href="hardware-crypto-offload.html" title="Chapter 8. Hardware crypto acceleration"><link rel="prev" href="API-enum-set-key-cmd.html" title="enum set_key_cmd"><link rel="next" href="API-enum-ieee80211-key-flags.html" title="enum ieee80211_key_flags"></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">struct ieee80211_key_conf</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-enum-set-key-cmd.html">Prev</a> </td><th width="60%" align="center">Chapter 8. Hardware crypto acceleration</th><td width="20%" align="right"> <a accesskey="n" href="API-enum-ieee80211-key-flags.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-struct-ieee80211-key-conf"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>struct ieee80211_key_conf — 2 key information 3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="programlisting"> 4struct ieee80211_key_conf { 5 atomic64_t tx_pn; 6 u32 cipher; 7 u8 icv_len; 8 u8 iv_len; 9 u8 hw_key_idx; 10 u8 flags; 11 s8 keyidx; 12 u8 keylen; 13 u8 key[0]; 14}; </pre></div><div class="refsect1"><a name="id-1.3.4.4.14.5"></a><h2>Members</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term">tx_pn</span></dt><dd><p> 15PN used for TX on non-TKIP keys, may be used by the driver 16as well if it needs to do software PN assignment by itself 17(e.g. due to TSO) 18 </p></dd><dt><span class="term">cipher</span></dt><dd><p> 19The key's cipher suite selector. 20 </p></dd><dt><span class="term">icv_len</span></dt><dd><p> 21The ICV length for this key type 22 </p></dd><dt><span class="term">iv_len</span></dt><dd><p> 23The IV length for this key type 24 </p></dd><dt><span class="term">hw_key_idx</span></dt><dd><p> 25To be set by the driver, this is the key index the driver 26wants to be given when a frame is transmitted and needs to be 27encrypted in hardware. 28 </p></dd><dt><span class="term">flags</span></dt><dd><p> 29key flags, see <span class="structname">enum</span> ieee80211_key_flags. 30 </p></dd><dt><span class="term">keyidx</span></dt><dd><p> 31the key index (0-3) 32 </p></dd><dt><span class="term">keylen</span></dt><dd><p> 33key material length 34 </p></dd><dt><span class="term">key[0]</span></dt><dd><p> 35key material. For ALG_TKIP the key is encoded as a 256-bit (32 byte) 36 </p></dd></dl></div></div><div class="refsect1"><a name="id-1.3.4.4.14.6"></a><h2>Description</h2><p> 37 </p><p> 38 39 This key information is given by mac80211 to the driver by 40 the <code class="function">set_key</code> callback in <span class="structname"><a class="link" href="API-struct-ieee80211-ops.html" title="struct ieee80211_ops">struct ieee80211_ops</a></span>. 41</p></div><div class="refsect1"><a name="id-1.3.4.4.14.7"></a><h2>data block</h2><p> 42 - Temporal Encryption Key (128 bits) 43 - Temporal Authenticator Tx MIC Key (64 bits) 44 - Temporal Authenticator Rx MIC Key (64 bits) 45</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-enum-set-key-cmd.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="hardware-crypto-offload.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-enum-ieee80211-key-flags.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">enum set_key_cmd</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">enum ieee80211_key_flags</span></td></tr></table></div></body></html> 46