Changeset 9442c1b9bad3426ece07edc7fa2dca7464fc302a

Show
Ignore:
Timestamp:
02/20/10 00:38:20 (5 months ago)
Author:
Holger Hans Peter Freyther <zecke@selfish.org>
Parents:
4d2d95b35addba99a7927041554d50ed7452fd7c, e2c5028dc4ca8b3f9f4846b658a9b80ec3e70f4d
Children:
dfe6c7d910edbba238751d0cfddbb627bb08ef54
git-committer:
Holger Hans Peter Freyther <zecke@selfish.org> / 2010-02-20T00:38:20Z+0100
Message:

Merge branch 'on-waves/sccp'

Location:
openbsc
Files:
2 added
20 modified

Legend:

Unmodified
Added
Removed
  • openbsc/src/sccp/sccp.c

    r62c87b5 r9442c1b  
    210210                        offsetof(struct sccp_connection_request, variable_called); 
    211211 
    212         struct sccp_connection_request *req = (struct sccp_connection_request *)msgb->data; 
     212        struct sccp_connection_request *req = (struct sccp_connection_request *)msgb->l2h; 
    213213        struct sccp_optional_data optional_data; 
    214214 
  • openbsc/Makefile.am

    r13e10da r5e6f52f  
    55 
    66pkgconfigdir = $(libdir)/pkgconfig 
    7 pkgconfig_DATA = openbsc.pc 
     7pkgconfig_DATA = openbsc.pc liblaf0rge1.pc libsccp.pc 
    88 
    99#dist-hook: 
  • openbsc/configure.in

    rac96770 r5e6f52f  
    3939AC_OUTPUT( 
    4040    openbsc.pc 
     41    liblaf0rge1.pc 
     42    libsccp.pc 
    4143    include/openbsc/Makefile 
    4244    include/vty/Makefile 
  • openbsc/include/openbsc/Makefile.am

    rffa55a4 r1fdbf40  
    1 noinst_HEADERS = abis_nm.h abis_rsl.h debug.h db.h gsm_04_08.h gsm_data.h \ 
    2                  gsm_subscriber.h linuxlist.h msgb.h select.h tlv.h gsm_04_11.h \ 
     1noinst_HEADERS = abis_nm.h abis_rsl.h db.h gsm_04_08.h gsm_data.h \ 
     2                 gsm_subscriber.h gsm_04_11.h \ 
    33                 timer.h misdn.h chan_alloc.h telnet_interface.h paging.h \ 
    4                  subchan_demux.h trau_frame.h e1_input.h trau_mux.h signal.h \ 
     4                 subchan_demux.h trau_frame.h e1_input.h trau_mux.h \ 
    55                 gsm_utils.h ipaccess.h rs232.h openbscdefines.h rtp_proxy.h \ 
    6                  bsc_rll.h mncc.h talloc.h transaction.h ussd.h gsm_04_80.h \ 
     6                 bsc_rll.h mncc.h transaction.h ussd.h gsm_04_80.h \ 
    77                 silent_call.h mgcp.h meas_rep.h bitvec.h rest_octets.h \ 
    88                 system_information.h handover.h statistics.h 
     9 
     10laforge_HEADERS = signal.h linuxlist.h timer.h talloc.h msgb.h select.h tlv.h \ 
     11                  debug.h 
     12laforgedir= $(includedir)/laf0rge1 
     13 
     14openbsc_HEADERS = gsm_04_08.h meas_rep.h 
     15openbscdir = $(includedir)/openbsc 
  • openbsc/include/openbsc/ipaccess.h

    r0183edd rd3d5be1  
    4949struct msgb *ipaccess_read_msg(struct bsc_fd *bfd, int *error); 
    5050void ipaccess_prepend_header(struct msgb *msg, int proto); 
     51int ipaccess_send_id_ack(int fd); 
     52int ipaccess_send_id_req(int fd); 
     53 
     54int ipaccess_idtag_parse(struct tlv_parsed *dec, unsigned char *buf, int len); 
     55 
    5156 
    5257/* 
  • openbsc/include/openbsc/msgb.h

    rcbbd498 r6d89dac  
    2121 */ 
    2222 
    23 #include <openbsc/linuxlist.h> 
     23#include <sys/types.h> 
     24#include "linuxlist.h" 
    2425 
    2526struct bts_link; 
  • openbsc/include/openbsc/select.h

    r13e10da r245d17b  
    22#define _BSC_SELECT_H 
    33 
    4 #include <openbsc/linuxlist.h> 
     4#include "linuxlist.h" 
    55 
    66#define BSC_FD_READ     0x0001 
  • openbsc/include/openbsc/telnet_interface.h

    rb61e3b2 rf5b36ca  
    2828#include <vty/vty.h> 
    2929 
    30 #define TELNET_COMMAND_48       1 
    31 #define TELNET_COMMAND_11       2 
    32  
    3330struct telnet_connection { 
    3431        struct llist_head entry; 
  • openbsc/include/openbsc/tlv.h

    r50781488 r701d175  
    2323#define TLV16_GROSS_LEN(x)      ((2*x)+2) 
    2424#define TL16V_GROSS_LEN(x)      (x+3) 
     25#define L16TV_GROSS_LEN(x)      (x+3) 
    2526 
    2627#define TVLV_MAX_ONEBYTE        0x7f 
     
    104105        u_int8_t *buf = msgb_put(msg, TVLV_GROSS_LEN(len)); 
    105106        return tvlv_put(buf, tag, len, val); 
     107} 
     108 
     109static inline u_int8_t *msgb_l16tv_put(struct msgb *msg, u_int16_t len, u_int8_t tag, 
     110                                       const u_int8_t *val) 
     111{ 
     112        u_int8_t *buf = msgb_put(msg, L16TV_GROSS_LEN(len)); 
     113 
     114        *buf++ = len >> 8; 
     115        *buf++ = len & 0xff; 
     116        *buf++ = tag; 
     117        memcpy(buf, val, len); 
     118        return buf + len; 
    106119} 
    107120 
  • openbsc/include/sccp/Makefile.am

    rac96770 r5e6f52f  
    1 noinst_HEADERS = sccp_types.h sccp.h 
     1sccp_HEADERS = sccp_types.h sccp.h 
     2sccpdir = $(includedir)/sccp 
  • openbsc/include/sccp/sccp.h

    r82da7fc r7184c2d  
    2828 
    2929#include <sys/socket.h> 
    30  
    31 #include <openbsc/msgb.h> 
     30#include <sys/types.h> 
    3231 
    3332#include "sccp_types.h" 
    3433 
     34struct msgb; 
    3535struct sccp_system; 
    3636 
  • openbsc/openbsc.pc.in

    r13e10da r1fdbf40  
    22exec_prefix=@exec_prefix@ 
    33libdir=@libdir@ 
    4 includedir=@includedir@/openbsc-1.0 
     4includedir=@includedir@/ 
    55 
    66Name: OpenBSC 
  • openbsc/src/Makefile.am

    re095502 rc64d9f7  
    44sbin_PROGRAMS = bsc_hack bs11_config ipaccess-find ipaccess-config \ 
    55                isdnsync bsc_mgcp ipaccess-proxy 
    6 noinst_LIBRARIES = libbsc.a libmsc.a libvty.a libsccp.a 
     6noinst_LIBRARIES = libbsc.a libmsc.a libvty.a 
    77noinst_HEADERS = vty/cardshell.h 
    88 
     9bscdir = $(libdir) 
     10bsc_LIBRARIES = liblaf0rge1.a libsccp.a 
     11 
     12liblaf0rge1_a_SOURCES = msgb.c timer.c talloc.c select.c signal.c debug.c 
     13 
    914libbsc_a_SOURCES = abis_rsl.c abis_nm.c gsm_data.c gsm_04_08_utils.c \ 
    10                 msgb.c select.c chan_alloc.c timer.c debug.c \ 
     15                chan_alloc.c \ 
    1116                gsm_subscriber_base.c subchan_demux.c bsc_rll.c transaction.c \ 
    1217                trau_frame.c trau_mux.c paging.c e1_config.c e1_input.c tlv_parser.c \ 
    13                 input/misdn.c input/ipaccess.c signal.c gsm_utils.c talloc.c \ 
     18                input/misdn.c input/ipaccess.c signal.c gsm_utils.c \ 
    1419                talloc_ctx.c system_information.c bitvec.c rest_octets.c \ 
    1520                rtp_proxy.c statistics.c bts_siemens_bs11.c bts_ipaccess_nanobts.c \ 
     
    2631 
    2732bsc_hack_SOURCES = bsc_hack.c bsc_init.c vty_interface.c vty_interface_layer3.c 
    28 bsc_hack_LDADD = libmsc.a libbsc.a libmsc.a libvty.a -ldl -ldbi $(LIBCRYPT) 
     33bsc_hack_LDADD = libmsc.a libbsc.a libmsc.a libvty.a liblaf0rge1.a -ldl -ldbi $(LIBCRYPT) 
    2934 
    3035bs11_config_SOURCES = bs11_config.c abis_nm.c gsm_data.c msgb.c debug.c \ 
     
    3540 
    3641ipaccess_config_SOURCES = ipaccess/ipaccess-config.c ipaccess/ipaccess-firmware.c 
    37 ipaccess_config_LDADD = libbsc.a libmsc.a libbsc.a libvty.a -ldl -ldbi $(LIBCRYPT) 
     42ipaccess_config_LDADD = libbsc.a libmsc.a libbsc.a libvty.a liblaf0rge1.a -ldl -ldbi $(LIBCRYPT) 
    3843 
    3944isdnsync_SOURCES = isdnsync.c 
    4045 
    4146bsc_mgcp_SOURCES = mgcp/mgcp_main.c mgcp/mgcp_protocol.c msgb.c talloc.c debug.c select.c timer.c telnet_interface.c 
    42 bsc_mgcp_LDADD = libvty.a 
     47bsc_mgcp_LDADD = libvty.a liblaf0rge1.a 
    4348 
    4449ipaccess_proxy_SOURCES = ipaccess/ipaccess-proxy.c msgb.c select.c talloc.c debug.c timer.c 
  • openbsc/src/bsc_init.c

    r7de6796 rfb0b6fc  
    803803                break; 
    804804        case GSM_BAND_900: 
    805                 if (bts->c0->arfcn < 1 || bts->c0->arfcn > 124) { 
    806                         LOGP(DNM, LOGL_ERROR, "GSM900 channel must be between 1-124.\n"); 
     805                if (bts->c0->arfcn < 1 || 
     806                   (bts->c0->arfcn > 124 && bts->c0->arfcn < 955) || 
     807                    bts->c0->arfcn > 1023)  { 
     808                        LOGP(DNM, LOGL_ERROR, "GSM900 channel must be between 1-124, 955-1023.\n"); 
    807809                        return -EINVAL; 
    808810                } 
  • openbsc/src/input/ipaccess.c

    r7971d3d r4d2d95b  
    9090} 
    9191 
    92 static int ipac_idtag_parse(struct tlv_parsed *dec, unsigned char *buf, int len) 
     92int ipaccess_idtag_parse(struct tlv_parsed *dec, unsigned char *buf, int len) 
    9393{ 
    9494        u_int8_t t_len; 
     
    165165} 
    166166 
     167/* send the id ack */ 
     168int ipaccess_send_id_ack(int fd) 
     169{ 
     170        return write(fd, id_ack, sizeof(id_ack)); 
     171} 
     172 
     173int ipaccess_send_id_req(int fd) 
     174{ 
     175        return write(fd, id_req, sizeof(id_req)); 
     176} 
     177 
    167178/* base handling of the ip.access protocol */ 
    168179int ipaccess_rcvmsg_base(struct msgb *msg, 
     
    181192        case IPAC_MSGT_ID_ACK: 
    182193                DEBUGP(DMI, "ID_ACK? -> ACK!\n"); 
    183                 ret = write(bfd->fd, id_ack, sizeof(id_ack)); 
     194                ret = ipaccess_send_id_ack(bfd->fd); 
    184195                break; 
    185196        } 
     
    202213                DEBUGP(DMI, "ID_RESP "); 
    203214                /* parse tags, search for Unit ID */ 
    204                 ipac_idtag_parse(&tlvp, (u_int8_t *)msg->l2h + 2, 
     215                ipaccess_idtag_parse(&tlvp, (u_int8_t *)msg->l2h + 2, 
    205216                                 msgb_l2len(msg)-2); 
    206217                DEBUGP(DMI, "\n"); 
     
    531542 
    532543        /* Request ID. FIXME: request LOCATION, HW/SW VErsion, Unit Name, Serno */ 
    533         ret = write(bfd->fd, id_req, sizeof(id_req)); 
     544        ret = ipaccess_send_id_req(bfd->fd); 
    534545 
    535546        return ret; 
     
    588599        //bfd->data = line; 
    589600 
     601        if (bfd->fd < 0) { 
     602                LOGP(DINP, LOGL_ERROR, "could not create TCP socket.\n"); 
     603                return -EIO; 
     604        } 
     605 
    590606        memset(&addr, 0, sizeof(addr)); 
    591607        addr.sin_family = AF_INET; 
     
    599615                LOGP(DINP, LOGL_ERROR, "could not bind l2 socket %s\n", 
    600616                        strerror(errno)); 
     617                close(bfd->fd); 
    601618                return -EIO; 
    602619        } 
     
    605622        if (ret < 0) { 
    606623                perror("listen"); 
     624                close(bfd->fd); 
    607625                return ret; 
    608626        } 
     
    611629        if (ret < 0) { 
    612630                perror("register_listen_fd"); 
     631                close(bfd->fd); 
    613632                return ret; 
    614633        } 
     
    629648        bfd->priv_nr = 1; 
    630649 
     650        if (bfd->fd < 0) { 
     651                LOGP(DINP, LOGL_ERROR, "could not create TCP socket.\n"); 
     652                return -EIO; 
     653        } 
     654 
    631655        setsockopt(bfd->fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)); 
    632656 
  • openbsc/tests/db/Makefile.am

    r93d4394 rb19dc28  
    55 
    66db_test_SOURCES = db_test.c 
    7 db_test_LDADD = $(top_builddir)/src/libbsc.a $(top_builddir)/src/libmsc.a $(top_builddir)/src/libbsc.a -ldl -ldbi 
     7db_test_LDADD = $(top_builddir)/src/libbsc.a $(top_builddir)/src/libmsc.a $(top_builddir)/src/libbsc.a $(top_builddir)/src/liblaf0rge1.a -ldl -ldbi 
    88 
  • openbsc/tests/gsm0408/Makefile.am

    r1494a76 rb19dc28  
    33 
    44gsm0408_test_SOURCES = gsm0408_test.c 
    5 gsm0408_test_LDADD = $(top_builddir)/src/libbsc.a $(top_builddir)/src/libmsc.a $(top_builddir)/src/libbsc.a -ldbi 
     5gsm0408_test_LDADD = $(top_builddir)/src/libbsc.a $(top_builddir)/src/libmsc.a $(top_builddir)/src/libbsc.a $(top_builddir)/src/liblaf0rge1.a -ldbi 
  • openbsc/tests/sccp/Makefile.am

    rac96770 rb19dc28  
    55 
    66sccp_test_SOURCES = sccp_test.c 
    7 sccp_test_LDADD = $(top_builddir)/src/libsccp.a $(top_builddir)/src/libbsc.a 
     7sccp_test_LDADD = $(top_builddir)/src/libsccp.a $(top_builddir)/src/libbsc.a $(top_builddir)/src/liblaf0rge1.a 
    88 
  • openbsc/tests/sccp/sccp_test.c

    r6ae6572 r7184c2d  
    2727#include <arpa/inet.h> 
    2828 
    29 #include <sccp/sccp.h> 
    3029#include <openbsc/gsm_data.h> 
    3130#include <openbsc/debug.h> 
     31#include <openbsc/msgb.h> 
     32 
     33#include <sccp/sccp.h> 
    3234 
    3335#define MIN(x, y) ((x) < (y) ? (x) : (y)) 
  • openbsc/tests/sms/Makefile.am

    r93d4394 rb19dc28  
    33 
    44sms_test_SOURCES = sms_test.c 
    5 sms_test_LDADD = $(top_builddir)/src/libmsc.a $(top_builddir)/src/libbsc.a -ldl -ldbi 
     5sms_test_LDADD = $(top_builddir)/src/libmsc.a $(top_builddir)/src/libbsc.a $(top_builddir)/src/liblaf0rge1.a -ldl -ldbi