Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 02a47617 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont Committed by David S. Miller
Browse files

Phonet: implement GPRS virtual interface over PEP socket

parent c41bd97f
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -31,9 +31,17 @@
#define PN_PROTO_PIPE		2
#define PHONET_NPROTO		3

/* Socket options for SOL_PNPIPE level */
#define PNPIPE_ENCAP		1
#define PNPIPE_IFINDEX		2

#define PNADDR_ANY		0
#define PNPORT_RESOURCE_ROUTING	0

/* Values for PNPIPE_ENCAP option */
#define PNPIPE_ENCAP_NONE	0
#define PNPIPE_ENCAP_IP		1

/* ioctls */
#define SIOCPNGETOBJECT		(SIOCPROTOPRIVATE + 0)

+1 −0
Original line number Diff line number Diff line
@@ -297,6 +297,7 @@ struct ucred {
#define SOL_RXRPC	272
#define SOL_PPPOL2TP	273
#define SOL_BLUETOOTH	274
#define SOL_PNPIPE	275

/* IPX options */
#define IPX_TYPE	1
+38 −0
Original line number Diff line number Diff line
/*
 * File: pep_gprs.h
 *
 * GPRS over Phonet pipe end point socket
 *
 * Copyright (C) 2008 Nokia Corporation.
 *
 * Author: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA
 */

#ifndef NET_PHONET_GPRS_H
#define NET_PHONET_GPRS_H

struct sock;
struct sk_buff;

int pep_writeable(struct sock *sk);
int pep_write(struct sock *sk, struct sk_buff *skb);
struct sk_buff *pep_read(struct sock *sk);

int gprs_attach(struct sock *sk);
void gprs_detach(struct sock *sk);

#endif
+1 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ struct pep_sock {
	struct sock		*listener;
	struct sk_buff_head	ctrlreq_queue;
#define PNPIPE_CTRLREQ_MAX	10
	int			ifindex;
	u16			peer_type;	/* peer type/subtype */
	u8			pipe_handle;

+1 −1
Original line number Diff line number Diff line
@@ -8,4 +8,4 @@ phonet-objs := \
	sysctl.o \
	af_phonet.o

pn_pep-objs := pep.o
pn_pep-objs := pep.o pep-gprs.o
Loading