@ -1,8 +1,8 @@
/*
* Filename: buffer.h
* Description: Buffer ó<EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
* Description: Buffer 처리 모듈
*
* Author: <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> (aka. <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , Cronan), <EFBFBD> ۿ<EFBFBD> <EFBFBD> <EFBFBD> (aka. myevan, <EFBFBD> <EFBFBD> <EFBFBD> ڷ<EFBFBD> )
* Author: 김한주 (aka. 비엽 , Cronan), 송영진 (aka. myevan, 빗자루 )
*/
# ifndef __INC_LIBTHECORE_BUFFER_H__
# define __INC_LIBTHECORE_BUFFER_H__
@ -28,30 +28,30 @@
int flag ;
} ;
extern LPBUFFER buffer_new ( int size ) ; // <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
extern void buffer_delete ( LPBUFFER buffer ) ; // <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
extern void buffer_reset ( LPBUFFER buffer ) ; // <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> ̵<EFBFBD> <CCB5> <EFBFBD> <20> ʱ<EFBFBD> ȭ
extern LPBUFFER buffer_new ( int size ) ; // 새 버퍼 생성
extern void buffer_delete ( LPBUFFER buffer ) ; // 버퍼 삭제
extern void buffer_reset ( LPBUFFER buffer ) ; // 버퍼 길이들을 초기화
extern DWORD buffer_size ( LPBUFFER buffer ) ; // <EFBFBD> <EFBFBD> <EFBFBD> ۿ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
extern int buffer_has_space ( LPBUFFER buffer ) ; // <EFBFBD> <EFBFBD> <20> <> <20> ִ<EFBFBD> <20> <> <EFBFBD> ̸<EFBFBD> <20> <> <EFBFBD> <EFBFBD>
extern DWORD buffer_size ( LPBUFFER buffer ) ; // 버퍼에 남은 길이
extern int buffer_has_space ( LPBUFFER buffer ) ; // 쓸 수 있는 길이를 리턴
extern void buffer_write ( LPBUFFER & buffer , const void * src , int length ) ; // <EFBFBD> <EFBFBD> <EFBFBD> ۿ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> .
extern void buffer_read ( LPBUFFER buffer , void * buf , int bytes ) ; // <EFBFBD> <EFBFBD> <EFBFBD> ۿ<EFBFBD> <EFBFBD> <EFBFBD> <20> д´ <D0B4> .
extern void buffer_write ( LPBUFFER & buffer , const void * src , int length ) ; // 버퍼에 쓴다 .
extern void buffer_read ( LPBUFFER buffer , void * buf , int bytes ) ; // 버퍼에서 읽는다 .
extern BYTE buffer_get_byte ( LPBUFFER buffer ) ;
extern WORD buffer_get_word ( LPBUFFER buffer ) ;
extern DWORD buffer_get_dword ( LPBUFFER buffer ) ;
// buffer_proceed <EFBFBD> Լ<EFBFBD> <EFBFBD> <EFBFBD> buffer_peek<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> б <EFBFBD> <D0B1> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> Ƽ <DEBE> <20> <> <20> ʿ䰡
// <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ó<> <C3B3> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <EFBFBD> ó<> <C3B3> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ٰ<EFBFBD> <20> 뺸<EFBFBD> ؾ<EFBFBD> <20> <> <20> <> <20> <> <EFBFBD> <EFBFBD> .
// (buffer_read, buffer_get_* <EFBFBD> ø<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> 쿡<EFBFBD> <ECBFA1> <20> ˾Ƽ <CBBE> ó<> <C3B3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> peek<65> <6B> <EFBFBD> <EFBFBD> ó<> <C3B3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
// <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <EFBFBD> <D7B7> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ƿ<EFBFBD> )
extern const void * buffer_read_peek ( LPBUFFER buffer ) ; // <EFBFBD> д<EFBFBD> <20> <> ġ<EFBFBD> <C4A1> <20> <> <EFBFBD> <EFBFBD>
extern void buffer_read_proceed ( LPBUFFER buffer , int length ) ; // length<EFBFBD> <EFBFBD> ŭ<EFBFBD> <EFBFBD> ó<> <C3B3> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
// buffer_proceed 함수는 buffer_peek으로 읽기용 포인터를 리턴 받아서 쓸 필요가
// 있을 때 처리가 끝나면 얼마나 처리가 끝났다고 통보해야 할 때 쓴다 .
// (buffer_read, buffer_get_* 시리즈의 경우에는 알아서 처리되지만 peek으로 처리했을
// 때는 그렇게 될 수가 없으므로 )
extern const void * buffer_read_peek ( LPBUFFER buffer ) ; // 읽는 위치를 리턴
extern void buffer_read_proceed ( LPBUFFER buffer , int length ) ; // length만큼의 처리가 끝남
// <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> write_peek<EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> ġ<EFBFBD> <C4A1> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <EFBFBD> <20> 質 <20> 뺸<EFBFBD> <EBBAB8> <20> <>
// buffer_write_proceed<EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD> .
extern void * buffer_write_peek ( LPBUFFER buffer ) ; // <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> ġ<EFBFBD> <C4A1> <20> <> <EFBFBD> <EFBFBD>
extern void buffer_write_proceed ( LPBUFFER buffer , int length ) ; // length<EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> Ų<EFBFBD> <C5B2> .
// 마찬가지로 write_peek으로 쓰기 위치를 얻어온 다음 얼마나 썼나 통보할 때
// buffer_write_proceed를 사용한다 .
extern void * buffer_write_peek ( LPBUFFER buffer ) ; // 쓰는 위치를 리턴
extern void buffer_write_proceed ( LPBUFFER buffer , int length ) ; // length만 증가 시킨다 .
extern void buffer_adjust_size ( LPBUFFER & buffer , int add_size ) ; // add_size<EFBFBD> <EFBFBD> ŭ <20> ߰<EFBFBD> <DFB0> <EFBFBD> ũ<> ⸦ Ȯ<> <C8AE>
extern void buffer_adjust_size ( LPBUFFER & buffer , int add_size ) ; // add_size만큼 추가할 크기를 확보
# endif