1 /* This file is part of the Project Athena Zephyr Notification System. 2 * It contains source for ZPeekPacket function. 3 * 4 * Created by: Robert French 5 * 6 * Copyright (c) 1987 by the Massachusetts Institute of Technology. 7 * For copying and distribution information, see the file 8 * "mit-copyright.h". 9 */ 10 11 #include "internal.h" 12 ZPeekPacket(buffer,ret_len,from)13Code_t ZPeekPacket(buffer, ret_len, from) 14 char **buffer; 15 int *ret_len; 16 struct sockaddr_in *from; 17 { 18 Code_t retval; 19 struct _Z_InputQ *nextq; 20 21 if ((retval = Z_WaitForComplete()) != ZERR_NONE) 22 return (retval); 23 24 nextq =Z_GetFirstComplete(); 25 26 *ret_len = nextq->packet_len; 27 28 if (!(*buffer = (char *) malloc((unsigned) *ret_len))) 29 return (ENOMEM); 30 31 (void) memcpy(*buffer, nextq->packet, *ret_len); 32 33 if (from) 34 *from = nextq->from; 35 36 return (ZERR_NONE); 37 } 38