aboutsummaryrefslogtreecommitdiff
path: root/sys/netipx/ipx_pcb.h
Commit message (Collapse)AuthorAgeFilesLines
* Use ANSI C function declarations throughout netipx.Robert Watson2007-05-111-5/+4
| | | | | | | Remove 'register' use. Notes: svn path=/head/; revision=169463
* Reduce network stack oddness: implement .pru_sockaddr and .pru_peeraddrRobert Watson2007-05-111-2/+2
| | | | | | | | | | | protocol entry points using functions named proto_getsockaddr and proto_getpeeraddr rather than proto_setsockaddr and proto_setpeeraddr. While it's true that sockaddrs are allocated and set, the net effect is to retrieve (get) the socket address or peer address from a socket, not set it, so align names to that intent. Notes: svn path=/head/; revision=169462
* Factor out UCB and my copyrights from copyrights of Mike Mitchell;Robert Watson2007-01-081-2/+29
| | | | | | | | | | the former use a three-clause BSD license (per UCB authorization letter), whereas he uses a four-clause BSD license. MFC after: 3 days Notes: svn path=/head/; revision=165899
* Add a new ipxpcb flag, IPXP_SPX, which is set on ipxpcb's to mark themRobert Watson2006-03-261-0/+1
| | | | | | | | | | | | | as belonging to SPX. This replaces the implicit assumption that the cb pointer for non-SPX pcb's will be NULL. This isn't required in TCP/IP as different pcb lists are maintained for different IP protocols; IPX stores all pcbs on the same global ipxpcb_list. Foot provided by: gnn MFC after: 1 month Notes: svn path=/head/; revision=157145
* Rework IPX/SPX socket and pcb reference model:Robert Watson2006-03-251-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Introduce invariant that all IPX/SPX sockets will have valid so_pcb pointers to ipxpcb structures, and that for SPX, the control block pointer will always be valid. Don't attempt to free the socket or pcb at various odd points, such as disconnect. - Add a new ipxpcb flag, IPXP_DROPPED, which will be set in place of freeing PCB's so that this invariant can be maintained. This flag is now checked instead of a NULL check in various socket protocol calls. - Introduce many assertions that this invariant holds. - Various pieces of code, such as the SPX timer code, no longer needs to jump through hoops in case it frees a PCB while running. - Break out ipx_pcbfree() from ipx_pcbdetach(). Likewise spx_pcbdetach(). - Comment on some SMP-related limitations to the SPX code. - Update copyrights. MFC after: 1 month Notes: svn path=/head/; revision=157128
* Move spx_savesi from being a global variable to an automatically allocatedRobert Watson2006-03-231-2/+2
| | | | | | | | | | | variable on the spx_input() stack. It's not very large, and this will avoid parallelism issues when spx_input() runs in more than one thread at a time. MFC after: 1 month Notes: svn path=/head/; revision=157051
* Introduce a global mutex, ipxpcb_list_mtx, to protect the globalRobert Watson2005-01-091-1/+19
| | | | | | | | | | | | | | | IPX PCB lists. Add macros to initialize, destroy, lock, unlock, and assert the mutex. Initialize the mutex when IPX is started. Add per-IPX PCB mutexes, ipxp_mtx in struct ipxpcb, to protect per-PCB IPX/SPX state. Add macros to initialize, destroy, lock, unlock, and assert the mutex. Initialize the mutex when a new PCB is allocated; destroy it when the PCB is free'd. MFC after: 2 weeks Notes: svn path=/head/; revision=139925
* /* -> /*- for license, minor formatting changesWarner Losh2005-01-071-1/+1
| | | | Notes: svn path=/head/; revision=139823
* Extern declaration of old 'ipxpcb' list head no longer required.Robert Watson2005-01-021-2/+0
| | | | Notes: svn path=/head/; revision=139585
* Convert netipx to use queue(9) doubly-linked lists instead of home-brewRobert Watson2004-12-301-4/+10
| | | | | | | linked lists for ipxpcb's. Notes: svn path=/head/; revision=139444
* Garbage collect unused (and incompletely implemented) functions:Robert Watson2004-12-301-3/+0
| | | | | | | | | | | - ipx_pcbnotify(), which is never called. - ipx_rtchange(), which is never called, is incomplete inplemented, and also #ifdef notdef. - spx_fixmtu(), which is never called, is incompletely implemented, and also #ifdef notdef. Notes: svn path=/head/; revision=139443
* Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,Jens Schweikhardt2003-01-011-1/+1
| | | | | | | especially in troff files. Notes: svn path=/head/; revision=108533
* Remove __P.Alfred Perlstein2002-03-201-13/+13
| | | | Notes: svn path=/head/; revision=92745
* KSE Milestone 2Julian Elischer2001-09-121-3/+3
| | | | | | | | | | | | | | | | | Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process. Sorry john! (your next MFC will be a doosie!) Reviewed by: peter@freebsd.org, dillon@freebsd.org X-MFC after: ha ha ha ha Notes: svn path=/head/; revision=83366
* Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"Peter Wemm1999-12-291-2/+2
| | | | | | | | | is an application space macro and the applications are supposed to be free to use it as they please (but cannot). This is consistant with the other BSD's who made this change quite some time ago. More commits to come. Notes: svn path=/head/; revision=55205
* Get rid of the old XNS checksum code and implement it the IPX way.John Hay1999-08-281-0/+1
| | | | | | | | PR: 13374 Submitted by: Boris Popov <bp@butya.kz> Notes: svn path=/head/; revision=50519
* $Id$ -> $FreeBSD$Peter Wemm1999-08-281-1/+1
| | | | Notes: svn path=/head/; revision=50477
* Fix all areas of the system (or at least all those in LINT) to avoid storingGarrett Wollman1997-08-161-5/+5
| | | | | | | | | | | socket addresses in mbufs. (Socket buffers are the one exception.) A number of kernel APIs needed to get fixed in order to make this happen. Also, fix three protocol families which kept PCBs in mbufs to not malloc them instead. Delete some old compatibility cruft while we're at it, and add some new routines in the in_cksum family. Notes: svn path=/head/; revision=28270
* Removed the #ifdef IPXERRORMSGS'ed code. Fix a lot of style errors that IJohn Hay1997-06-261-2/+2
| | | | | | | | introduced with the previous commit. Style fixes Submitted by: Bruce Evans <bde@FreeBSD.ORG> Notes: svn path=/head/; revision=26965
* Mega IPX commit.John Hay1997-05-101-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the MAC address of an interface for the host part of an IPX address and not the MAC address of the first interface for every IPX address. This is more inline with the way others like Novell do it. Mostly Submitted by: "Serge A. Babkin" <babkin@hq.icb.chel.su> Take out the error messages (the ip icmp equivalent) with #ifdef IPXERRORMSGS. This is bogus and as far as I could figure out IPX don't have anything like it. This is a leftover from its XNS heritage. If nobody complains, I will take it out completely in a few weeks. Add some more ipxstat statistics counters. Make ipxprintfs a sysctl variable and off by default. Add IPX Netbios "routing" support. This is off by default and can be switched on with a sysctl knob. General code cleanup to at least use the same style throughout the IPX code, but also be more style(9) conformant. Also make a lot of functions static. If I don't get any complaints I'll bring all of this over to the 2.2 tree in a few weeks. Notes: svn path=/head/; revision=25652
* Make ipx compile again after the network interface changes.John Hay1997-05-011-4/+7
| | | | Notes: svn path=/head/; revision=25345
* Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are notPeter Wemm1997-02-221-1/+1
| | | | | | | ready for it yet. Notes: svn path=/head/; revision=22975
* Make the long-awaited change from $Id$ to $FreeBSD$Jordan K. Hubbard1997-01-141-1/+1
| | | | | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise. Notes: svn path=/head/; revision=21673
* Enlarge the transmit and receive bufferspace of ipx. Make it tweakableJohn Hay1996-11-241-3/+3
| | | | | | | with sysctl. Notes: svn path=/head/; revision=19947
* Cleaned up prototypes:Bruce Evans1995-11-241-19/+14
| | | | | | | | | | | | | | | - don't #include other headers just to get struct names. - don't use __BEGIN_DECLS/__END_DECLS for system prototypes. It is for user prototypes. - don't use extern. - don't use lines longer than 80 columns. - use alphabetical order. - use tabs. Uniformized idempotency ifdefs. Notes: svn path=/head/; revision=12470
* Suggested by: bdeJulian Elischer1995-11-041-1/+3
| | | | | | | clear up some confusion about Id: lines on behalf of the author Notes: svn path=/head/; revision=12057
* Submitted by: Mike Mitchell (mitchell@ref.tfs.com)Julian Elischer1995-10-311-2/+2
| | | | | | | | these patches bring the ipx code up to the point that it compiles cleanly with the -W arguments suggested by bruce. Notes: svn path=/head/; revision=11991
* Submitted by: Mike MitchellJulian Elischer1995-10-311-4/+16
| | | | | | | | revise prototypes etc. cleanups (probably more coming) Notes: svn path=/head/; revision=11947
* Reviewed by: julian and jhay@mikom.csir.co.zaJulian Elischer1995-10-261-0/+88
Submitted by: Mike Mitchell, supervisor@alb.asctmd.com This is a bulk mport of Mike's IPX/SPX protocol stacks and all the related gunf that goes with it.. it is not guaranteed to work 100% correctly at this time but as we had several people trying to work on it I figured it would be better to get it checked in so they could all get teh same thing to work on.. Mikes been using it for a year or so but on 2.0 more changes and stuff will be merged in from other developers now that this is in. Mike Mitchell, Network Engineer AMTECH Systems Corporation, Technology and Manufacturing 8600 Jefferson Street, Albuquerque, New Mexico 87113 (505) 856-8000 supervisor@alb.asctmd.com Notes: svn path=/head/; revision=11819