--- libaitpelco/inc/aitpelco.h 2010/01/22 00:57:32 1.1 +++ libaitpelco/inc/aitpelco.h 2011/03/17 08:36:14 1.1.1.1.2.4 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitpelco.h,v 1.1 2010/01/22 00:57:32 misho Exp $ +* $Id: aitpelco.h,v 1.1.1.1.2.4 2011/03/17 08:36:14 misho Exp $ * *************************************************************************/ #ifndef __AITPELCO_H @@ -131,6 +131,14 @@ inline void *pelcoOpen(u_char pelcoVer, u_char camNo); inline void pelcoClose(void * __restrict 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); + + +/* * pelcoAddCmdData() Add commands and datas for already opened packet * @p = Input Packet structure * @cmd[2] = Input Commands 1 & 2 @@ -139,8 +147,25 @@ inline void pelcoClose(void * __restrict p); */ inline u_char pelcoAddCmdData(void * __restrict p, u_char * __restrict cmd, u_char * __restrict data); +/* + * 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); /* + * pelcoChkSum() Check ot Correct check sum in packet + * @p = Input Packet structure + * @correct = Calculate new check sum if incorrect !=0, if ==0 only check + * return: 0xFF - bad packet, invalid check sum, 0 check sum is correct. + */ +inline u_char pelcoChkSum(void * __restrict p, u_char correct); + + +/* * pelco_GetVersion() Return Pelco protocol version * @p = Packet structure * return: 'd' - PelcoD, 'p' - PelcoP, 0 - unknown or bad packet @@ -166,7 +191,6 @@ inline u_char pelco_GetCamNo(void * __restrict p); inline u_char pelco_GetCamCmdData(void * __restrict p, u_char * __restrict cam, u_char * __restrict cmd, u_char * __restrict data); - /* * pelco_D_toCmd() Convert to Pelco D commands * @cmd[2] = Input Commands 1 & 2 @@ -216,7 +240,7 @@ inline u_char pelco_P_fromCmd(struct bitP_Cmd1 cmd1, s * @p = Output Packet structure * return: 0xFF - error, 0 - ok */ -inline u_char pelco_SetCamCmdData(u_char ver, u_char __restrict cam, +inline u_char pelco_SetCamCmdData(u_char ver, u_char cam, u_char * __restrict cmd, u_char * __restrict data, void * __restrict p);