version 1.1.1.1, 2010/01/22 00:57:32
|
version 1.1.1.1.2.2, 2010/03/12 14:57:18
|
Line 108 inline void pelcoClose(void * __restrict p)
|
Line 108 inline void pelcoClose(void * __restrict p)
|
free(p); |
free(p); |
} |
} |
|
|
|
/* |
|
* pelcoLoad() Load packet from input buffer |
|
* @buffer = Pelco packet from input buffer |
|
* return: NULL error, !=NULL ok, allocated memory for packet |
|
*/ |
|
inline void *pelcoLoad(u_char *buffer) |
|
{ |
|
pelco_d_t *pd; |
|
pelco_p_t *pp; |
|
void *p = NULL; |
|
|
|
switch (pelco_GetVersion(buffer)) { |
|
case 'd': |
|
if (pelco_GetCamNo(buffer) < FIRST_CAM_D) { |
|
pelcoSetErr(ENOEXEC, "Error:: unsupported camera number %d!\n", |
|
pelco_GetCamNo(buffer)); |
|
return NULL; |
|
} |
|
|
|
pd = malloc(sizeof(pelco_d_t)); |
|
if (!pd) { |
|
SETERR; |
|
return NULL; |
|
} else |
|
memcpy(pd, buffer, sizeof(pelco_d_t)); |
|
|
|
p = pd; |
|
break; |
|
case 'p': |
|
pp = malloc(sizeof(pelco_p_t)); |
|
if (!pp) { |
|
SETERR; |
|
return NULL; |
|
} else |
|
memcpy(pp, buffer, sizeof(pelco_p_t)); |
|
|
|
p = pp; |
|
break; |
|
default: |
|
pelcoSetErr(ENOEXEC, "Error:: unsupported Pelco protocol version!\n"); |
|
} |
|
|
|
return p; |
|
} |
|
|
/* |
/* |
* pelcoAddCmdData() Add commands and datas for already opened packet |
* pelcoAddCmdData() Add commands and datas for already opened packet |
* @p = Input Packet structure |
* @p = Input Packet structure |
Line 159 inline u_char pelcoAddCmdData(void * __restrict p, u_c
|
Line 203 inline u_char pelcoAddCmdData(void * __restrict p, u_c
|
} |
} |
|
|
return ret; |
return ret; |
|
} |
|
|
|
/* |
|
* pelcoGetCmdData() Get from packet commands and datas with verify packet |
|
* @p = Input Packet structure |
|
* @cmd[2] = Output Commands 1 & 2 |
|
* @data[2] = Output Data for commands 1 & 2 |
|
* return: 'd' - PelcoD, 'p' - PelcoP, 0 - unknown or bad packet |
|
*/ |
|
inline u_char pelcoGetCmdData(void * __restrict p, u_char * __restrict cmd, u_char * __restrict data) |
|
{ |
|
return pelco_GetCamCmdData(p, NULL, cmd, data); |
} |
} |