xref: /netbsd-src/external/gpl3/gcc.old/dist/libobjc/objc-private/protocols.h (revision 8feb0f0b7eaff0608f8350bbfa3098827b4bb91b)
136ac495dSmrg /* GNU Objective C Runtime protocols - Private functions
2*8feb0f0bSmrg    Copyright (C) 2010-2020 Free Software Foundation, Inc.
336ac495dSmrg    Contributed by Nicola Pero <nicola.pero@meta-innovation.com>
436ac495dSmrg 
536ac495dSmrg This file is part of GCC.
636ac495dSmrg 
736ac495dSmrg GCC is free software; you can redistribute it and/or modify it under the
836ac495dSmrg terms of the GNU General Public License as published by the Free Software
936ac495dSmrg Foundation; either version 3, or (at your option) any later version.
1036ac495dSmrg 
1136ac495dSmrg GCC is distributed in the hope that it will be useful, but WITHOUT ANY
1236ac495dSmrg WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
1336ac495dSmrg FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
1436ac495dSmrg details.
1536ac495dSmrg 
1636ac495dSmrg Under Section 7 of GPL version 3, you are granted additional
1736ac495dSmrg permissions described in the GCC Runtime Library Exception, version
1836ac495dSmrg 3.1, as published by the Free Software Foundation.
1936ac495dSmrg 
2036ac495dSmrg You should have received a copy of the GNU General Public License and
2136ac495dSmrg a copy of the GCC Runtime Library Exception along with this program;
2236ac495dSmrg see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
2336ac495dSmrg <http://www.gnu.org/licenses/>.  */
2436ac495dSmrg 
2536ac495dSmrg #ifndef __objc_private_protocols_INCLUDE_GNU
2636ac495dSmrg #define __objc_private_protocols_INCLUDE_GNU
2736ac495dSmrg 
2836ac495dSmrg /* This function needs to be called at startup by init.c.  */
2936ac495dSmrg void
3036ac495dSmrg __objc_protocols_init (void);
3136ac495dSmrg 
3236ac495dSmrg /* This function adds a protocol to the internal hashtable of
3336ac495dSmrg    protocols by name, which allows objc_getProtocol(name) to be
3436ac495dSmrg    implemented efficiently.  */
3536ac495dSmrg void
3636ac495dSmrg __objc_protocols_add_protocol (const char *name, struct objc_protocol *object);
3736ac495dSmrg 
3836ac495dSmrg #endif /* not __objc_private_protocols_INCLUDE_GNU */
39