source: roaraudio/roard/include/commands.h @ 5608:584b36c566e2

Last change on this file since 5608:584b36c566e2 was 5608:584b36c566e2, checked in by phi, 12 years ago

Handle super long client names well (Closes: #286)

File size: 1.8 KB
Line 
1//commands.h:
2
3/*
4 *      Copyright (C) Philipp 'ph3-der-loewe' Schafft - 2008-2012
5 *
6 *  This file is part of roard a part of RoarAudio,
7 *  a cross-platform sound system for both, home and professional use.
8 *  See README for details.
9 *
10 *  This file is free software; you can redistribute it and/or modify
11 *  it under the terms of the GNU General Public License version 3
12 *  as published by the Free Software Foundation.
13 *
14 *  RoarAudio is distributed in the hope that it will be useful,
15 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 *  GNU General Public License for more details.
18 *
19 *  You should have received a copy of the GNU General Public License
20 *  along with this software; see the file COPYING.  If not, write to
21 *  the Free Software Foundation, 51 Franklin Street, Fifth Floor,
22 *  Boston, MA 02110-1301, USA.
23 nd_exec*
24 */
25
26#ifndef _COMMANDS_H_
27#define _COMMANDS_H_
28
29#include <roaraudio.h>
30
31#define COMMAND_MAX_NAMELEN  80
32#define COMMAND_MAX_COMMANDS 48
33
34#define COMMAND_FLAG_NONE          0x00000000
35#define COMMAND_FLAG_OUT_CLOSECON  0x00000001
36#define COMMAND_FLAG_OUT_LONGDATA  0x00000002
37#define COMMAND_FLAG_OUT_NOSEND    0x00000004
38#define COMMAND_FLAG_OUT_DELETE    0x00000008 /* delete the client */
39
40struct roar_command {
41 int cmd;
42#if !defined(ROAR_TARGET_MICROCONTROLLER) && !defined(ROAR_MINIMAL)
43 const char name[COMMAND_MAX_NAMELEN];
44#else
45 const char * name;
46#endif
47 int (*handler)(int client, struct roar_message * mes, char ** data, uint32_t flags[2]);
48 enum roard_client_acclev minacclev;
49};
50
51int command_get_id_by_cmd (int command);
52int command_exec (int client, struct roar_message * mes, char ** data, uint32_t flags[2]);
53int command_get_name (int command, const char ** name);
54
55#endif
56
57//ll
Note: See TracBrowser for help on using the repository browser.