#ifndef _PERF_UI_BROWSER_H_
#define _PERF_UI_BROWSER_H_ 1

#include <linux/types.h>

#define HE_COLORSET_TOP		50
#define HE_COLORSET_MEDIUM	51
#define HE_COLORSET_NORMAL	52
#define HE_COLORSET_SELECTED	53
#define HE_COLORSET_JUMP_ARROWS	54
#define HE_COLORSET_ADDR	55
#define HE_COLORSET_ROOT	56

struct ui_browser {
	u64	      index, top_idx;
	void	      *top, *entries;
	u16	      y, x, width, height, rows, columns, horiz_scroll;
	int	      current_color;
	void	      *priv;
	const char    *title;
	char	      *helpline;
	void 	      (*refresh_dimensions)(struct ui_browser *browser);
	unsigned int  (*refresh)(struct ui_browser *browser);
	void	      (*write)(struct ui_browser *browser, void *entry, int row);
	void	      (*seek)(struct ui_browser *browser, off_t offset, int whence);
	bool	      (*filter)(struct ui_browser *browser, void *entry);
	u32	      nr_entries;
	bool	      navkeypressed;
	bool	      use_navkeypressed;
};

int  ui_browser__set_color(struct ui_browser *browser, int color);
void ui_browser__set_percent_color(struct ui_browser *browser,
				   double percent, bool current);
bool ui_browser__is_current_entry(struct ui_browser *browser, unsigned row);
void ui_browser__refresh_dimensions(struct ui_browser *browser);
void ui_browser__reset_index(struct ui_browser *browser);

void ui_browser__gotorc(struct ui_browser *browser, int y, int x);
void ui_browser__write_nstring(struct ui_browser *browser, const char *msg,
			       unsigned int width);
void ui_browser__printf(struct ui_browser *browser, const char *fmt, ...);
void ui_browser__write_graph(struct ui_browser *browser, int graph);
void __ui_browser__line_arrow(struct ui_browser *browser, unsigned int column,
			      u64 start, u64 end);
void __ui_browser__show_title(struct ui_browser *browser, const char *title);
void ui_browser__show_title(struct ui_browser *browser, const char *title);
int ui_browser__show(struct ui_browser *browser, const char *title,
		     const char *helpline, ...);
void ui_browser__hide(struct ui_browser *browser);
int ui_browser__refresh(struct ui_browser *browser);
int ui_browser__run(struct ui_browser *browser, int delay_secs);
void ui_browser__update_nr_entries(struct ui_browser *browser, u32 nr_entries);
void ui_browser__handle_resize(struct ui_browser *browser);
void __ui_browser__vline(struct ui_browser *browser, unsigned int column,
			 u16 start, u16 end);

int ui_browser__warning(struct ui_browser *browser, int timeout,
			const char *format, ...);
int ui_browser__help_window(struct ui_browser *browser, const char *text);
bool ui_browser__dialog_yesno(struct ui_browser *browser, const char *text);
int ui_browser__input_window(const char *title, const char *text, char *input,
			     const char *exit_msg, int delay_sec);
struct perf_env;
int tui__header_window(struct perf_env *env);

void ui_browser__argv_seek(struct ui_browser *browser, off_t offset, int whence);
unsigned int ui_browser__argv_refresh(struct ui_browser *browser);

void ui_browser__rb_tree_seek(struct ui_browser *browser, off_t offset, int whence);
unsigned int ui_browser__rb_tree_refresh(struct ui_browser *browser);

void ui_browser__list_head_seek(struct ui_browser *browser, off_t offset, int whence);
unsigned int ui_browser__list_head_refresh(struct ui_browser *browser);

void ui_browser__init(void);
void annotate_browser__init(void);
#endif /* _PERF_UI_BROWSER_H_ */
tion value='4'>4</option><option value='5'>5</option><option value='6'>6</option><option value='7'>7</option><option value='8'>8</option><option value='9'>9</option><option value='10'>10</option><option value='15'>15</option><option value='20'>20</option><option value='25'>25</option><option value='30'>30</option><option value='35'>35</option><option value='40'>40</option></select></td></tr><tr><td class='label'>space:</td><td class='ctrl'><select name='ignorews' onchange='this.form.submit();'><option value='0' selected='selected'>include</option><option value='1'>ignore</option></select></td></tr><tr><td class='label'>mode:</td><td class='ctrl'><select name='dt' onchange='this.form.submit();'><option value='0' selected='selected'>unified</option><option value='1'>ssdiff</option><option value='2'>stat only</option></select></td></tr><tr><td/><td class='ctrl'><noscript><input type='submit' value='reload'/></noscript></td></tr></table></form></div><table summary='commit info' class='commit-info'>
<tr><th>author</th><td>Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;</td><td class='right'>2017-01-17 13:46:29 +0000</td></tr>
<tr><th>committer</th><td>Herbert Xu &lt;herbert@gondor.apana.org.au&gt;</td><td class='right'>2017-01-23 22:41:33 +0800</td></tr>
<tr><th>commit</th><td colspan='2' class='oid'><a href='/cgit.cgi/linux/net-next.git/commit/security/tomoyo?id=11e3b725cfc282efe9d4a354153e99d86a16af08'>11e3b725cfc282efe9d4a354153e99d86a16af08</a> (<a href='/cgit.cgi/linux/net-next.git/patch/security/tomoyo?id=11e3b725cfc282efe9d4a354153e99d86a16af08'>patch</a>)</td></tr>
<tr><th>tree</th><td colspan='2' class='oid'><a href='/cgit.cgi/linux/net-next.git/tree/?id=11e3b725cfc282efe9d4a354153e99d86a16af08'>8b5b9e0e1bcae1ab98ee652ffb7b13b05c209bd6</a> /<a href='/cgit.cgi/linux/net-next.git/tree/security/tomoyo?id=11e3b725cfc282efe9d4a354153e99d86a16af08'>security/tomoyo</a></td></tr>
<tr><th>parent</th><td colspan='2' class='oid'><a href='/cgit.cgi/linux/net-next.git/commit/security/tomoyo?id=d6040764adcb5cb6de1489422411d701c158bb69'>d6040764adcb5cb6de1489422411d701c158bb69</a> (<a href='/cgit.cgi/linux/net-next.git/diff/security/tomoyo?id=11e3b725cfc282efe9d4a354153e99d86a16af08&amp;id2=d6040764adcb5cb6de1489422411d701c158bb69'>diff</a>)</td></tr></table>
<div class='commit-subject'>crypto: arm64/aes-blk - honour iv_out requirement in CBC and CTR modes</div><div class='commit-msg'>Update the ARMv8 Crypto Extensions and the plain NEON AES implementations
in CBC and CTR modes to return the next IV back to the skcipher API client.
This is necessary for chaining to work correctly.

Note that for CTR, this is only done if the request is a round multiple of
the block size, since otherwise, chaining is impossible anyway.

Cc: &lt;stable@vger.kernel.org&gt; # v3.16+
Signed-off-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</div><div class='diffstat-header'><a href='/cgit.cgi/linux/net-next.git/diff/?id=11e3b725cfc282efe9d4a354153e99d86a16af08'>Diffstat</a> (limited to 'security/tomoyo')</div><table summary='diffstat' class='diffstat'>