Conflicts: openair1/PHY/INIT/lte_init.c openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c openair1/PHY/LTE_TRANSPORT/dci.c openair1/PHY/LTE_TRANSPORT/dci_tools.c openair1/PHY/LTE_TRANSPORT/dlsch_coding.c openair1/PHY/LTE_TRANSPORT/edci.c openair1/PHY/LTE_TRANSPORT/if4_tools.c openair1/PHY/LTE_TRANSPORT/prach.c openair1/PHY/LTE_TRANSPORT/print_stats.c openair1/PHY/LTE_TRANSPORT/pucch.c openair1/PHY/LTE_TRANSPORT/transport_eNB.h openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h openair1/PHY/impl_defs_lte.h openair1/SCHED/fapi_l1.c openair1/SCHED/phy_procedures_lte_eNb.c openair2/COMMON/rrc_messages_types.h openair2/ENB_APP/enb_config.c openair2/ENB_APP/enb_paramdef.h openair2/LAYER2/MAC/config.c openair2/LAYER2/MAC/defs.h openair2/LAYER2/MAC/eNB_scheduler.c openair2/LAYER2/MAC/eNB_scheduler_RA.c openair2/LAYER2/MAC/eNB_scheduler_bch.c openair2/LAYER2/MAC/eNB_scheduler_dlsch.c openair2/LAYER2/MAC/eNB_scheduler_primitives.c openair2/LAYER2/MAC/eNB_scheduler_ulsch.c openair2/LAYER2/MAC/pre_processor.c openair2/LAYER2/MAC/rar_tools.c openair2/LAYER2/MAC/ue_procedures.c openair2/PHY_INTERFACE/IF_Module.c openair2/RRC/LITE/rrc_common.c openair2/RRC/LTE/L2_interface_ue.c openair2/RRC/LTE/MESSAGES/asn1_msg.c openair2/RRC/LTE/rrc_eNB.c targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp targets/RT/USER/lte-enb.c targets/RT/USER/lte-ru.c
55 lines
1.7 KiB
C
Executable File
55 lines
1.7 KiB
C
Executable File
#ifndef _UTILS_H_
|
|
#define _UTILS_H_
|
|
|
|
void new_thread(void *(*f)(void *), void *data);
|
|
void sleepms(int ms);
|
|
void bps(char *out, float v, char *suffix);
|
|
|
|
/****************************************************************************/
|
|
/* list */
|
|
/****************************************************************************/
|
|
|
|
typedef struct list {
|
|
struct list *last, *next;
|
|
void *data;
|
|
} list;
|
|
|
|
list *list_remove_head(list *l);
|
|
list *list_append(list *l, void *data);
|
|
|
|
/****************************************************************************/
|
|
/* socket */
|
|
/****************************************************************************/
|
|
|
|
#define DEFAULT_REMOTE_IP "127.0.0.1"
|
|
#define DEFAULT_REMOTE_PORT 2021
|
|
|
|
int create_listen_socket(char *addr, int port);
|
|
int socket_accept(int s);
|
|
/* socket_send: return 0 if okay, -1 on error */
|
|
int socket_send(int socket, void *buffer, int size);
|
|
int get_connection(char *addr, int port);
|
|
/* fullread: return length read if okay (that is: 'count'), -1 on error */
|
|
int fullread(int fd, void *_buf, int count);
|
|
int try_connect_to(char *addr, int port);
|
|
int connect_to(char *addr, int port);
|
|
|
|
/****************************************************************************/
|
|
/* buffer */
|
|
/****************************************************************************/
|
|
|
|
typedef struct {
|
|
int osize;
|
|
int omaxsize;
|
|
char *obuf;
|
|
} OBUF;
|
|
|
|
void PUTC(OBUF *o, char c);
|
|
void PUTS(OBUF *o, char *s);
|
|
void PUTS_CLEAN(OBUF *o, char *s);
|
|
void PUTI(OBUF *o, int i);
|
|
void PUTX2(OBUF *o, int i);
|
|
void PUTUL(OBUF *o, unsigned long i);
|
|
|
|
#endif /* _UTILS_H_ */
|