Annotation of embedaddon/miniupnpd/upnppermissions.h, revision 1.1
1.1 ! misho 1: /* $Id: upnppermissions.h,v 1.7 2007/02/28 18:13:18 nanard Exp $ */
! 2: /* MiniUPnP project
! 3: * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
! 4: * (c) 2006 Thomas Bernard
! 5: * This software is subject to the conditions detailed
! 6: * in the LICENCE file provided within the distribution */
! 7:
! 8: #ifndef __UPNPPERMISSIONS_H__
! 9: #define __UPNPPERMISSIONS_H__
! 10:
! 11: #include <sys/types.h>
! 12: #include <sys/socket.h>
! 13: #include <netinet/in.h>
! 14: #include "config.h"
! 15:
! 16: /* UPnP permission rule samples:
! 17: * allow 1024-65535 192.168.3.0/24 1024-65535
! 18: * deny 0-65535 192.168.1.125/32 0-65535 */
! 19: struct upnpperm {
! 20: enum {UPNPPERM_ALLOW=1, UPNPPERM_DENY=2 } type;
! 21: /* is it an allow or deny permission rule ? */
! 22: u_short eport_min, eport_max; /* external port range */
! 23: struct in_addr address, mask; /* ip/mask */
! 24: u_short iport_min, iport_max; /* internal port range */
! 25: };
! 26:
! 27: /* read_permission_line()
! 28: * returns: 0 line read okay
! 29: * -1 error reading line
! 30: *
! 31: * line sample :
! 32: * allow 1024-65535 192.168.3.0/24 1024-65535
! 33: * allow 22 192.168.4.33/32 22
! 34: * deny 0-65535 0.0.0.0/0 0-65535 */
! 35: int
! 36: read_permission_line(struct upnpperm * perm,
! 37: char * p);
! 38:
! 39: /* check_upnp_rule_against_permissions()
! 40: * returns: 0 if the upnp rule should be rejected,
! 41: * 1 if it could be accepted */
! 42: int
! 43: check_upnp_rule_against_permissions(const struct upnpperm * permary,
! 44: int n_perms,
! 45: u_short eport, struct in_addr address,
! 46: u_short iport);
! 47:
! 48: #ifdef USE_MINIUPNPDCTL
! 49: void
! 50: write_permlist(int fd, const struct upnpperm * permary,
! 51: int nperms);
! 52: #endif
! 53:
! 54: #endif
! 55:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>