- all RAN code, CI code, configuration files, dockerfiles, in CSSL v1.0
- all deployment code (openshift, charts, ancillary files like shell
scripts), in MIT
- documentation in CC-BY-4.0
- exceptions might apply and are listed in NOTICE
- there is a new LICENSES folder with all licenses
- CONTRIBUTIONS.md has been updated accordingly
For automated changes based on OAI PL v1.1:
perl -i~ -0pe 's/\/\*.*Licensed to the OpenAirInterface.*openairinterface.org\n#?/\/*\n * SPDX-License-Identifier: LicenseRef-CSSL-1.0\n/s' **/*.{c,h,cpp}
perl -i~ -0pe 's/\/\*.*Licensed to the OpenAirInterface.*openairinterface.org\n#?/\/*\n * SPDX-License-Identifier: LicenseRef-CSSL-1.0\n/s' **/*.ts
perl -i~ -0pe 's/<!--.*Licensed to the OpenAirInterface.*openairinterface.org\n.*-->/<!-- SPDX-License-Identifier: LicenseRef-CSSL-1.0 -->/s' **/*.xml
The rest (cmake, files with missing license, cmake) manually.
60 lines
1.8 KiB
C
60 lines
1.8 KiB
C
/*
|
|
* SPDX-License-Identifier: LicenseRef-CSSL-1.0
|
|
*/
|
|
|
|
#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);
|
|
void PUTF(OBUF *o, float f);
|
|
|
|
#endif /* _UTILS_H_ */
|