Skip to content

Commit

Permalink
Phonet: implement GPRS virtual interface over PEP socket
Browse files Browse the repository at this point in the history
Signed-off-by: Rémi Denis-Courmont <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
Rémi Denis-Courmont authored and davem330 committed Oct 5, 2008
1 parent c41bd97 commit 02a4761
Show file tree
Hide file tree
Showing 8 changed files with 550 additions and 16 deletions.
8 changes: 8 additions & 0 deletions include/linux/phonet.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
1 change: 1 addition & 0 deletions include/linux/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
38 changes: 38 additions & 0 deletions include/net/phonet/gprs.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/*
* File: pep_gprs.h
*
* GPRS over Phonet pipe end point socket
*
* Copyright (C) 2008 Nokia Corporation.
*
* Author: Rémi Denis-Courmont <[email protected]>
*
* 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 change: 1 addition & 0 deletions include/net/phonet/pep.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
2 changes: 1 addition & 1 deletion net/phonet/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit 02a4761

Please sign in to comment.