<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: понять &apos;struct proto&apos; и &apos;struct proto_ops&apos; в ядре</title>
    <link>https://opennet.me/openforum/vsluhforumID9/9901.html</link>
    <description>Приветствую,&lt;br&gt;&lt;br&gt;Пытаюсь разобраться в коде tcp/ip в ядре (2.6.35), конкретно - socket layer. &lt;br&gt;&lt;br&gt;&lt;br&gt;Я понимаю, что proto_ops нужна для определения операций на сокете, например bind/connect/accept, и каждый сокет (struct sock) имеет указатель на proto_ops.&lt;br&gt;&lt;br&gt;Кроме того, есть также struct proto, который описывает новый протокол, эта структура также содержит указатели на методы для accept/bind/setsockopt/getsockopt и пр.&lt;br&gt;&lt;br&gt;Но нигде в коде в $linux/net/ я не встретил примененения методов определенных в &apos;struct proto&apos;, кем и где они задействованы?&lt;br&gt;&lt;br&gt;Буду признателен за пояснения. Спасибо.&lt;br&gt;</description>

<item>
    <title>понять &apos;struct proto&apos; и &apos;struct proto_ops&apos; в ядре (pavlinux)</title>
    <link>https://opennet.me/openforum/vsluhforumID9/9901.html#1</link>
    <pubDate>Sun, 07 Sep 2014 14:21:18 GMT</pubDate>
    <description>&amp;gt; Но нигде в коде в $linux/net/ я не встретил&lt;br&gt;&lt;br&gt;net/core/sock.c&lt;br&gt;&lt;br&gt;&#091;code&#093;&lt;br&gt;int sock_common_recvmsg(struct kiocb *iocb, struct socket *sock,&lt;br&gt;                         struct msghdr *msg, size_t size, int flags)&lt;br&gt;&#123;&lt;br&gt;        struct sock *sk = sock-&amp;gt;sk;&lt;br&gt;        int addr_len = 0;&lt;br&gt;        int err;&lt;br&gt;&lt;br&gt;        /* тута есть */   &lt;br&gt;        err = sk-&amp;gt;sk_prot-&amp;gt;recvmsg(iocb, sk, msg, size, flags &amp; MSG_DONTWAIT, flags &amp; ~MSG_DONTWAIT, &amp;addr_len);&lt;br&gt;         if (err &amp;gt;= 0)&lt;br&gt;                 msg-&amp;gt;msg_namelen = addr_len;&lt;br&gt;         return err;&lt;br&gt;&#125;&lt;br&gt;&#091;/code&#093;&lt;br&gt;&amp;gt; примененения методов определенных в &apos;struct proto&apos;, кем и где они задействованы?&lt;br&gt;&lt;br&gt;Начинай ковырять с функции sk_alloc()&lt;br&gt;</description>
</item>

</channel>
</rss>
