blob: 5e3b4d7a3a24ade9da00da0c9a7230a13099cc6c [file] [log] [blame]
/*
*
* Copyright (C) 2007 Mindspeed Technologies, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __CLIENT_DAEMON_H__
#define __CLIENT_DAEMON_H__
static __inline unsigned short cmmDaemonCmdRC(void *rspbuf)
{
return *( (unsigned short *) rspbuf);
}
static inline void setbit_in_array(u_int8_t *pbits, u_int32_t bitindex, u_int32_t bitval)
{
if (bitval)
pbits[bitindex >> 3] |= 1 << (bitindex & 0x07);
else
pbits[bitindex >> 3] &= ~(1 << (bitindex & 0x07));
}
static inline u_int32_t testbit_in_array(u_int8_t *pbits, u_int32_t bitindex)
{
u_int8_t x;
u_int32_t bitmask;
x = pbits[bitindex >> 3];
bitmask = 1 << (bitindex & 0x07);
return (x & bitmask);
}
int cmmClient(char * command, int argc, char **argv);
int cmmSendToDaemon(daemon_handle_t daemon_handle, unsigned short commandCode, void * dataToSend, int dataSize, void* dataToRcv);
struct cmm_daemon;
int cmmCommandCheck(struct cmm_daemon *ctx, int function_code, char * buffer, int buffer_size_in, int max_buffer_size);
char * getErrorString(unsigned short error);
int cmmDaemonInit(struct cmm_daemon *ctx);
void cmmDaemonExit(struct cmm_daemon *ctx);
int parse_value(char *p, u_int32_t *value, u_int32_t maxval);
int parse_range(char *p, u_int32_t *from, u_int32_t *to, u_int32_t maxval);
#endif