taglinefilesource code
mapp124include/net/ip_masq.hextern int register_ip_masq_app(struct ip_masq_app *mapp, unsigned short proto, __u16 port);
mapp125include/net/ip_masq.hextern int unregister_ip_masq_app(struct ip_masq_app *mapp);
mapp73net/ipv4/ip_masq_app.cint register_ip_masq_app(struct ip_masq_app *mapp, unsigned short proto, __u16 port)
mapp77net/ipv4/ip_masq_app.cif (!mapp) {
mapp81net/ipv4/ip_masq_app.cmapp->type = IP_MASQ_APP_TYPE(proto, port);
mapp82net/ipv4/ip_masq_app.cmapp->n_attach = 0;
mapp87net/ipv4/ip_masq_app.cmapp->next = ip_masq_app_base[hash];
mapp88net/ipv4/ip_masq_app.cip_masq_app_base[hash] = mapp; 
mapp98net/ipv4/ip_masq_app.cint unregister_ip_masq_app(struct ip_masq_app *mapp)
mapp103net/ipv4/ip_masq_app.cif (!mapp) {
mapp110net/ipv4/ip_masq_app.cif (mapp->n_attach)  {
mapp112net/ipv4/ip_masq_app.cmapp->n_attach);
mapp115net/ipv4/ip_masq_app.chash = IP_MASQ_APP_HASH(IP_MASQ_APP_PROTO(mapp->type), IP_MASQ_APP_PORT(mapp->type));
mapp120net/ipv4/ip_masq_app.cif (mapp == (*mapp_p))  {
mapp121net/ipv4/ip_masq_app.c*mapp_p = mapp->next;
mapp128net/ipv4/ip_masq_app.cmasq_proto_name(IP_MASQ_APP_PROTO(mapp->type)), IP_MASQ_APP_PORT(mapp->type));
mapp138net/ipv4/ip_masq_app.cstruct ip_masq_app *mapp;
mapp145net/ipv4/ip_masq_app.cfor(mapp = ip_masq_app_base[hash]; mapp ; mapp = mapp->next) {
mapp146net/ipv4/ip_masq_app.cif (type == mapp->type) return mapp;
mapp159net/ipv4/ip_masq_app.cstatic __inline__ int ip_masq_app_bind_chg(struct ip_masq_app *mapp, int delta)
mapp163net/ipv4/ip_masq_app.cif (!mapp) return -1;
mapp166net/ipv4/ip_masq_app.cn_at = mapp->n_attach + delta;
mapp170net/ipv4/ip_masq_app.cmasq_proto_name(IP_MASQ_APP_PROTO(mapp->type)),
mapp171net/ipv4/ip_masq_app.cIP_MASQ_APP_PORT(mapp->type));
mapp174net/ipv4/ip_masq_app.cmapp->n_attach = n_at;
mapp186net/ipv4/ip_masq_app.cstruct ip_masq_app * mapp;
mapp187net/ipv4/ip_masq_app.cmapp = ip_masq_app_get(ms->protocol, ms->dport);
mapp188net/ipv4/ip_masq_app.cif (mapp != NULL) {
mapp198net/ipv4/ip_masq_app.cms->app = mapp;
mapp199net/ipv4/ip_masq_app.cif (mapp->masq_init_1) mapp->masq_init_1(mapp, ms);
mapp200net/ipv4/ip_masq_app.cip_masq_app_bind_chg(mapp, +1);
mapp202net/ipv4/ip_masq_app.creturn mapp;
mapp211net/ipv4/ip_masq_app.cstruct ip_masq_app * mapp;
mapp212net/ipv4/ip_masq_app.cmapp = ms->app;
mapp213net/ipv4/ip_masq_app.cif (mapp != NULL) {
mapp214net/ipv4/ip_masq_app.cif (mapp->masq_done_1) mapp->masq_done_1(mapp, ms);
mapp216net/ipv4/ip_masq_app.cip_masq_app_bind_chg(mapp, -1);
mapp218net/ipv4/ip_masq_app.creturn (mapp != NULL);
mapp312net/ipv4/ip_masq_app.cstruct ip_masq_app * mapp;
mapp325net/ipv4/ip_masq_app.cif ( (mapp = ms->app) == NULL)
mapp352net/ipv4/ip_masq_app.cif ( mapp->pkt_out == NULL )
mapp355net/ipv4/ip_masq_app.cdiff = mapp->pkt_out(mapp, ms, skb_p, dev);
mapp375net/ipv4/ip_masq_app.cstruct ip_masq_app * mapp;
mapp388net/ipv4/ip_masq_app.cif ( (mapp = ms->app) == NULL)
mapp415net/ipv4/ip_masq_app.cif ( mapp->pkt_in == NULL )
mapp418net/ipv4/ip_masq_app.cdiff = mapp->pkt_in(mapp, ms, skb_p, dev);
mapp438net/ipv4/ip_masq_app.cstruct ip_masq_app * mapp;
mapp442net/ipv4/ip_masq_app.cfor (mapp = ip_masq_app_base[idx]; mapp ; mapp = mapp->next) {
mapp444net/ipv4/ip_masq_app.cmasq_proto_name(IP_MASQ_APP_PROTO(mapp->type)),
mapp445net/ipv4/ip_masq_app.cIP_MASQ_APP_PORT(mapp->type), mapp->n_attach);
mapp37net/ipv4/ip_masq_ftp.cmasq_ftp_init_1 (struct ip_masq_app *mapp, struct ip_masq *ms)
mapp44net/ipv4/ip_masq_ftp.cmasq_ftp_done_1 (struct ip_masq_app *mapp, struct ip_masq *ms)
mapp51net/ipv4/ip_masq_ftp.cmasq_ftp_out (struct ip_masq_app *mapp, struct ip_masq *ms, struct sk_buff **skb_p, struct device *dev)
mapp38net/ipv4/ip_masq_irc.cmasq_irc_init_1 (struct ip_masq_app *mapp, struct ip_masq *ms)
mapp45net/ipv4/ip_masq_irc.cmasq_irc_done_1 (struct ip_masq_app *mapp, struct ip_masq *ms)
mapp52net/ipv4/ip_masq_irc.cmasq_irc_out (struct ip_masq_app *mapp, struct ip_masq *ms, struct sk_buff **skb_p, struct device *dev)