コード例 #1
0
#!/usr/bin/python2

import kplugs

try:
    kernel_func = r'''

def hello_world(string):
    buffer(string, 0x100)
    print "%s" % string
'''

    plug = kplugs.Plug(ip='127.0.0.1')
    hello_world = plug.compile(kernel_func)[0]
    hello_world("Hello World!")

finally:
    kplugs.release_kplugs()

コード例 #2
0
    pointer(ptr)
    array(ret, 2)
    if nonblock:
        ret[0] = recv(ptr, 1, 1)
    else:
        ret[0] = recv(ptr, 0, 1)

    ret[1] = ptr

def internal():
    pointer(ptr)
    recv(ptr) # will block
    print ("%s" % (ptr))
'''

    plug = kplugs.Plug()
    mem = kplugs.Mem()
    alloc, free, send, recv, internal = plug.compile(kernel_func)
    while True:
        data = input("> ").strip().split()
        if len(data) == 0:
            continue

        if data[0] == "exit":
            break

        elif data[0] == "send_user":
            nonblock = False
            if int(data[2]):
                nonblock = True
            recv.send(data[1], nonblock)