libosmogsm 1.9.0.196-9975
Osmocom GSM library
iuup.h File Reference
#include <stdint.h>
#include <osmocom/core/prim.h>
#include <osmocom/gsm/protocol/gsm_25_415.h>

Go to the source code of this file.

Data Structures

struct  osmo_iuup_tnl_prim
 
struct  osmo_iuup_rnl_config_timer
 
struct  osmo_iuup_rfci
 
struct  osmo_iuup_rnl_config
 
struct  osmo_iuup_rnl_data
 
struct  osmo_iuup_rnl_status
 
struct  osmo_iuup_rnl_prim
 

Macros

#define IUUP_MAX_SUBFLOWS   7
 
#define IUUP_MAX_RFCIS   64
 
#define IUUP_TIMER_INIT_T_DEFAULT   1000
 
#define IUUP_TIMER_TA_T_DEFAULT   500
 
#define IUUP_TIMER_RC_T_DEFAULT   500
 
#define IUUP_TIMER_INIT_N_DEFAULT   3
 
#define IUUP_TIMER_TA_N_DEFAULT   1
 
#define IUUP_TIMER_RC_N_DEFAULT   1
 

Enumerations

enum  osmo_iuup_tnl_prim_type { OSMO_IUUP_TNL_UNITDATA }
 
enum  osmo_iuup_rnl_prim_type {
  OSMO_IUUP_RNL_CONFIG ,
  OSMO_IUUP_RNL_DATA ,
  OSMO_IUUP_RNL_STATUS ,
  OSMO_IUUP_RNL_UNIT_DATA
}
 

Functions

struct osmo_iuup_instanceosmo_iuup_instance_alloc (void *ctx, const char *id)
 
void osmo_iuup_instance_free (struct osmo_iuup_instance *iui)
 
void osmo_iuup_instance_set_user_prim_cb (struct osmo_iuup_instance *iui, osmo_prim_cb func, void *priv)
 
void osmo_iuup_instance_set_transport_prim_cb (struct osmo_iuup_instance *iui, osmo_prim_cb func, void *priv)
 
int osmo_iuup_tnl_prim_up (struct osmo_iuup_instance *iui, struct osmo_iuup_tnl_prim *itp)
 
int osmo_iuup_rnl_prim_down (struct osmo_iuup_instance *inst, struct osmo_iuup_rnl_prim *irp)
 
int osmo_iuup_compute_header_crc (const uint8_t *iuup_pdu, unsigned int pdu_len)
 
int osmo_iuup_compute_payload_crc (const uint8_t *iuup_pdu, unsigned int pdu_len)
 
struct osmo_iuup_rnl_primosmo_iuup_rnl_prim_alloc (void *ctx, unsigned int primitive, unsigned int operation, unsigned int size)
 
struct osmo_iuup_tnl_primosmo_iuup_tnl_prim_alloc (void *ctx, unsigned int primitive, unsigned int operation, unsigned int size)
 

Macro Definition Documentation

◆ IUUP_MAX_RFCIS

#define IUUP_MAX_RFCIS   64

◆ IUUP_MAX_SUBFLOWS

#define IUUP_MAX_SUBFLOWS   7

◆ IUUP_TIMER_INIT_N_DEFAULT

#define IUUP_TIMER_INIT_N_DEFAULT   3

◆ IUUP_TIMER_INIT_T_DEFAULT

#define IUUP_TIMER_INIT_T_DEFAULT   1000

◆ IUUP_TIMER_RC_N_DEFAULT

#define IUUP_TIMER_RC_N_DEFAULT   1

◆ IUUP_TIMER_RC_T_DEFAULT

#define IUUP_TIMER_RC_T_DEFAULT   500

◆ IUUP_TIMER_TA_N_DEFAULT

#define IUUP_TIMER_TA_N_DEFAULT   1

◆ IUUP_TIMER_TA_T_DEFAULT

#define IUUP_TIMER_TA_T_DEFAULT   500

Enumeration Type Documentation

◆ osmo_iuup_rnl_prim_type

Enumerator
OSMO_IUUP_RNL_CONFIG 
OSMO_IUUP_RNL_DATA 
OSMO_IUUP_RNL_STATUS 
OSMO_IUUP_RNL_UNIT_DATA 

◆ osmo_iuup_tnl_prim_type

Enumerator
OSMO_IUUP_TNL_UNITDATA 

Function Documentation

◆ osmo_iuup_compute_header_crc()

int osmo_iuup_compute_header_crc ( const uint8_t *  iuup_pdu,
unsigned int  pdu_len 
)

◆ osmo_iuup_compute_payload_crc()

int osmo_iuup_compute_payload_crc ( const uint8_t *  iuup_pdu,
unsigned int  pdu_len 
)

◆ osmo_iuup_instance_alloc()

struct osmo_iuup_instance * osmo_iuup_instance_alloc ( void *  ctx,
const char *  id 
)

◆ osmo_iuup_instance_free()

void osmo_iuup_instance_free ( struct osmo_iuup_instance iui)

◆ osmo_iuup_instance_set_transport_prim_cb()

void osmo_iuup_instance_set_transport_prim_cb ( struct osmo_iuup_instance iui,
osmo_prim_cb  func,
void *  priv 
)

◆ osmo_iuup_instance_set_user_prim_cb()

void osmo_iuup_instance_set_user_prim_cb ( struct osmo_iuup_instance iui,
osmo_prim_cb  func,
void *  priv 
)

◆ osmo_iuup_rnl_prim_alloc()

struct osmo_iuup_rnl_prim * osmo_iuup_rnl_prim_alloc ( void *  ctx,
unsigned int  primitive,
unsigned int  operation,
unsigned int  size 
)

◆ osmo_iuup_rnl_prim_down()

◆ osmo_iuup_tnl_prim_alloc()

struct osmo_iuup_tnl_prim * osmo_iuup_tnl_prim_alloc ( void *  ctx,
unsigned int  primitive,
unsigned int  operation,
unsigned int  size 
)

◆ osmo_iuup_tnl_prim_up()